|
|
|
@@ -1,8 +1,11 @@
|
|
|
|
|
Krita 5 plugin support
|
|
|
|
|
From c4b6796080d5c0f76b64fee06a38d285ab462a75 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Christophe Marin <christophe@krop.fr>
|
|
|
|
|
Date: Fri, 28 Jun 2024 09:46:58 +0200
|
|
|
|
|
Subject: [PATCH] Krita 5 plugin support
|
|
|
|
|
|
|
|
|
|
Origin: https://github.com/amyspark/gmic
|
|
|
|
|
|
|
|
|
|
Rebased for gmic 3.3.3
|
|
|
|
|
|
|
|
|
|
Rebased for gmic 3.4.0
|
|
|
|
|
---
|
|
|
|
|
gmic-qt/CMakeLists.txt | 68 ++++-
|
|
|
|
|
gmic-qt/gmic_krita_qt.desktop | 9 +
|
|
|
|
@@ -27,13 +30,13 @@ Rebased for gmic 3.3.3
|
|
|
|
|
gmic-qt/src/MainWindow.cpp | 52 +++-
|
|
|
|
|
gmic-qt/src/MainWindow.h | 2 +
|
|
|
|
|
gmic-qt/src/Settings.cpp | 10 +-
|
|
|
|
|
gmic-qt/src/Tags.cpp | 5 +-
|
|
|
|
|
gmic-qt/src/Tags.cpp | 6 +-
|
|
|
|
|
gmic-qt/src/Widgets/InOutPanel.cpp | 2 +
|
|
|
|
|
gmic-qt/src/Widgets/InOutPanel.h | 2 +
|
|
|
|
|
gmic-qt/src/Widgets/ProgressInfoWindow.cpp | 4 +
|
|
|
|
|
gmic-qt/src/Widgets/ProgressInfoWindow.h | 2 +
|
|
|
|
|
gmic-qt/ui/dialogsettings.ui | 2 +-
|
|
|
|
|
29 files changed, 715 insertions(+), 32 deletions(-)
|
|
|
|
|
29 files changed, 716 insertions(+), 32 deletions(-)
|
|
|
|
|
create mode 100644 gmic-qt/gmic_krita_qt.desktop
|
|
|
|
|
create mode 100644 gmic-qt/src/Host/KritaPlugin/gmicqttoolplugin.cpp
|
|
|
|
|
create mode 100644 gmic-qt/src/Host/KritaPlugin/gmicqttoolplugin.h
|
|
|
|
@@ -246,10 +249,10 @@ index 6c1e6b9..29328c4 100644
|
|
|
|
|
Settings::save(settings);
|
|
|
|
|
QDialog::done(r);
|
|
|
|
|
diff --git a/gmic-qt/src/FilterParameters/BoolParameter.cpp b/gmic-qt/src/FilterParameters/BoolParameter.cpp
|
|
|
|
|
index 8a09de7..90c5eed 100644
|
|
|
|
|
index ffa324e..a9dfb04 100644
|
|
|
|
|
--- a/gmic-qt/src/FilterParameters/BoolParameter.cpp
|
|
|
|
|
+++ b/gmic-qt/src/FilterParameters/BoolParameter.cpp
|
|
|
|
|
@@ -63,12 +63,14 @@ bool BoolParameter::addTo(QWidget * widget, int row)
|
|
|
|
|
@@ -64,12 +64,14 @@ bool BoolParameter::addTo(QWidget * widget, int row)
|
|
|
|
|
_checkBox = new QCheckBox(widget);
|
|
|
|
|
_checkBox->setChecked(_value);
|
|
|
|
|
_label = new QLabel(_name, widget);
|
|
|
|
@@ -265,10 +268,10 @@ index 8a09de7..90c5eed 100644
|
|
|
|
|
_grid->addWidget(_checkBox, row, 1, 1, 2);
|
|
|
|
|
connectCheckBox();
|
|
|
|
|
diff --git a/gmic-qt/src/FilterParameters/FloatParameter.cpp b/gmic-qt/src/FilterParameters/FloatParameter.cpp
|
|
|
|
|
index 01a01c6..d9524e4 100644
|
|
|
|
|
index fb271f0..c8aa32b 100644
|
|
|
|
|
--- a/gmic-qt/src/FilterParameters/FloatParameter.cpp
|
|
|
|
|
+++ b/gmic-qt/src/FilterParameters/FloatParameter.cpp
|
|
|
|
|
@@ -72,13 +72,14 @@ bool FloatParameter::addTo(QWidget * widget, int row)
|
|
|
|
|
@@ -73,13 +73,14 @@ bool FloatParameter::addTo(QWidget * widget, int row)
|
|
|
|
|
_slider->setMinimumWidth(SLIDER_MIN_WIDTH);
|
|
|
|
|
_slider->setRange(0, SLIDER_MAX_RANGE);
|
|
|
|
|
_slider->setValue(static_cast<int>(SLIDER_MAX_RANGE * (_value - _min) / (_max - _min)));
|
|
|
|
@@ -285,10 +288,10 @@ index 01a01c6..d9524e4 100644
|
|
|
|
|
_spinBox->setSingleStep(double(_max - _min) / 100.0);
|
|
|
|
|
_spinBox->setValue((double)_value);
|
|
|
|
|
diff --git a/gmic-qt/src/FilterParameters/IntParameter.cpp b/gmic-qt/src/FilterParameters/IntParameter.cpp
|
|
|
|
|
index 0bdcba7..2a657c0 100644
|
|
|
|
|
index 2af87cb..bc0f77c 100644
|
|
|
|
|
--- a/gmic-qt/src/FilterParameters/IntParameter.cpp
|
|
|
|
|
+++ b/gmic-qt/src/FilterParameters/IntParameter.cpp
|
|
|
|
|
@@ -80,12 +80,14 @@ bool IntParameter::addTo(QWidget * widget, int row)
|
|
|
|
|
@@ -81,12 +81,14 @@ bool IntParameter::addTo(QWidget * widget, int row)
|
|
|
|
|
|
|
|
|
|
_spinBox = new CustomSpinBox(widget, _min, _max);
|
|
|
|
|
_spinBox->setValue(_value);
|
|
|
|
@@ -388,10 +391,10 @@ index b19a38d..9ab3e3b 100644
|
|
|
|
|
+
|
|
|
|
|
#endif // GMIC_QT_GLOBALS_H
|
|
|
|
|
diff --git a/gmic-qt/src/GmicProcessor.cpp b/gmic-qt/src/GmicProcessor.cpp
|
|
|
|
|
index 1d54b97..fd46545 100644
|
|
|
|
|
index 80c93c1..0019a1f 100644
|
|
|
|
|
--- a/gmic-qt/src/GmicProcessor.cpp
|
|
|
|
|
+++ b/gmic-qt/src/GmicProcessor.cpp
|
|
|
|
|
@@ -208,6 +208,11 @@ bool GmicProcessor::isIdle() const
|
|
|
|
|
@@ -209,6 +209,11 @@ bool GmicProcessor::isIdle() const
|
|
|
|
|
return !_filterThread;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -404,10 +407,10 @@ index 1d54b97..fd46545 100644
|
|
|
|
|
{
|
|
|
|
|
if (_filterThread) {
|
|
|
|
|
diff --git a/gmic-qt/src/GmicProcessor.h b/gmic-qt/src/GmicProcessor.h
|
|
|
|
|
index 89875ca..d1d58b8 100644
|
|
|
|
|
index cecdd1a..e85cb57 100644
|
|
|
|
|
--- a/gmic-qt/src/GmicProcessor.h
|
|
|
|
|
+++ b/gmic-qt/src/GmicProcessor.h
|
|
|
|
|
@@ -93,6 +93,7 @@ public:
|
|
|
|
|
@@ -94,6 +94,7 @@ public:
|
|
|
|
|
bool isProcessingFullImage() const;
|
|
|
|
|
bool isProcessing() const;
|
|
|
|
|
bool isIdle() const;
|
|
|
|
@@ -1062,10 +1065,10 @@ index 7e74667..0c92a47 100644
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
diff --git a/gmic-qt/src/MainWindow.cpp b/gmic-qt/src/MainWindow.cpp
|
|
|
|
|
index 14ecacc..52642cc 100644
|
|
|
|
|
index d48e095..008d955 100644
|
|
|
|
|
--- a/gmic-qt/src/MainWindow.cpp
|
|
|
|
|
+++ b/gmic-qt/src/MainWindow.cpp
|
|
|
|
|
@@ -188,8 +188,12 @@ MainWindow::MainWindow(QWidget * parent) : QMainWindow(parent), ui(new Ui::MainW
|
|
|
|
|
@@ -187,8 +187,12 @@ MainWindow::MainWindow(QWidget * parent) : QMainWindow(parent), ui(new Ui::MainW
|
|
|
|
|
updateShortcutF5->setContext(Qt::ApplicationShortcut);
|
|
|
|
|
QShortcut * updateShortcutCtrlR = new QShortcut(QKeySequence("Ctrl+R"), this);
|
|
|
|
|
updateShortcutCtrlR->setContext(Qt::ApplicationShortcut);
|
|
|
|
@@ -1141,7 +1144,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -695,7 +705,9 @@ void MainWindow::onPreviewUpdateRequested(bool synchronous)
|
|
|
|
|
@@ -696,7 +706,9 @@ void MainWindow::onPreviewUpdateRequested(bool synchronous, bool randomized)
|
|
|
|
|
ui->previewWidget->invalidateSavedPreview();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@@ -1151,7 +1154,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
_processor.init();
|
|
|
|
|
GmicProcessor::FilterContext context;
|
|
|
|
|
if (!ui->cbPreview->isChecked()) {
|
|
|
|
|
@@ -762,7 +774,9 @@ void MainWindow::onPreviewImageAvailable()
|
|
|
|
|
@@ -764,7 +776,9 @@ void MainWindow::onPreviewImageAvailable()
|
|
|
|
|
}
|
|
|
|
|
ui->previewWidget->setPreviewImage(_processor.previewImage());
|
|
|
|
|
ui->previewWidget->enableRightClick();
|
|
|
|
@@ -1161,7 +1164,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::onGUIDynamismRunDone()
|
|
|
|
|
@@ -777,9 +791,19 @@ void MainWindow::onGUIDynamismRunDone()
|
|
|
|
|
@@ -779,9 +793,19 @@ void MainWindow::onGUIDynamismRunDone()
|
|
|
|
|
|
|
|
|
|
void MainWindow::onPreviewError(const QString & message)
|
|
|
|
|
{
|
|
|
|
@@ -1181,7 +1184,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::onParametersChanged()
|
|
|
|
|
@@ -861,12 +885,16 @@ void MainWindow::onVeryFirstShowEvent()
|
|
|
|
|
@@ -864,12 +888,16 @@ void MainWindow::onVeryFirstShowEvent()
|
|
|
|
|
Updater::setOutputMessageMode(Settings::outputMessageMode());
|
|
|
|
|
int ageLimit;
|
|
|
|
|
{
|
|
|
|
@@ -1200,7 +1203,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::setZoomConstraint()
|
|
|
|
|
@@ -1001,7 +1029,7 @@ void MainWindow::saveCurrentParameters()
|
|
|
|
|
@@ -1019,7 +1047,7 @@ void MainWindow::saveCurrentParameters()
|
|
|
|
|
|
|
|
|
|
void MainWindow::saveSettings()
|
|
|
|
|
{
|
|
|
|
@@ -1209,7 +1212,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
|
|
|
|
|
_filtersPresenter->saveSettings(settings);
|
|
|
|
|
|
|
|
|
|
@@ -1043,7 +1071,7 @@ void MainWindow::saveSettings()
|
|
|
|
|
@@ -1061,7 +1089,7 @@ void MainWindow::saveSettings()
|
|
|
|
|
|
|
|
|
|
void MainWindow::loadSettings()
|
|
|
|
|
{
|
|
|
|
@@ -1218,7 +1221,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
_filtersPresenter->loadSettings(settings);
|
|
|
|
|
_lastExecutionOK = settings.value("LastExecution/ExitedNormally", true).toBool();
|
|
|
|
|
_newSession = host_app_pid() != settings.value("LastExecution/HostApplicationID", 0).toUInt();
|
|
|
|
|
@@ -1058,9 +1086,11 @@ void MainWindow::loadSettings()
|
|
|
|
|
@@ -1076,9 +1104,11 @@ void MainWindow::loadSettings()
|
|
|
|
|
if (settings.value("Config/PreviewPosition", "Left").toString() == "Left") {
|
|
|
|
|
setPreviewPosition(PreviewPosition::Left);
|
|
|
|
|
}
|
|
|
|
@@ -1230,7 +1233,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
if (!Settings::visibleLogos()) {
|
|
|
|
|
ui->logosLabel->hide();
|
|
|
|
|
}
|
|
|
|
|
@@ -1104,7 +1134,7 @@ void MainWindow::loadSettings()
|
|
|
|
|
@@ -1122,7 +1152,7 @@ void MainWindow::loadSettings()
|
|
|
|
|
ui->splitter->setSizes(sizes);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1239,7 +1242,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position)
|
|
|
|
|
@@ -1166,7 +1196,7 @@ void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position)
|
|
|
|
|
@@ -1184,7 +1214,7 @@ void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position)
|
|
|
|
|
void MainWindow::adjustVerticalSplitter()
|
|
|
|
|
{
|
|
|
|
|
QList<int> sizes;
|
|
|
|
@@ -1248,7 +1251,7 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
sizes.push_back(settings.value(QString("Config/ParamsVerticalSplitterSizeTop"), -1).toInt());
|
|
|
|
|
sizes.push_back(settings.value(QString("Config/ParamsVerticalSplitterSizeBottom"), -1).toInt());
|
|
|
|
|
const int splitterHeight = ui->verticalSplitter->height();
|
|
|
|
|
@@ -1294,17 +1324,19 @@ bool MainWindow::askUserForGTKFavesImport()
|
|
|
|
|
@@ -1315,17 +1345,19 @@ bool MainWindow::askUserForGTKFavesImport()
|
|
|
|
|
QMessageBox::Yes | QMessageBox::No, this);
|
|
|
|
|
messageBox.setDefaultButton(QMessageBox::Yes);
|
|
|
|
|
QCheckBox * cb = new QCheckBox(tr("Don't ask again"));
|
|
|
|
@@ -1270,10 +1273,10 @@ index 14ecacc..52642cc 100644
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
diff --git a/gmic-qt/src/MainWindow.h b/gmic-qt/src/MainWindow.h
|
|
|
|
|
index 4f436f9..bccd72c 100644
|
|
|
|
|
index e7ed69d..ea16e23 100644
|
|
|
|
|
--- a/gmic-qt/src/MainWindow.h
|
|
|
|
|
+++ b/gmic-qt/src/MainWindow.h
|
|
|
|
|
@@ -71,7 +71,9 @@ public:
|
|
|
|
|
@@ -70,7 +70,9 @@ public:
|
|
|
|
|
explicit MainWindow(QWidget * parent = nullptr);
|
|
|
|
|
~MainWindow() override;
|
|
|
|
|
void updateFiltersFromSources(int ageLimit, bool useNetwork);
|
|
|
|
@@ -1284,10 +1287,10 @@ index 4f436f9..bccd72c 100644
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
diff --git a/gmic-qt/src/Settings.cpp b/gmic-qt/src/Settings.cpp
|
|
|
|
|
index c50020c..08c1c89 100644
|
|
|
|
|
index 4764218..6e91e78 100644
|
|
|
|
|
--- a/gmic-qt/src/Settings.cpp
|
|
|
|
|
+++ b/gmic-qt/src/Settings.cpp
|
|
|
|
|
@@ -75,7 +75,7 @@ QString Settings::NegativeSign('-');
|
|
|
|
|
@@ -77,7 +77,7 @@ QString Settings::NegativeSign('-');
|
|
|
|
|
|
|
|
|
|
void Settings::load(UserInterfaceMode userInterfaceMode)
|
|
|
|
|
{
|
|
|
|
@@ -1296,7 +1299,7 @@ index c50020c..08c1c89 100644
|
|
|
|
|
_visibleLogos = settings.value("LogosAreVisible", true).toBool();
|
|
|
|
|
_darkThemeEnabled = settings.value(DARK_THEME_KEY, GmicQtHost::DarkThemeIsDefault).toBool();
|
|
|
|
|
_languageCode = settings.value(LANGUAGE_CODE_KEY, QString()).toString();
|
|
|
|
|
@@ -129,7 +129,11 @@ void Settings::setVisibleLogos(bool on)
|
|
|
|
|
@@ -131,7 +131,11 @@ void Settings::setVisibleLogos(bool on)
|
|
|
|
|
|
|
|
|
|
bool Settings::darkThemeEnabled()
|
|
|
|
|
{
|
|
|
|
@@ -1309,7 +1312,7 @@ index c50020c..08c1c89 100644
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Settings::setDarkThemeEnabled(bool on)
|
|
|
|
|
@@ -271,8 +275,10 @@ void Settings::save(QSettings & settings)
|
|
|
|
|
@@ -273,8 +277,10 @@ void Settings::save(QSettings & settings)
|
|
|
|
|
{
|
|
|
|
|
removeObsoleteKeys(settings);
|
|
|
|
|
settings.setValue("LogosAreVisible", _visibleLogos);
|
|
|
|
@@ -1321,10 +1324,18 @@ index c50020c..08c1c89 100644
|
|
|
|
|
|
|
|
|
|
settings.setValue("Config/NativeColorDialogs", _nativeColorDialogs);
|
|
|
|
|
diff --git a/gmic-qt/src/Tags.cpp b/gmic-qt/src/Tags.cpp
|
|
|
|
|
index fae4d99..6b721ce 100644
|
|
|
|
|
index fae4d99..d3140e0 100644
|
|
|
|
|
--- a/gmic-qt/src/Tags.cpp
|
|
|
|
|
+++ b/gmic-qt/src/Tags.cpp
|
|
|
|
|
@@ -148,7 +148,10 @@ QAction * TagAssets::action(QObject * parent, TagColor color, IconMark mark)
|
|
|
|
|
@@ -26,6 +26,7 @@
|
|
|
|
|
#include <QAction>
|
|
|
|
|
#include <QBuffer>
|
|
|
|
|
#include <QByteArray>
|
|
|
|
|
+#include <QCoreApplication>
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
#include <QIcon>
|
|
|
|
|
#include <QImage>
|
|
|
|
|
@@ -148,7 +149,10 @@ QAction * TagAssets::action(QObject * parent, TagColor color, IconMark mark)
|
|
|
|
|
if ((color == TagColor::None) || (color == TagColor::Count)) {
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
@@ -1427,4 +1438,5 @@ index 10b7ec8..f03ef4c 100644
|
|
|
|
|
<string>Theme</string>
|
|
|
|
|
</property>
|
|
|
|
|
--
|
|
|
|
|
2.43.0
|
|
|
|
|
2.45.2
|
|
|
|
|
|
|
|
|
|