[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [krita/petrovic/theme-update] libs/ui: fix icons updating with theme change for gradient popup on to
From:       Scott Petrovic <null () kde ! org>
Date:       2018-01-01 17:53:41
Message-ID: E1eW4HN-0004q6-DA () code ! kde ! org
[Download RAW message or body]

Git commit 951aad90d43c10f2f16886f89211af6c4bf16d8f by Scott Petrovic.
Committed on 01/01/2018 at 17:44.
Pushed by scottpetrovic into branch 'petrovic/theme-update'.

fix icons updating with theme change for gradient popup on toolbar

M  +2    -0    libs/ui/kis_control_frame.cpp
M  +21   -10   libs/ui/widgets/kis_gradient_chooser.cc
M  +6    -0    libs/ui/widgets/kis_gradient_chooser.h

https://commits.kde.org/krita/951aad90d43c10f2f16886f89211af6c4bf16d8f

diff --git a/libs/ui/kis_control_frame.cpp b/libs/ui/kis_control_frame.cpp
index 3fc4fcb33f9..527aa10a6cc 100644
--- a/libs/ui/kis_control_frame.cpp
+++ b/libs/ui/kis_control_frame.cpp
@@ -228,6 +228,8 @@ void KisControlFrame::createGradientsChooser(KisViewManager * \
view)  connect(m_gradientChooser, SIGNAL(resourceSelected(KoResource*)),
             view->resourceProvider(), SLOT(slotGradientActivated(KoResource*)));
 
+    connect (view->mainWindow(), SIGNAL(themeChanged()), m_gradientChooser, \
SLOT(slotUpdateIcons())); +
     connect(view->resourceProvider(), \
SIGNAL(sigGradientChanged(KoAbstractGradient*)),  this, \
SLOT(slotSetGradient(KoAbstractGradient*)));  
diff --git a/libs/ui/widgets/kis_gradient_chooser.cc \
b/libs/ui/widgets/kis_gradient_chooser.cc index d912e2117be..e62c9d0e153 100644
--- a/libs/ui/widgets/kis_gradient_chooser.cc
+++ b/libs/ui/widgets/kis_gradient_chooser.cc
@@ -72,6 +72,7 @@ KisGradientChooser::KisGradientChooser(QWidget *parent, const char \
                *name)
     KoResourceServer<KoAbstractGradient> * rserver = \
                KoResourceServerProvider::instance()->gradientServer(false);
     QSharedPointer<KoAbstractResourceServerAdapter> adapter (new \
KoResourceServerAdapter<KoAbstractGradient>(rserver));  m_itemChooser = new \
KoResourceItemChooser(adapter, this); +
     m_itemChooser->showTaggingBar(true);
     m_itemChooser->setFixedSize(250, 250);
     m_itemChooser->setColumnCount(1);
@@ -85,14 +86,14 @@ KisGradientChooser::KisGradientChooser(QWidget *parent, const \
char *name)  QWidget* buttonWidget = new QWidget(this);
     QHBoxLayout* buttonLayout = new QHBoxLayout(buttonWidget);
 
-    QToolButton* addGradient = new QToolButton(this);
-    addGradient->setIcon(KisIconUtils::loadIcon("list-add"));
-    addGradient->setText(i18n("Add..."));
-    addGradient->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
-    connect(addGradient, SIGNAL(clicked()), this, SLOT(addStopGradient()));
-    buttonLayout->addWidget(addGradient);
+    m_addGradient = new QToolButton(this);
+
+    m_addGradient->setText(i18n("Add..."));
+    m_addGradient->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+    connect(m_addGradient, SIGNAL(clicked()), this, SLOT(addStopGradient()));
+    buttonLayout->addWidget(m_addGradient);
 
-    QMenu *menuAddGradient = new QMenu(addGradient);
+    QMenu *menuAddGradient = new QMenu(m_addGradient);
 
     QAction* addStopGradient = new QAction(i18n("Stop gradient"), this);
     connect(addStopGradient, SIGNAL(triggered(bool)), this, \
SLOT(addStopGradient())); @@ -102,10 +103,11 @@ \
                KisGradientChooser::KisGradientChooser(QWidget *parent, const char \
                *name)
     connect(addSegmentedGradient, SIGNAL(triggered(bool)), this, \
SLOT(addSegmentedGradient()));  menuAddGradient->addAction(addSegmentedGradient);
 
-    addGradient->setMenu(menuAddGradient);
-    addGradient->setPopupMode(QToolButton::MenuButtonPopup);
+    m_addGradient->setMenu(menuAddGradient);
+    m_addGradient->setPopupMode(QToolButton::MenuButtonPopup);
 
-    m_editGradient = new QPushButton(KisIconUtils::loadIcon("configure"), \
i18n("Edit...")); +    m_editGradient = new QPushButton();
+    m_editGradient->setText(i18n("Edit..."));
     m_editGradient->setEnabled(false);
     connect(m_editGradient, SIGNAL(clicked()), this, SLOT(editGradient()));
     buttonLayout->addWidget(m_editGradient);
@@ -117,6 +119,7 @@ KisGradientChooser::KisGradientChooser(QWidget *parent, const \
char *name)  mainLayout->addWidget(m_itemChooser, 10);
     mainLayout->addWidget(buttonWidget);
 
+    slotUpdateIcons();
     setLayout(mainLayout);
 }
 
@@ -141,6 +144,14 @@ void KisGradientChooser::setCurrentItem(int row, int column)
         update(currentResource());
 }
 
+void KisGradientChooser::slotUpdateIcons()
+{
+    if (m_addGradient && m_editGradient) {
+        m_addGradient->setIcon(KisIconUtils::loadIcon("list-add"));
+        m_editGradient->setIcon(KisIconUtils::loadIcon("configure"));
+    }
+}
+
 void KisGradientChooser::update(KoResource * resource)
 {
     KoAbstractGradient *gradient = static_cast<KoAbstractGradient *>(resource);
diff --git a/libs/ui/widgets/kis_gradient_chooser.h \
b/libs/ui/widgets/kis_gradient_chooser.h index abef8470547..d86da361b9d 100644
--- a/libs/ui/widgets/kis_gradient_chooser.h
+++ b/libs/ui/widgets/kis_gradient_chooser.h
@@ -21,6 +21,7 @@
 #include <KoDialog.h>
 
 #include <QFrame>
+#include <QToolButton>
 #include <kritaui_export.h>
 
 class KoAbstractGradient;
@@ -67,6 +68,9 @@ Q_SIGNALS:
     /// Emitted when a resource was selected
     void resourceSelected(KoResource * resource);
 
+public Q_SLOTS:
+    void slotUpdateIcons();
+
 private Q_SLOTS:
     virtual void update(KoResource * resource);
     void addStopGradient();
@@ -78,6 +82,8 @@ private:
 private:
     QLabel *m_lbName;
     KoResourceItemChooser * m_itemChooser;
+
+    QToolButton* m_addGradient;
     QPushButton* m_editGradient;
 };
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic