[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