diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt
index ccbe871..7519eea 100644
--- a/libs/ui/CMakeLists.txt
+++ b/libs/ui/CMakeLists.txt
@@ -230,6 +230,7 @@ set(kritaui_LIB_SRCS
widgets/kis_tool_options_popup.cpp
widgets/kis_paintop_presets_chooser_popup.cpp
widgets/kis_paintop_presets_save.cpp
+ widgets/kis_paintop_preset_icon_library.cpp
widgets/kis_pattern_chooser.cc
widgets/kis_popup_button.cc
@@ -478,6 +479,7 @@ ki18n_wrap_ui(kritaui_LIB_SRCS
forms/wdgnodequerypatheditor.ui
forms/wdgpresetselectorstrip.ui
forms/wdgsavebrushpreset.ui
+ forms/wdgpreseticonlibrary.ui
forms/wdgdlgblacklistcleanup.ui
forms/wdgrectangleconstraints.ui
forms/wdgimportimagesequence.ui
diff --git a/libs/ui/forms/wdgsavebrushpreset.ui b/libs/ui/forms/wdgsavebrushpreset.ui
index fe91d5e..9182927 100644
--- a/libs/ui/forms/wdgsavebrushpreset.ui
+++ b/libs/ui/forms/wdgsavebrushpreset.ui
@@ -6,8 +6,8 @@
0
0
- 450
- 312
+ 457
+ 332
@@ -155,6 +155,13 @@
-
+
+
+ Load from Icon Library
+
+
+
+ -
Clear Thumbnail
diff --git a/libs/ui/widgets/kis_paintop_presets_save.cpp b/libs/ui/widgets/kis_paintop_presets_save.cpp
index 174b6a4..e1b78c1 100644
--- a/libs/ui/widgets/kis_paintop_presets_save.cpp
+++ b/libs/ui/widgets/kis_paintop_presets_save.cpp
@@ -21,12 +21,15 @@
#include
#include
#include
+#include
+#include
#include
#include "KisImportExportManager.h"
#include "QDesktopServices"
#include "kis_resource_server_provider.h"
+#include
KisPresetSaveWidget::KisPresetSaveWidget(QWidget * parent)
@@ -44,6 +47,7 @@ KisPresetSaveWidget::KisPresetSaveWidget(QWidget * parent)
connect(loadScratchPadThumbnailButton, SIGNAL(clicked(bool)), this, SLOT(loadScratchpadThumbnail()));
connect(loadExistingThumbnailButton, SIGNAL(clicked(bool)), this, SLOT(loadExistingThumbnail()));
+ connect(loadIconLibraryThumbnailButton, SIGNAL(clicked(bool)), this, SLOT(loadImageFromLibrary()));
connect(savePresetButton, SIGNAL(clicked(bool)), this, SLOT(savePreset()));
connect(cancelButton, SIGNAL(clicked(bool)), this, SLOT(close()));
@@ -126,6 +130,27 @@ void KisPresetSaveWidget::loadExistingThumbnail()
brushPresetThumbnailWidget->paintPresetImage();
}
+void KisPresetSaveWidget::loadImageFromLibrary()
+{
+ //add dialog code here.
+ QDialog *dlg = new QDialog(this);
+ QVBoxLayout *layout = new QVBoxLayout();
+ dlg->setLayout(layout);
+ KisPaintopPresetIconLibrary *libWidget = new KisPaintopPresetIconLibrary(dlg);
+ layout->addWidget(libWidget);
+ QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel, dlg);
+ connect(buttons, SIGNAL(accepted()), dlg, SLOT(accept()));
+ connect(buttons, SIGNAL(rejected()), dlg, SLOT(reject()));
+ layout->addWidget(buttons);
+
+ //if dialog accepted, get image.
+ if (dlg->exec()==QDialog::Accepted) {
+
+ QImage presetImage = libWidget->getImage();
+ brushPresetThumbnailWidget->paintCustomImage(presetImage);
+ }
+}
+
void KisPresetSaveWidget::setFavoriteResourceManager(KisFavoriteResourceManager * favManager)
{
m_favoriteResourceManager = favManager;
diff --git a/libs/ui/widgets/kis_paintop_presets_save.h b/libs/ui/widgets/kis_paintop_presets_save.h
index 5f03a95..a334a19 100644
--- a/libs/ui/widgets/kis_paintop_presets_save.h
+++ b/libs/ui/widgets/kis_paintop_presets_save.h
@@ -67,6 +67,7 @@ public Q_SLOTS:
void savePreset();
void loadScratchpadThumbnail();
void loadExistingThumbnail();
+ void loadImageFromLibrary();
private: