13#include <QDialogButtonBox>
18#include "QDesktopServices"
23#include <kstandardguiitem.h>
31 brushPresetThumbnailWidget->setCutoutOverlayRect(QRect(0, 0, brushPresetThumbnailWidget->height(), brushPresetThumbnailWidget->width()));
36 connect(clearBrushPresetThumbnailButton, SIGNAL(clicked(
bool)), brushPresetThumbnailWidget, SLOT(fillDefault()));
43 KGuiItem::assign(
buttons->button(QDialogButtonBox::Save), KStandardGuiItem::save());
44 KGuiItem::assign(
buttons->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
70 setWindowTitle(i18n(
"Save New Brush Preset"));
71 newBrushNameTexField->setVisible(
true);
72 clearBrushPresetThumbnailButton->setVisible(
true);
73 loadImageIntoThumbnailButton->setVisible(
true);
74 currentBrushNameLabel->setVisible(
false);
77 QString name = preset->name();
78 if (preset && preset->resourceId() > -1) {
79 name.append(
" ").append(i18n(
"Copy"));
81 newBrushNameTexField->setText(name);
85 setWindowTitle(i18n(
"Save Brush Preset"));
88 currentBrushNameLabel->setText(preset->name());
91 newBrushNameTexField->setVisible(
false);
92 currentBrushNameLabel->setVisible(
true);
95 brushPresetThumbnailWidget->paintPresetImage();
105 dialog.setDefaultDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
106 QString filename = dialog.filename();
109 if (filename !=
"") {
111 const QImage imageToLoad(filename);
113 brushPresetThumbnailWidget->fillTransparent();
114 brushPresetThumbnailWidget->paintCustomImage(imageToLoad);
126 brushPresetThumbnailWidget->paintPresetImage();
133 dialog.setWindowTitle(i18n(
"Preset Icon Library"));
134 QVBoxLayout *layout =
new QVBoxLayout(&dialog);
137 layout->addWidget(libWidget);
138 QDialogButtonBox *
buttons =
new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
139 KGuiItem::assign(
buttons->button(QDialogButtonBox::Ok), KStandardGuiItem::ok());
140 KGuiItem::assign(
buttons->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
146 if (dialog.exec() == QDialog::Accepted) {
148 QImage presetImage = libWidget->
getImage();
149 brushPresetThumbnailWidget->paintCustomImage(presetImage);
166 QString presetFileName =
m_useNewBrushDialog ? newBrushNameTexField->text() : curPreset->name();
168 presetFileName = presetFileName.replace(
' ',
'_').replace(
'.',
'_');
169 QString extension = curPreset->defaultFileExtension();
172 if (!presetFileName.endsWith(extension)) {
173 presetFileName.append(extension);
180 newPreset->setResourceId(-1);
181 newPreset->setFilename(presetFileName);
182 newPreset->setName(
m_useNewBrushDialog ? newBrushNameTexField->text() : curPreset->name());
183 newPreset->setImage(brushPresetThumbnailWidget->cutoutOverlay());
184 newPreset->setValid(
true);
185 newPreset->setStorageLocation(
"");
195 curPreset->setName(
m_useNewBrushDialog ? newBrushNameTexField->text() : curPreset->name());
196 curPreset->setImage(brushPresetThumbnailWidget->cutoutOverlay());
198 curPreset->setFilename(presetFileName);
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisPaintOpPresetSP currentPreset() const
void updateFavoritePresets()
static QStringList supportedMimeTypes(Direction direction)
static bool addResourceWithUserInput(QWidget *widgetParent, KoResourceSP resource, QString storageLocation="")
static bool updateResourceWithUserInput(QWidget *widgetParent, KoResourceSP resource)
QString buttons(const T &ev)