Author: jghali
Date: Sun Mar 10 23:18:29 2019
New Revision: 22881

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22881
Log:
#15564: Wrong color of guides inserted from guide manager colum/row tab

Modified:
    trunk/Scribus/scribus/guidemanagercore.cpp
    trunk/Scribus/scribus/ui/guidemanager.cpp
    trunk/Scribus/scribus/ui/guidemanager.h

Modified: trunk/Scribus/scribus/guidemanagercore.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22881&path=/trunk/Scribus/scribus/guidemanagercore.cpp
==============================================================================
--- trunk/Scribus/scribus/guidemanagercore.cpp  (original)
+++ trunk/Scribus/scribus/guidemanagercore.cpp  Sun Mar 10 23:18:29 2019
@@ -473,9 +473,10 @@
 void GuideManagerCore::drawPage(ScPainter *p, ScribusDoc *doc, double 
lineWidth)
 {
        Guides::iterator it;
+       const GuideManager* guideManager = 
ScCore->primaryMainWindow()->guidePalette;
        QColor color(doc->guidesPrefs().guideColor);
 
-       if (!m_page || ScCore->primaryMainWindow()->guidePalette->pageNr() < 0)
+       if (!m_page || guideManager->pageNr() < 0)
                return;
 
        // real painting margins including bleeds
@@ -494,24 +495,26 @@
 //             if ((*it) >= 0 && (*it) <= m_page->height())
 //                     p->drawLine(FPoint(0, (*it)), FPoint(m_page->width(), 
(*it)));
                p->drawLine(FPoint(horizontalFrom, (*it)), FPoint(horizontalTo, 
(*it)));
+
        // highlight selected standards
-       if (ScCore->primaryMainWindow()->guidePalette->currentIndex() == 0
-                  && m_page->pageNr() == 
ScCore->primaryMainWindow()->guidePalette->pageNr())
+       if (guideManager->currentIndex() == 0
+                  && m_page->pageNr() == guideManager->pageNr())
        {
                p->setPen(Qt::red, lineWidth, Qt::DashDotLine, Qt::FlatCap, 
Qt::MiterJoin);
-               Guides highlight = 
ScCore->primaryMainWindow()->guidePalette->selectedVerticals();
+               Guides highlight = guideManager->selectedVerticals();
                for (it = highlight.begin(); it != highlight.end(); ++it)
 //                     if ((*it) >= 0 && (*it) <= m_page->width())
 //                             p->drawLine(FPoint((*it), 0), FPoint((*it), 
m_page->height()));
                        p->drawLine(FPoint((*it), verticalFrom), FPoint((*it), 
verticalTo));
-               highlight = 
ScCore->primaryMainWindow()->guidePalette->selectedHorizontals();
+               highlight = guideManager->selectedHorizontals();
                for (it = highlight.begin(); it != highlight.end(); ++it)
 //                     if ((*it) >= 0 && (*it) <= m_page->height())
 //                             p->drawLine(FPoint(0, (*it)), 
FPoint(m_page->width(), (*it)));
                        p->drawLine(FPoint(horizontalFrom, (*it)), 
FPoint(horizontalTo, (*it)));
        }
+
        // all auto
-       if (ScCore->primaryMainWindow()->guidePalette->currentIndex() == 1)
+       if (guideManager->currentIndex() == 1 && guideManager->isVisible())
                color = Qt::red;
        else
                color = doc->guidesPrefs().guideColor;

Modified: trunk/Scribus/scribus/ui/guidemanager.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22881&path=/trunk/Scribus/scribus/ui/guidemanager.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/guidemanager.cpp   (original)
+++ trunk/Scribus/scribus/ui/guidemanager.cpp   Sun Mar 10 23:18:29 2019
@@ -103,6 +103,8 @@
 
        connect(horizontalModel, SIGNAL(valueChanged()), this, 
SLOT(horizontalModel_valueChanged()));
        connect(verticalModel, SIGNAL(valueChanged()), this, 
SLOT(verticalModel_valueChanged()));
+
+       connect(tabWidget, SIGNAL(currentChanged(int)), this, 
SLOT(tabWidget_currentChanged(int)));
 }
 
 GuideManager::~GuideManager()
@@ -133,6 +135,12 @@
        if (!m_Doc)
                currentPage = nullptr;
        tabWidget->setEnabled(doc != nullptr);
+}
+
+void GuideManager::setVisible(bool visible)
+{
+       ScrPaletteBase::setVisible(visible);
+       drawGuides();
 }
 
 void GuideManager::setupPage(bool storeValues)
@@ -426,7 +434,7 @@
        m_Doc->changed();
 }
 
-void GuideManager::tabWidget_currentChanged(QWidget *)
+void GuideManager::tabWidget_currentChanged(int)
 {
        drawGuides();
        if (tabWidget->currentIndex() == 1)
@@ -436,7 +444,7 @@
        }
 }
 
-Guides GuideManager::selectedHorizontals()
+Guides GuideManager::selectedHorizontals() const
 {
        const QModelIndexList selectedIndexes = 
horizontalView->selectionModel()->selectedIndexes();
        Guides ret;
@@ -448,7 +456,7 @@
        return ret;
 }
 
-Guides GuideManager::selectedVerticals()
+Guides GuideManager::selectedVerticals() const
 {
        const QModelIndexList selectedIndexes = 
verticalView->selectionModel()->selectedIndexes();
        Guides ret;

Modified: trunk/Scribus/scribus/ui/guidemanager.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22881&path=/trunk/Scribus/scribus/ui/guidemanager.h
==============================================================================
--- trunk/Scribus/scribus/ui/guidemanager.h     (original)
+++ trunk/Scribus/scribus/ui/guidemanager.h     Sun Mar 10 23:18:29 2019
@@ -40,6 +40,9 @@
        /*! \brief Set the doc fo the guidemanager to work on. */
        void setDoc(ScribusDoc* doc);
 
+       /*! \brief Reimplement ScrPaletteBase::setVisible() */
+       virtual void setVisible(bool visible);
+
        /*! \brief Set the widgets on the page change.
        It has to be called on every page to page transition */
        void setupPage(bool storeValues = true);
@@ -53,18 +56,18 @@
        /*! \brief Get selected standard guides from GUI list.
        Used in highlight painting.
        \retval Guides a list with double values */
-       Guides selectedHorizontals();
+       Guides selectedHorizontals() const;
        /*! \brief Get selected standard guides from GUI list.
        Used in highlight painting.
        \retval Guides a list with double values */
-       Guides selectedVerticals();
+       Guides selectedVerticals() const;
 
        /*! \brief check the current page number to prevent drawing
        marks on the others pages. See GuideManagerCore::drawPage.
        \retval int page no */
        int pageNr() const { return ((currentPage) ? currentPage->pageNr() : 
-1); }
 
-       int currentIndex() { return tabWidget->currentIndex(); }
+       int currentIndex() const { return tabWidget->currentIndex(); }
 
        void setGuideLock(bool guidesLocked);
        
@@ -155,7 +158,7 @@
        void verticalPageAutoButton_toggled(bool);
        void verticalMarginsAutoButton_toggled(bool);
        void verticalSelectionAutoButton_toggled(bool);
-       void tabWidget_currentChanged( QWidget * );
+       void tabWidget_currentChanged(int);
        void deletePageButton_clicked();
        void deleteAllGuides_clicked();
 };


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to