36 , m_isCreatingPresetFromScratch(true)
45 m_widget->reloadPresetButton->setToolTip(i18n(
"Reload the preset"));
47 m_widget->dirtyPresetIndicatorButton->setToolTip(i18n(
"The settings for this preset have changed from their default."));
53 m_widget->txtEditor->registerExtraVariable(
"$u", i18nc(
"SeExpr variable",
"Normalized X axis coordinate of the image from its top-left corner"));
54 m_widget->txtEditor->registerExtraVariable(
"$v", i18nc(
"SeExpr variable",
"Normalized Y axis coordinate of the image from its top-left corner"));
55 m_widget->txtEditor->registerExtraVariable(
"$w", i18nc(
"SeExpr variable",
"Image width"));
56 m_widget->txtEditor->registerExtraVariable(
"$h", i18nc(
"SeExpr variable",
"Image height"));
58 m_widget->txtEditor->updateCompleter();
60 m_widget->txtEditor->exprTe->setFont(QFontDatabase().systemFont(QFontDatabase::FixedFont));
61 const QFontMetricsF fntTe(
m_widget->txtEditor->exprTe->fontMetrics());
62 m_widget->txtEditor->exprTe->setTabStopDistance(fntTe.horizontalAdvance(
" "));
67 connect(
m_widget->renameBrushPresetButton, SIGNAL(clicked(
bool)),
69 connect(
m_widget->cancelBrushNameUpdateButton, SIGNAL(clicked(
bool)),
71 connect(
m_widget->updateBrushNameButton, SIGNAL(clicked(
bool)),
73 connect(
m_widget->renameBrushNameTextField, SIGNAL(returnPressed()),
76 connect(
m_widget->saveBrushPresetButton, SIGNAL(clicked()),
78 connect(
m_widget->saveNewBrushPresetButton, SIGNAL(clicked()),
81 connect(
m_widget->reloadPresetButton, SIGNAL(clicked()),
84 connect(
m_widget->txtEditor, SIGNAL(apply()),
86 connect(
m_widget->txtEditor, SIGNAL(preview()),
95 m_widget->splitter->restoreState(
KisConfig(
true).readEntry(
"seExpr/splitLayoutState", QByteArray()));
96 m_widget->tabWidget->setCurrentIndex(
KisConfig(
true).readEntry(
"seExpr/selectedTab", -1));
162 QString formattedBrushName =
m_currentPreset->name().replace(
"_",
" ");
163 m_widget->currentBrushNameLabel->setText(formattedBrushName);
164 m_widget->renameBrushNameTextField->setText(formattedBrushName);
166 QSize thumbSize = QSize(55, 55)*devicePixelRatioF();
167 QPixmap thumbnail = QPixmap::fromImage(
m_currentPreset->image().scaled(thumbSize, Qt::KeepAspectRatio, Qt::SmoothTransformation));
168 thumbnail.setDevicePixelRatio(devicePixelRatioF());
169 m_widget->presetThumbnailicon->setPixmap(thumbnail);
191 m_widget->renameBrushNameTextField->setVisible(isRenaming);
192 m_widget->updateBrushNameButton->setVisible(isRenaming);
193 m_widget->cancelBrushNameUpdateButton->setVisible(isRenaming);
196 m_widget->currentBrushNameLabel->setVisible(!isRenaming);
197 m_widget->renameBrushPresetButton->setVisible(!isRenaming);
198 m_widget->saveBrushPresetButton->setEnabled(!isRenaming);
199 m_widget->saveBrushPresetButton->setVisible(!isRenaming);
200 m_widget->saveNewBrushPresetButton->setEnabled(!isRenaming);
201 m_widget->saveNewBrushPresetButton->setVisible(!isRenaming);
222 QString renamedPresetName =
m_widget->renameBrushNameTextField->text();
225 if (currentPresetResourceId < 0) {
239 properCleanResource.dynamicCast<
KisSeExprScript>()->setScript(prevScript);
254 m_widget->presetThumbnailicon->setVisible(
false);
255 m_widget->dirtyPresetIndicatorButton->setVisible(
false);
256 m_widget->reloadPresetButton->setVisible(
false);
257 m_widget->saveBrushPresetButton->setVisible(
false);
258 m_widget->saveNewBrushPresetButton->setEnabled(
false);
259 m_widget->renameBrushPresetButton->setVisible(
false);
268 m_widget->presetThumbnailicon->setVisible(
true);
270 m_widget->dirtyPresetIndicatorButton->setVisible(isPresetDirty);
271 m_widget->reloadPresetButton->setVisible(isPresetDirty);
272 m_widget->saveBrushPresetButton->setEnabled(isPresetDirty);
273 m_widget->saveNewBrushPresetButton->setEnabled(
true);
274 m_widget->renameBrushPresetButton->setVisible(
true);
330 QString script =
m_widget->txtEditor->getExpr();
333 expression.setDesiredReturnType(KSeExpr::ExprType().FP(3));
342 if (!expression.isValid()) {
343 const auto &errors = expression.getErrors();
345 for (
const auto &occurrence : errors) {
346 QString message = ErrorMessages::message(occurrence.error);
347 for (
const auto &arg : occurrence.ids) {
348 message = message.arg(QString::fromStdString(arg));
350 m_widget->txtEditor->addError(occurrence.startPos, occurrence.endPos, message);
353 m_widget->saveBrushPresetButton->setEnabled(
false);
354 m_widget->saveNewBrushPresetButton->setEnabled(
false);
357 else if (!expression.returnType().isFP(3)) {
358 QString type = QString::fromStdString(expression.returnType().toString());
359 m_widget->txtEditor->addError(1, 1, tr2i18n(
"Expected this script to output color, got '%1'").arg(type));
361 m_widget->saveBrushPresetButton->setEnabled(
false);
362 m_widget->saveNewBrushPresetButton->setEnabled(
false);
376 m_widget->saveNewBrushPresetButton->setEnabled(
true);
KRITAWIDGETUTILS_EXPORT void restoreState(QWidget *parent, const QString &dialogName, const QMap< QString, QVariant > &defaults=QMap< QString, QVariant >())
restoreState restores the state of the dialog