From ddac43ac3fe9155d0d24faeafafac72c7d85b93567e94c6f64ff6c1f83e96375 Mon Sep 17 00:00:00 2001 From: Christophe Marin Date: Thu, 23 Mar 2023 11:29:29 +0000 Subject: [PATCH] Update to 3.2.2 OBS-URL: https://build.opensuse.org/package/show/graphics/gmic?expand=0&rev=82 --- ...o-not-build-all-host-code-by-default.patch | 40 +++++ 0001-Find-the-local-gmic-library.patch | 31 ++-- 0001-Fix-Qt-form-paths-in-CMakeLists.patch | 47 ++++++ gmic.changes | 9 ++ gmic.spec | 5 +- gmic_3.2.1.tar.gz | 3 - gmic_3.2.2.tar.gz | 3 + krita5.patch | 137 +++++++++--------- 8 files changed, 185 insertions(+), 90 deletions(-) create mode 100644 0001-Do-not-build-all-host-code-by-default.patch create mode 100644 0001-Fix-Qt-form-paths-in-CMakeLists.patch delete mode 100644 gmic_3.2.1.tar.gz create mode 100644 gmic_3.2.2.tar.gz diff --git a/0001-Do-not-build-all-host-code-by-default.patch b/0001-Do-not-build-all-host-code-by-default.patch new file mode 100644 index 0000000..9111dad --- /dev/null +++ b/0001-Do-not-build-all-host-code-by-default.patch @@ -0,0 +1,40 @@ +From 5d5d01864c6d508217316fcb2f0adf0add7033a2 Mon Sep 17 00:00:00 2001 +From: Lily Foster +Date: Fri, 17 Mar 2023 14:37:08 -0400 +Subject: [PATCH] Do not build all host code by default + +This is problematic because some host code, like 8bf, require Qt6 and +that prevents building other host code with Qt5 at all. +--- + gmic-qt/CMakeLists.txt | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt +index a91d26a..9aa0568 100644 +--- a/gmic-qt/CMakeLists.txt ++++ b/gmic-qt/CMakeLists.txt +@@ -433,8 +433,6 @@ set (gmic_qt_SRCS + src/GmicStdlib.h + src/HeadlessProcessor.h + src/Host/GmicQtHost.h +- src/Host/None/ImageDialog.h +- src/Host/None/JpegQualityDialog.h + src/HtmlTranslator.h + src/IconLoader.h + src/ImageTools.h +@@ -524,12 +522,6 @@ set(gmic_qt_SRCS + src/GmicQt.cpp + src/GmicStdlib.cpp + src/HeadlessProcessor.cpp +- src/Host/8bf/host_8bf.cpp +- src/Host/Gimp/host_gimp.cpp +- src/Host/None/host_none.cpp +- src/Host/None/ImageDialog.cpp +- src/Host/None/JpegQualityDialog.cpp +- src/Host/PaintDotNet/host_paintdotnet.cpp + src/HtmlTranslator.cpp + src/IconLoader.cpp + src/ImageTools.cpp +-- +2.40.0 + diff --git a/0001-Find-the-local-gmic-library.patch b/0001-Find-the-local-gmic-library.patch index 63c5855..9cd6798 100644 --- a/0001-Find-the-local-gmic-library.patch +++ b/0001-Find-the-local-gmic-library.patch @@ -12,28 +12,27 @@ To keep using CMake in gmic-qt, we need to teach it where the libgmic library is 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt -index 3d4b109..fd360ba 100644 +index d720221..7425466 100644 --- a/gmic-qt/CMakeLists.txt +++ b/gmic-qt/CMakeLists.txt -@@ -119,6 +119,9 @@ if (NOT ENABLE_SYSTEM_GMIC) +@@ -120,8 +120,10 @@ if (NOT ENABLE_SYSTEM_GMIC) if (NOT(${GMIC_VERSION} EQUAL ${CIMG_VERSION})) message(FATAL_ERROR "\nVersion numbers of files 'gmic.h' (" ${GMIC_VERSION} ") and 'CImg.h' (" ${CIMG_VERSION} ") mismatch") endif() -+ +-endif() + + # find the 'gmic' library built using 'make lib' in the top folder + find_library(gmic NAMES gmic PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../src") - endif() ++endif() - -@@ -567,7 +570,7 @@ if(ENABLE_DYNAMIC_LINKING) - set(CMAKE_SKIP_RPATH TRUE) - set(gmic_qt_LIBRARIES - ${gmic_qt_LIBRARIES} -- "gmic" -+ ${gmic} + option(PRERELEASE "Set to ON makes this a prelease build") + if (${PRERELEASE}) +@@ -593,7 +595,7 @@ if(ENABLE_DYNAMIC_LINKING) + elseif(GMIC_LIB_PATH) + set(gmic_qt_LIBRARIES + ${gmic_qt_LIBRARIES} +- "gmic" ++ ${gmic} ) - if (NOT ENABLE_SYSTEM_GMIC) - link_directories(${GMIC_LIB_PATH}) --- -2.36.0 - + else() + message(FATAL_ERROR "No G'MIC library is available for linking. Please build libgmic as a static library.") diff --git a/0001-Fix-Qt-form-paths-in-CMakeLists.patch b/0001-Fix-Qt-form-paths-in-CMakeLists.patch new file mode 100644 index 0000000..1fa483c --- /dev/null +++ b/0001-Fix-Qt-form-paths-in-CMakeLists.patch @@ -0,0 +1,47 @@ +From f7cfa7887d0dbba7d31cca9a8058f578749beae3 Mon Sep 17 00:00:00 2001 +From: Lily Foster +Date: Fri, 17 Mar 2023 14:14:23 -0400 +Subject: [PATCH] Fix Qt form paths in CMakeLists + +--- + gmic-qt/CMakeLists.txt | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt +index d720221..a91d26a 100644 +--- a/gmic-qt/CMakeLists.txt ++++ b/gmic-qt/CMakeLists.txt +@@ -560,18 +560,18 @@ set(gmic_qt_SRCS + ) + + set (gmic_qt_FORMS +- dialogsettings.ui +- filtersview.ui +- headlessprogressdialog.ui +- inoutpanel.ui +- languageselectionwidget.ui +- mainwindow.ui +- multilinetextparameterwidget.ui +- progressinfowidget.ui +- progressinfowindow.ui +- SearchFieldWidget.ui +- sourceswidget.ui +- zoomlevelselector.ui ++ ui/dialogsettings.ui ++ ui/filtersview.ui ++ ui/headlessprogressdialog.ui ++ ui/inoutpanel.ui ++ ui/languageselectionwidget.ui ++ ui/mainwindow.ui ++ ui/multilinetextparameterwidget.ui ++ ui/progressinfowidget.ui ++ ui/progressinfowindow.ui ++ ui/SearchFieldWidget.ui ++ ui/sourceswidget.ui ++ ui/zoomlevelselector.ui + ) + + if(ENABLE_DYNAMIC_LINKING) +-- +2.40.0 + diff --git a/gmic.changes b/gmic.changes index dd1db07..92af7eb 100644 --- a/gmic.changes +++ b/gmic.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Mar 20 13:14:26 UTC 2023 - Christophe Marin + +- Update to 3.2.2. No changelog. +- Rebase krita5.patch +- Add upstream gmic-qt changes: + * 0001-Fix-Qt-form-paths-in-CMakeLists.patch + * 0001-Do-not-build-all-host-code-by-default.patch + ------------------------------------------------------------------- Sun Feb 19 16:52:48 UTC 2023 - Marcus Rueckert diff --git a/gmic.spec b/gmic.spec index a270315..a2f99b1 100644 --- a/gmic.spec +++ b/gmic.spec @@ -40,7 +40,7 @@ %define gmic_datadir %{_datadir}/gmic Name: gmic -Version: 3.2.1 +Version: 3.2.2 Release: 0 Summary: GREYC's Magick for Image Computing (denoise and others) # gmic-qt is GPL-3.0-or-later, zart is CECILL-2.0, libgmic and cli program are @@ -53,6 +53,9 @@ Source0: https://gmic.eu/files/source/gmic_%{version}.tar.gz Patch0: krita5.patch # PATCH-FEATURE-OPENSUSE Patch1: 0001-Find-the-local-gmic-library.patch +# PATCH-FIX-UPSTREAM +Patch2: 0001-Fix-Qt-form-paths-in-CMakeLists.patch +Patch3: 0001-Do-not-build-all-host-code-by-default.patch # # SECTION pkg_vcmp # diff --git a/gmic_3.2.1.tar.gz b/gmic_3.2.1.tar.gz deleted file mode 100644 index fa5d97e..0000000 --- a/gmic_3.2.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95881919b2e94de502abade0472d27535f7cfa9d17741d8dc0a6b13d4152c175 -size 11236401 diff --git a/gmic_3.2.2.tar.gz b/gmic_3.2.2.tar.gz new file mode 100644 index 0000000..03622a0 --- /dev/null +++ b/gmic_3.2.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c747496c8eece456f0e3404daca1b99ee94ddb694770970f220e2a62de803a58 +size 11321544 diff --git a/krita5.patch b/krita5.patch index bd757df..ac7befe 100644 --- a/krita5.patch +++ b/krita5.patch @@ -1,7 +1,7 @@ Krita 5 plugin support Origin: https://github.com/amyspark/gmic -Rebased for gmic 3.2.0 +Rebased for gmic 3.2.2 --- gmic-qt/CMakeLists.txt | 68 ++++- @@ -17,7 +17,7 @@ Rebased for gmic 3.2.0 gmic-qt/src/GmicProcessor.cpp | 5 + gmic-qt/src/GmicProcessor.h | 1 + gmic-qt/src/GmicQt.cpp | 6 +- - gmic-qt/src/HeadlessProcessor.cpp | 7 +- + gmic-qt/src/HeadlessProcessor.cpp | 5 +- .../src/Host/KritaPlugin/gmicqttoolplugin.cpp | 233 ++++++++++++++++++ .../src/Host/KritaPlugin/gmicqttoolplugin.h | 55 +++++ .../Host/KritaPlugin/gmicqttoolplugin.json | 9 + @@ -33,7 +33,7 @@ Rebased for gmic 3.2.0 gmic-qt/src/Widgets/ProgressInfoWindow.cpp | 4 + gmic-qt/src/Widgets/ProgressInfoWindow.h | 2 + gmic-qt/ui/dialogsettings.ui | 2 +- - 29 files changed, 713 insertions(+), 32 deletions(-) + 29 files changed, 712 insertions(+), 31 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 @@ -41,7 +41,7 @@ Rebased for gmic 3.2.0 create mode 100644 gmic-qt/src/Host/KritaPlugin/host.cpp diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt -index 17b0fdf..25fff53 100644 +index 3375b72..d720221 100644 --- a/gmic-qt/CMakeLists.txt +++ b/gmic-qt/CMakeLists.txt @@ -22,7 +22,7 @@ endif() @@ -53,7 +53,7 @@ index 17b0fdf..25fff53 100644 if (${GMIC_QT_HOST} STREQUAL "none") message("Building standalone version.") else() -@@ -611,6 +611,70 @@ if (${GMIC_QT_HOST} STREQUAL "gimp" OR ${GMIC_QT_HOST} STREQUAL "gimp3") +@@ -666,6 +666,70 @@ if (${GMIC_QT_HOST} STREQUAL "gimp" OR ${GMIC_QT_HOST} STREQUAL "gimp3") ) install(TARGETS gmic_gimp_qt RUNTIME DESTINATION "${GIMP_PKGLIBDIR}/plug-ins/gmic_gimp_qt") @@ -124,7 +124,7 @@ index 17b0fdf..25fff53 100644 elseif (${GMIC_QT_HOST} STREQUAL "none") set (gmic_qt_SRCS ${gmic_qt_SRCS} -@@ -663,7 +727,7 @@ elseif (${GMIC_QT_HOST} STREQUAL "8bf") +@@ -718,7 +782,7 @@ elseif (${GMIC_QT_HOST} STREQUAL "8bf") ) else() @@ -149,7 +149,7 @@ index 0000000..579d427 +Categories=Qt;KDE;Graphics; +StartupNotify=false diff --git a/gmic-qt/src/DialogSettings.cpp b/gmic-qt/src/DialogSettings.cpp -index e89eafb..051122e 100644 +index a30c403..afee14c 100644 --- a/gmic-qt/src/DialogSettings.cpp +++ b/gmic-qt/src/DialogSettings.cpp @@ -56,11 +56,7 @@ DialogSettings::DialogSettings(QWidget * parent) : QDialog(parent), ui(new Ui::D @@ -178,8 +178,8 @@ index e89eafb..051122e 100644 +#endif ui->cbNativeColorDialogs->setChecked(Settings::nativeColorDialogs()); ui->cbNativeColorDialogs->setToolTip(tr("Check to use Native/OS color dialog, uncheck to use Qt's")); - ui->cbShowLogos->setChecked(Settings::visibleLogos()); -@@ -94,23 +93,42 @@ DialogSettings::DialogSettings(QWidget * parent) : QDialog(parent), ui(new Ui::D + ui->cbNativeFileDialogs->setChecked(Settings::nativeFileDialogs()); +@@ -95,19 +94,33 @@ DialogSettings::DialogSettings(QWidget * parent) : QDialog(parent), ui(new Ui::D connect(ui->pbOk, &QPushButton::clicked, this, &DialogSettings::onOk); connect(ui->rbLeftPreview, &QRadioButton::toggled, this, &DialogSettings::onRadioLeftPreviewToggled); @@ -196,6 +196,7 @@ index e89eafb..051122e 100644 connect(ui->labelPreviewLeft, &ClickableLabel::clicked, ui->rbLeftPreview, &QRadioButton::click); connect(ui->labelPreviewRight, &ClickableLabel::clicked, ui->rbRightPreview, &QRadioButton::click); connect(ui->cbNativeColorDialogs, &QCheckBox::toggled, this, &DialogSettings::onColorDialogsToggled); + connect(ui->cbNativeFileDialogs, &QCheckBox::toggled, this, &DialogSettings::onFileDialogsToggled); connect(Updater::getInstance(), &Updater::updateIsDone, this, &DialogSettings::enableUpdateButton); +#ifndef _GMIC_QT_DISABLE_THEMING_ connect(ui->rbDarkTheme, &QRadioButton::toggled, this, &DialogSettings::onDarkThemeToggled); @@ -209,7 +210,12 @@ index e89eafb..051122e 100644 +#else connect(ui->cbNotifyFailedUpdate, &QCheckBox::toggled, this, &DialogSettings::onNotifyStartupUpdateFailedToggle); +#endif + + #if QT_VERSION_GTE(6, 0, 0) + ui->cbHighDPI->hide(); +@@ -117,9 +130,14 @@ DialogSettings::DialogSettings(QWidget * parent) : QDialog(parent), ui(new Ui::D connect(ui->cbHighDPI, &QCheckBox::toggled, this, &DialogSettings::onHighDPIToggled); + #endif +#ifdef _GMIC_QT_DISABLE_TRANSLATION_ + ui->languageSelector->setEnabled(false); @@ -222,7 +228,7 @@ index e89eafb..051122e 100644 if (Settings::darkThemeEnabled()) { QPalette p = ui->cbNativeColorDialogs->palette(); p.setColor(QPalette::Text, Settings::CheckBoxTextColor); -@@ -126,6 +144,7 @@ DialogSettings::DialogSettings(QWidget * parent) : QDialog(parent), ui(new Ui::D +@@ -136,6 +154,7 @@ DialogSettings::DialogSettings(QWidget * parent) : QDialog(parent), ui(new Ui::D ui->cbNotifyFailedUpdate->setPalette(p); ui->cbHighDPI->setPalette(p); } @@ -230,15 +236,15 @@ index e89eafb..051122e 100644 ui->pbOk->setFocus(); ui->tabWidget->setCurrentIndex(0); } -@@ -142,7 +161,7 @@ void DialogSettings::onOk() +@@ -157,7 +176,7 @@ void DialogSettings::onOk() void DialogSettings::done(int r) { - QSettings settings; + GMIC_SETTINGS(settings); + ui->sources->saveSettings(); Settings::save(settings); QDialog::done(r); - } diff --git a/gmic-qt/src/FilterParameters/BoolParameter.cpp b/gmic-qt/src/FilterParameters/BoolParameter.cpp index 41a5f04..619a480 100644 --- a/gmic-qt/src/FilterParameters/BoolParameter.cpp @@ -298,24 +304,24 @@ index 0bdcba7..2a657c0 100644 setTextSelectable(_label); _grid->addWidget(_slider, row, 1, 1, 1); diff --git a/gmic-qt/src/FilterParameters/NoteParameter.cpp b/gmic-qt/src/FilterParameters/NoteParameter.cpp -index 7ba97f1..b45c58d 100644 +index e576b0f..be469de 100644 --- a/gmic-qt/src/FilterParameters/NoteParameter.cpp +++ b/gmic-qt/src/FilterParameters/NoteParameter.cpp -@@ -89,12 +89,14 @@ bool NoteParameter::initFromText(const QString & /* filterName */, const char * - _text.remove(QRegExp("^\"")).remove(QRegExp("\"$")).replace(QString("\\\""), "\""); +@@ -88,12 +88,14 @@ bool NoteParameter::initFromText(const QString & /* filterName */, const char * + _text.remove(QRegularExpression("^\"")).remove(QRegularExpression("\"$")).replace(QString("\\\""), "\""); _text.replace(QString("\\n"), "
"); +#ifndef _GMIC_QT_DISABLE_THEMING_ if (Settings::darkThemeEnabled()) { - _text.replace(QRegExp("color\\s*=\\s*\"purple\""), QString("color=\"#ff00ff\"")); - _text.replace(QRegExp("foreground\\s*=\\s*\"purple\""), QString("foreground=\"#ff00ff\"")); - _text.replace(QRegExp("color\\s*=\\s*\"blue\""), QString("color=\"#9b9bff\"")); - _text.replace(QRegExp("foreground\\s*=\\s*\"blue\""), QString("foreground=\"#9b9bff\"")); + _text.replace(QRegularExpression("color\\s*=\\s*\"purple\""), QString("color=\"#ff00ff\"")); + _text.replace(QRegularExpression("foreground\\s*=\\s*\"purple\""), QString("foreground=\"#ff00ff\"")); + _text.replace(QRegularExpression("color\\s*=\\s*\"blue\""), QString("color=\"#9b9bff\"")); + _text.replace(QRegularExpression("foreground\\s*=\\s*\"blue\""), QString("foreground=\"#9b9bff\"")); } +#endif - _text.replace(QRegExp("color\\s*=\\s*\""), QString("style=\"color:")); - _text.replace(QRegExp("foreground\\s*=\\s*\""), QString("style=\"color:")); + _text.replace(QRegularExpression("color\\s*=\\s*\""), QString("style=\"color:")); + _text.replace(QRegularExpression("foreground\\s*=\\s*\""), QString("style=\"color:")); diff --git a/gmic-qt/src/FilterParameters/SeparatorParameter.cpp b/gmic-qt/src/FilterParameters/SeparatorParameter.cpp index fad7b0a..7f6d317 100644 --- a/gmic-qt/src/FilterParameters/SeparatorParameter.cpp @@ -333,10 +339,10 @@ index fad7b0a..7f6d317 100644 return true; } diff --git a/gmic-qt/src/FilterSelector/FiltersPresenter.cpp b/gmic-qt/src/FilterSelector/FiltersPresenter.cpp -index 7ea2564..0719e17 100644 +index 9e43caa..0a99e56 100644 --- a/gmic-qt/src/FilterSelector/FiltersPresenter.cpp +++ b/gmic-qt/src/FilterSelector/FiltersPresenter.cpp -@@ -417,7 +417,7 @@ void FiltersPresenter::expandFaveFolder() +@@ -428,7 +428,7 @@ void FiltersPresenter::expandFaveFolder() void FiltersPresenter::expandPreviousSessionExpandedFolders() { if (_filtersView) { @@ -346,10 +352,10 @@ index 7ea2564..0719e17 100644 } } diff --git a/gmic-qt/src/Globals.h b/gmic-qt/src/Globals.h -index 0515a52..7781e4b 100644 +index dc5ef70..a6db8fb 100644 --- a/gmic-qt/src/Globals.h +++ b/gmic-qt/src/Globals.h -@@ -56,7 +56,13 @@ const char WarningPrefix = '!'; +@@ -58,7 +58,13 @@ const char WarningPrefix = '!'; #define ONE_WEEK_HOURS (7 * 24) #define TWO_WEEKS_HOURS (14 * 24) #define ONE_MONTH_HOURS (30 * 24) @@ -363,7 +369,7 @@ index 0515a52..7781e4b 100644 #define PREVIEW_MAX_ZOOM_FACTOR 40.0 -@@ -65,4 +71,17 @@ const char WarningPrefix = '!'; +@@ -67,4 +73,17 @@ const char WarningPrefix = '!'; #define KEYPOINTS_INTERACTIVE_MIDDLE_DELAY_MS ((KEYPOINTS_INTERACTIVE_LOWER_DELAY_MS + KEYPOINTS_INTERACTIVE_UPPER_DELAY_MS) / 2) #define KEYPOINTS_INTERACTIVE_AVERAGING_COUNT 6 @@ -382,10 +388,10 @@ index 0515a52..7781e4b 100644 + #endif // GMIC_QT_GLOBALS_H diff --git a/gmic-qt/src/GmicProcessor.cpp b/gmic-qt/src/GmicProcessor.cpp -index 7ab4e8b..a42e19f 100644 +index 2ade8bf..1ea0a9f 100644 --- a/gmic-qt/src/GmicProcessor.cpp +++ b/gmic-qt/src/GmicProcessor.cpp -@@ -189,6 +189,11 @@ bool GmicProcessor::isIdle() const +@@ -190,6 +190,11 @@ bool GmicProcessor::isIdle() const return !_filterThread; } @@ -398,11 +404,11 @@ index 7ab4e8b..a42e19f 100644 { if (_filterThread) { diff --git a/gmic-qt/src/GmicProcessor.h b/gmic-qt/src/GmicProcessor.h -index 4cd5452..39165f2 100644 +index 2d61079..49baa8b 100644 --- a/gmic-qt/src/GmicProcessor.h +++ b/gmic-qt/src/GmicProcessor.h -@@ -92,6 +92,7 @@ public: - +@@ -91,6 +91,7 @@ public: + bool isProcessingFullImage() const; bool isProcessing() const; bool isIdle() const; + bool isInputImagesEmpty() const; @@ -410,7 +416,7 @@ index 4cd5452..39165f2 100644 const gmic_library::gmic_image & previewImage() const; diff --git a/gmic-qt/src/GmicQt.cpp b/gmic-qt/src/GmicQt.cpp -index 90be043..45a595a 100644 +index 3af90b3..17b98c3 100644 --- a/gmic-qt/src/GmicQt.cpp +++ b/gmic-qt/src/GmicQt.cpp @@ -87,7 +87,7 @@ RunParameters lastAppliedFilterRunParameters(ReturnedRunParametersFlag flag) @@ -441,10 +447,10 @@ index 90be043..45a595a 100644 QCoreApplication::setApplicationName(GMIC_QT_APPLICATION_NAME); +#endif QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar); + #if !QT_VERSION_GTE(6, 0, 0) if (QSettings().value(HIGHDPI_KEY, false).toBool()) { - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); diff --git a/gmic-qt/src/HeadlessProcessor.cpp b/gmic-qt/src/HeadlessProcessor.cpp -index a0a99b1..17a4f5e 100644 +index de6dc90..aa216e7 100644 --- a/gmic-qt/src/HeadlessProcessor.cpp +++ b/gmic-qt/src/HeadlessProcessor.cpp @@ -27,6 +27,7 @@ @@ -455,16 +461,7 @@ index a0a99b1..17a4f5e 100644 #include "Common.h" #include "FilterParameters/FilterParametersWidget.h" #include "FilterSelector/FiltersPresenter.h" -@@ -71,7 +72,7 @@ HeadlessProcessor::~HeadlessProcessor() - - bool HeadlessProcessor::setPluginParameters(const RunParameters & parameters) - { -- QSettings settings; -+ GMIC_SETTINGS(settings); - _path = QString::fromStdString(parameters.filterPath); - _inputMode = (parameters.inputMode == InputMode::Unspecified) ? DefaultInputMode : parameters.inputMode; - _outputMode = (parameters.outputMode == OutputMode::Unspecified) ? DefaultOutputMode : parameters.outputMode; -@@ -236,7 +237,7 @@ void HeadlessProcessor::onProcessingFinished() +@@ -234,7 +235,7 @@ void HeadlessProcessor::onProcessingFinished() GmicQtHost::outputImages(images, _filterThread->imageNames(), _outputMode); _processingCompletedProperly = true; } @@ -473,7 +470,7 @@ index a0a99b1..17a4f5e 100644 if (!status.isEmpty() && !_hash.isEmpty()) { ParametersCache::setValues(_hash, status); ParametersCache::save(); -@@ -269,7 +270,9 @@ void HeadlessProcessor::endApplication(const QString & errorMessage) +@@ -267,7 +268,9 @@ void HeadlessProcessor::endApplication(const QString & errorMessage) if (!errorMessage.isEmpty()) { Logger::error(errorMessage); } @@ -1031,7 +1028,7 @@ index 69635c6..00a7f95 100644 connect(ui->pbOk, &QPushButton::clicked, this, &QDialog::accept); connect(ui->pbCancel, &QPushButton::clicked, this, &QDialog::reject); diff --git a/gmic-qt/src/LanguageSettings.cpp b/gmic-qt/src/LanguageSettings.cpp -index 6da4d84..05d8b4b 100644 +index 7e74667..0c92a47 100644 --- a/gmic-qt/src/LanguageSettings.cpp +++ b/gmic-qt/src/LanguageSettings.cpp @@ -23,6 +23,7 @@ @@ -1065,10 +1062,10 @@ index 6da4d84..05d8b4b 100644 } } diff --git a/gmic-qt/src/MainWindow.cpp b/gmic-qt/src/MainWindow.cpp -index 421c30e..afdf630 100644 +index 7cbe3bd..4998ee3 100644 --- a/gmic-qt/src/MainWindow.cpp +++ b/gmic-qt/src/MainWindow.cpp -@@ -187,8 +187,12 @@ MainWindow::MainWindow(QWidget * parent) : QMainWindow(parent), ui(new Ui::MainW +@@ -186,8 +186,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); @@ -1081,7 +1078,7 @@ index 421c30e..afdf630 100644 ui->tbUpdateFilters->setToolTip(updateText); } -@@ -276,6 +280,7 @@ void MainWindow::setIcons() +@@ -275,6 +279,7 @@ void MainWindow::setIcons() ui->tbExpandCollapse->setIcon(_expandIcon); } @@ -1106,7 +1103,7 @@ index 421c30e..afdf630 100644 } _filtersPresenter->toggleSelectionMode(withVisibility); -@@ -492,7 +498,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status) +@@ -498,7 +504,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status) } else if (status == (int)Updater::UpdateStatus::NotNecessary) { } @@ -1115,7 +1112,7 @@ index 421c30e..afdf630 100644 _gtkFavesShouldBeImported = false; } else { _gtkFavesShouldBeImported = askUserForGTKFavesImport(); -@@ -509,7 +515,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status) +@@ -515,7 +521,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status) } // Retrieve and select previously selected filter @@ -1124,7 +1121,7 @@ index 421c30e..afdf630 100644 if (_newSession || !_lastExecutionOK) { hash.clear(); } -@@ -574,7 +580,9 @@ void MainWindow::onEscapeKeyPressed() +@@ -580,7 +586,9 @@ void MainWindow::onEscapeKeyPressed() } else { _processor.cancel(); ui->previewWidget->displayOriginalImage(); @@ -1134,7 +1131,7 @@ index 421c30e..afdf630 100644 } } } -@@ -674,7 +682,9 @@ void MainWindow::onPreviewUpdateRequested(bool synchronous) +@@ -696,7 +704,9 @@ void MainWindow::onPreviewUpdateRequested(bool synchronous) ui->previewWidget->displayOriginalImage(); return; } @@ -1144,7 +1141,7 @@ index 421c30e..afdf630 100644 const FiltersPresenter::Filter currentFilter = _filtersPresenter->currentFilter(); GmicProcessor::FilterContext context; -@@ -737,7 +747,9 @@ void MainWindow::onPreviewImageAvailable() +@@ -759,7 +769,9 @@ void MainWindow::onPreviewImageAvailable() } ui->previewWidget->setPreviewImage(_processor.previewImage()); ui->previewWidget->enableRightClick(); @@ -1154,7 +1151,7 @@ index 421c30e..afdf630 100644 if (_pendingActionAfterCurrentProcessing == ProcessingAction::Close) { close(); } -@@ -745,9 +757,19 @@ void MainWindow::onPreviewImageAvailable() +@@ -767,9 +779,19 @@ void MainWindow::onPreviewImageAvailable() void MainWindow::onPreviewError(const QString & message) { @@ -1174,7 +1171,7 @@ index 421c30e..afdf630 100644 if (_pendingActionAfterCurrentProcessing == ProcessingAction::Close) { close(); } -@@ -829,12 +851,16 @@ void MainWindow::onVeryFirstShowEvent() +@@ -851,12 +873,16 @@ void MainWindow::onVeryFirstShowEvent() Updater::setOutputMessageMode(Settings::outputMessageMode()); int ageLimit; { @@ -1193,7 +1190,7 @@ index 421c30e..afdf630 100644 } void MainWindow::setZoomConstraint() -@@ -995,7 +1021,7 @@ void MainWindow::saveCurrentParameters() +@@ -1022,7 +1048,7 @@ void MainWindow::saveCurrentParameters() void MainWindow::saveSettings() { @@ -1202,16 +1199,16 @@ index 421c30e..afdf630 100644 _filtersPresenter->saveSettings(settings); -@@ -1037,7 +1063,7 @@ void MainWindow::saveSettings() +@@ -1064,7 +1090,7 @@ void MainWindow::saveSettings() void MainWindow::loadSettings() { - QSettings settings; + GMIC_SETTINGS(settings); _filtersPresenter->loadSettings(settings); - _lastExecutionOK = settings.value("LastExecution/ExitedNormally", true).toBool(); -@@ -1053,9 +1079,11 @@ void MainWindow::loadSettings() + _newSession = host_app_pid() != settings.value("LastExecution/HostApplicationID", 0).toUInt(); +@@ -1079,9 +1105,11 @@ void MainWindow::loadSettings() if (settings.value("Config/PreviewPosition", "Left").toString() == "Left") { setPreviewPosition(PreviewPosition::Left); } @@ -1223,7 +1220,7 @@ index 421c30e..afdf630 100644 if (!Settings::visibleLogos()) { ui->logosLabel->hide(); } -@@ -1099,7 +1127,7 @@ void MainWindow::loadSettings() +@@ -1125,7 +1153,7 @@ void MainWindow::loadSettings() ui->splitter->setSizes(sizes); } @@ -1232,7 +1229,7 @@ index 421c30e..afdf630 100644 } void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position) -@@ -1161,7 +1189,7 @@ void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position) +@@ -1187,7 +1215,7 @@ void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position) void MainWindow::adjustVerticalSplitter() { QList sizes; @@ -1241,7 +1238,7 @@ index 421c30e..afdf630 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(); -@@ -1290,17 +1318,19 @@ bool MainWindow::askUserForGTKFavesImport() +@@ -1316,17 +1344,19 @@ bool MainWindow::askUserForGTKFavesImport() QMessageBox::Yes | QMessageBox::No, this); messageBox.setDefaultButton(QMessageBox::Yes); QCheckBox * cb = new QCheckBox(tr("Don't ask again")); @@ -1263,7 +1260,7 @@ index 421c30e..afdf630 100644 return false; } diff --git a/gmic-qt/src/MainWindow.h b/gmic-qt/src/MainWindow.h -index 4679fc5..39a6d3c 100644 +index dcc76e6..545bac0 100644 --- a/gmic-qt/src/MainWindow.h +++ b/gmic-qt/src/MainWindow.h @@ -71,7 +71,9 @@ public: @@ -1277,10 +1274,10 @@ index 4679fc5..39a6d3c 100644 public slots: diff --git a/gmic-qt/src/Settings.cpp b/gmic-qt/src/Settings.cpp -index 3ed8122..5ca1c78 100644 +index 00ec64b..2b2cd41 100644 --- a/gmic-qt/src/Settings.cpp +++ b/gmic-qt/src/Settings.cpp -@@ -67,7 +67,7 @@ QString Settings::NegativeSign('-'); +@@ -75,7 +75,7 @@ QString Settings::NegativeSign('-'); void Settings::load(UserInterfaceMode userInterfaceMode) { @@ -1289,7 +1286,7 @@ index 3ed8122..5ca1c78 100644 _visibleLogos = settings.value("LogosAreVisible", true).toBool(); _darkThemeEnabled = settings.value(DARK_THEME_KEY, GmicQtHost::DarkThemeIsDefault).toBool(); _languageCode = settings.value(LANGUAGE_CODE_KEY, QString()).toString(); -@@ -109,7 +109,11 @@ void Settings::setVisibleLogos(bool on) +@@ -129,7 +129,11 @@ void Settings::setVisibleLogos(bool on) bool Settings::darkThemeEnabled() { @@ -1301,7 +1298,7 @@ index 3ed8122..5ca1c78 100644 } void Settings::setDarkThemeEnabled(bool on) -@@ -222,8 +226,10 @@ void Settings::save(QSettings & settings) +@@ -272,8 +276,10 @@ void Settings::save(QSettings & settings) removeObsoleteKeys(settings); settings.setValue("LogosAreVisible", _visibleLogos); settings.setValue(DARK_THEME_KEY, _darkThemeEnabled); @@ -1406,7 +1403,7 @@ index 615dd16..9db9a1a 100644 public slots: void onCancelClicked(bool); diff --git a/gmic-qt/ui/dialogsettings.ui b/gmic-qt/ui/dialogsettings.ui -index 3ce2ecc..ab5f10e 100644 +index 10b7ec8..f03ef4c 100644 --- a/gmic-qt/ui/dialogsettings.ui +++ b/gmic-qt/ui/dialogsettings.ui @@ -108,7 +108,7 @@ @@ -1419,5 +1416,5 @@ index 3ce2ecc..ab5f10e 100644 Theme -- -2.39.0 +2.40.0