diff --git a/krita/pics/svg/dark_python.svg b/krita/pics/svg/dark_python.svg
new file mode 100644
index 0000000000..72fbb7f2e9
--- /dev/null
+++ b/krita/pics/svg/dark_python.svg
@@ -0,0 +1,88 @@
+
+
diff --git a/krita/pics/svg/light_python.svg b/krita/pics/svg/light_python.svg
new file mode 100644
index 0000000000..9617a92a0c
--- /dev/null
+++ b/krita/pics/svg/light_python.svg
@@ -0,0 +1,92 @@
+
+
diff --git a/krita/pics/svg/svg-icons.qrc b/krita/pics/svg/svg-icons.qrc
index 13f02593e8..3efa01283a 100644
--- a/krita/pics/svg/svg-icons.qrc
+++ b/krita/pics/svg/svg-icons.qrc
@@ -1,159 +1,161 @@
broken-preset.svgzdark_addblankframe.svgdark_addcolor.svgdark_addduplicateframe.svgdark_deletekeyframe.svgdark_docker_lock_a.svgdark_docker_lock_b.svgdark_layer-locked.svgdark_layer-unlocked.svgdark_nextframe.svgdark_nextkeyframe.svgdark_lastframe.svgdark_prevkeyframe.svgdark_firstframe.svgdark_pallete_librarysvg.svgdark_passthrough-disabled.svgdark_passthrough-enabled.svgdark_prevframe.svgdark_selection-mode_ants.svgdark_selection-mode_invisible.svgdark_selection-mode_mask.svgdark_transparency-disabled.svgdark_transparency-enabled.svgdark_trim-to-image.svgdark_warning.svgdelete.svgzlayer-style-disabled.svglayer-style-enabled.svglight_addblankframe.svglight_addcolor.svglight_addduplicateframe.svglight_deletekeyframe.svglight_docker_lock_a.svglight_docker_lock_b.svglight_layer-locked.svglight_layer-unlocked.svglight_nextframe.svglight_pallete_library.svglight_passthrough-disabled.svgzlight_passthrough-enabled.svgzlight_prevframe.svglight_nextkeyframe.svglight_lastframe.svglight_prevkeyframe.svglight_firstframe.svglight_selection-mode_ants.svglight_selection-mode_invisible.svglight_selection-mode_mask.svglight_timeline_keyframe.svglight_transparency-disabled.svglight_transparency-enabled.svglight_trim-to-image.svglight_warning.svgpaintop_presets_disabled.svgzpaintop_settings_01.svgzselection-info.svgselection-mode_invisible.svgsvg-icons.qrctransparency-locked.svgtransparency-unlocked.svgworkspace-chooser.svglight_lazyframeOn.svglight_lazyframeOff.svgdark_lazyframeOn.svgdark_lazyframeOff.svgdark_mirror-view.svglight_mirror-view.svgdark_rotation-reset.svglight_rotation-reset.svglight_smoothing-basic.svglight_smoothing-no.svglight_smoothing-stabilizer.svglight_smoothing-weighted.svgdark_smoothing-basic.svgdark_smoothing-no.svgdark_smoothing-stabilizer.svgdark_smoothing-weighted.svglight_merge-layer-below.svgdark_merge-layer-below.svglight_rotate-canvas-left.svglight_rotate-canvas-right.svgdark_rotate-canvas-left.svgdark_rotate-canvas-right.svglight_gmic.svgdark_gmic.svglight_split-layer.svgdark_split-layer.svglight_color-to-alpha.svgdark_color-to-alpha.svglight_preset-switcher.svgdark_preset-switcher.svgdark_animation_play.svgdark_animation_stop.svgdark_dropframe.svgdark_droppedframes.svglight_animation_play.svglight_animation_stop.svglight_dropframe.svglight_droppedframes.svgdark_landscape.svgdark_portrait.svglight_landscape.svglight_portrait.svgdark_interpolation_constant.svgdark_interpolation_linear.svgdark_interpolation_bezier.svgdark_interpolation_sharp.svgdark_interpolation_smooth.svglight_interpolation_bezier.svglight_interpolation_constant.svglight_interpolation_linear.svglight_interpolation_sharp.svglight_interpolation_smooth.svgdark_audio-none.svgdark_audio-volume-high.svgdark_audio-volume-mute.svgdark_keyframe-add.svgdark_keyframe-remove.svgdark_zoom-fit.svgdark_zoom-horizontal.svgdark_zoom-vertical.svglight_audio-none.svglight_audio-volume-high.svglight_audio-volume-mute.svglight_keyframe-add.svglight_keyframe-remove.svglight_zoom-fit.svglight_zoom-horizontal.svglight_zoom-vertical.svgdark_showColoring.svgdark_showMarks.svgdark_showColoringOff.svgdark_showMarksOff.svgdark_updateColorize.svglight_showColoring.svglight_showMarks.svglight_showColoringOff.svglight_showMarksOff.svglight_updateColorize.svglight_wheel-light.svglight_wheel-rings.svglight_wheel-sectors.svgdark_wheel-light.svgdark_wheel-rings.svgdark_wheel-sectors.svgdark_infinity.svglight_infinity.svgdark_gamut-mask-on.svgdark_gamut-mask-off.svglight_gamut-mask-off.svglight_gamut-mask-on.svgdark_ratio.svglight_ratio.svgdark_bundle_archive.svglight_bundle_archive.svg
+ dark_python.svg
+ light_python.svg
diff --git a/plugins/extensions/pykrita/plugin/pyqtpluginsettings.cpp b/plugins/extensions/pykrita/plugin/pyqtpluginsettings.cpp
index d0e3e0b5c1..314ab30ba5 100644
--- a/plugins/extensions/pykrita/plugin/pyqtpluginsettings.cpp
+++ b/plugins/extensions/pykrita/plugin/pyqtpluginsettings.cpp
@@ -1,112 +1,112 @@
/*
* Copyright (c) 2014 Boudewijn Rempt
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "pyqtpluginsettings.h"
#include "ui_manager.h"
#include
#include
#include
#include
#include
#include
-#include
#include "kis_config.h"
+#include "kis_icon_utils.h"
#include "PythonPluginManager.h"
PyQtPluginSettings::PyQtPluginSettings(PythonPluginManager *pluginManager, QWidget *parent)
: KisPreferenceSet(parent)
, m_pluginManager(pluginManager)
, m_page(new Ui::ManagerPage)
{
m_page->setupUi(this);
QSortFilterProxyModel* const proxy_model = new QSortFilterProxyModel(this);
proxy_model->setSourceModel(pluginManager->model());
m_page->pluginsList->setModel(proxy_model);
m_page->pluginsList->resizeColumnToContents(0);
m_page->pluginsList->sortByColumn(0, Qt::AscendingOrder);
const bool is_enabled = bool(pluginManager);
const bool is_visible = !is_enabled;
m_page->errorLabel->setVisible(is_visible);
m_page->pluginsList->setEnabled(is_enabled);
m_page->textBrowser->setEnabled(is_enabled);
connect(m_page->pluginsList, SIGNAL(clicked(QModelIndex)), SLOT(updateManual(QModelIndex)));
}
PyQtPluginSettings::~PyQtPluginSettings()
{
delete m_page;
}
QString PyQtPluginSettings::id()
{
return QString("pykritapluginmanager");
}
QString PyQtPluginSettings::name()
{
return header();
}
QString PyQtPluginSettings::header()
{
return QString(i18n("Python Plugin Manager"));
}
QIcon PyQtPluginSettings::icon()
{
- return koIcon("applications-development");
+ return KisIconUtils::loadIcon("python");
}
void PyQtPluginSettings::savePreferences() const
{
Q_EMIT(settingsChanged());
}
void PyQtPluginSettings::loadPreferences()
{
}
void PyQtPluginSettings::loadDefaultPreferences()
{
}
void PyQtPluginSettings::updateManual(const QModelIndex &index)
{
QModelIndex unsortedIndex = static_cast(m_page->pluginsList->model())->mapToSource(index);
PythonPlugin *plugin = m_pluginManager->model()->plugin(unsortedIndex);
if (plugin && !plugin->manual().isEmpty()) {
QString manual = plugin->manual();
if (manual.startsWith("textBrowser->setHtml(manual);
}
else {
m_page->textBrowser->setText(manual);
}
}
else {
m_page->textBrowser->setHtml("