From ce2dd90a39d65b7e15115a1c9d5697f06c5eb110 Mon Sep 17 00:00:00 2001 From: Mr Finchum Date: Sun, 23 Mar 2025 12:37:56 +0000 Subject: [PATCH] feat: added feature to show original image in preview window. --- CHANGELOG.md | 6 + src/OptimaLab35/gui.py | 19 +- src/OptimaLab35/ui/main_window.py | 11 +- src/OptimaLab35/ui/main_window.ui | 19 +- src/OptimaLab35/ui/preview_window.py | 28 ++- src/OptimaLab35/ui/preview_window.ui | 44 +++- src/OptimaLab35/ui/settings_window.py | 194 ++++++++--------- src/OptimaLab35/ui/settings_window.ui | 296 +++++++++++++------------- 8 files changed, 359 insertions(+), 258 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ee1ff1..c60c01e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 1.1.x +### 1.1.0: New Function in Preview Window +- Added a new feature to the preview window: **Hold a button to temporarily view the original (unedited) image.** This makes it easier to compare changes. +- Minor UI adjustments. + + ## 1.0.x ### 1.0.1: Fixed spelling - Fixes spelling some places diff --git a/src/OptimaLab35/gui.py b/src/OptimaLab35/gui.py index a69a452..cf40df3 100644 --- a/src/OptimaLab35/gui.py +++ b/src/OptimaLab35/gui.py @@ -861,6 +861,8 @@ class PreviewWindow(QMainWindow, Ui_Preview_Window): self.ui.contrast_Slider.valueChanged.connect(self.on_ui_change) self.ui.grayscale_checkBox.stateChanged.connect(self.on_ui_change) self.ui_elements(False) + self.ui.show_OG_Button.pressed.connect(self.show_OG_image) + self.ui.show_OG_Button.released.connect(self.update_preview) def on_ui_change(self): """Triggers update only if live update is enabled.""" @@ -874,11 +876,26 @@ class PreviewWindow(QMainWindow, Ui_Preview_Window): self.update_preview() self.ui_elements(True) - def ui_elements(self, state): + def show_OG_image(self): + """Handles loading and displaying the image in a separate thread.""" + path = self.ui.image_path_lineEdit.text() + worker = ImageProcessorWorker( + path = path, + optima_manager = self.o, + brightness = 0, + contrast = 0, + grayscale = False, + resize = self.ui.scale_Slider.value(), + callback = self.display_image # Callback to update UI + ) + self.threadpool.start(worker) + + def ui_elements(self, state): self.ui.groupBox_2.setEnabled(state) self.ui.groupBox.setEnabled(state) self.ui.groupBox_5.setEnabled(state) + self.ui.show_OG_Button.setEnabled(state) def update_preview(self): """Handles loading and displaying the image in a separate thread.""" diff --git a/src/OptimaLab35/ui/main_window.py b/src/OptimaLab35/ui/main_window.py index 0db0bd8..38191e5 100644 --- a/src/OptimaLab35/ui/main_window.py +++ b/src/OptimaLab35/ui/main_window.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'main_window.ui' ## -## Created by: Qt User Interface Compiler version 6.8.1 +## Created by: Qt User Interface Compiler version 6.8.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -116,6 +116,7 @@ class Ui_MainWindow(object): self.png_quality_Slider.setPageStep(1) self.png_quality_Slider.setSliderPosition(6) self.png_quality_Slider.setOrientation(Qt.Orientation.Horizontal) + self.png_quality_Slider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.gridLayout_4.addWidget(self.png_quality_Slider, 4, 2, 1, 1) @@ -147,6 +148,7 @@ class Ui_MainWindow(object): self.jpg_quality_Slider.setMaximum(100) self.jpg_quality_Slider.setSliderPosition(90) self.jpg_quality_Slider.setOrientation(Qt.Orientation.Horizontal) + self.jpg_quality_Slider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.gridLayout_4.addWidget(self.jpg_quality_Slider, 3, 2, 1, 1) @@ -161,6 +163,7 @@ class Ui_MainWindow(object): self.resize_Slider.setMaximum(200) self.resize_Slider.setValue(100) self.resize_Slider.setOrientation(Qt.Orientation.Horizontal) + self.resize_Slider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.gridLayout_4.addWidget(self.resize_Slider, 5, 2, 1, 1) @@ -193,6 +196,7 @@ class Ui_MainWindow(object): self.brightness_horizontalSlider.setMinimum(-100) self.brightness_horizontalSlider.setMaximum(100) self.brightness_horizontalSlider.setOrientation(Qt.Orientation.Horizontal) + self.brightness_horizontalSlider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.gridLayout_3.addWidget(self.brightness_horizontalSlider, 1, 1, 1, 1) @@ -224,6 +228,7 @@ class Ui_MainWindow(object): self.contrast_horizontalSlider.setMinimum(-100) self.contrast_horizontalSlider.setMaximum(100) self.contrast_horizontalSlider.setOrientation(Qt.Orientation.Horizontal) + self.contrast_horizontalSlider.setTickPosition(QSlider.TickPosition.TicksBelow) self.gridLayout_3.addWidget(self.contrast_horizontalSlider, 4, 1, 1, 1) @@ -538,7 +543,7 @@ class Ui_MainWindow(object): self.dateEdit = QDateEdit(self.date_groupBox) self.dateEdit.setObjectName(u"dateEdit") self.dateEdit.setEnabled(False) - self.dateEdit.setDateTime(QDateTime(QDate(2024, 12, 31), QTime(23, 0, 0))) + self.dateEdit.setDateTime(QDateTime(QDate(2024, 12, 31), QTime(22, 0, 0))) self.dateEdit.setMaximumDate(QDate(2038, 12, 31)) self.dateEdit.setMinimumDate(QDate(1970, 1, 1)) self.dateEdit.setCalendarPopup(True) @@ -558,7 +563,7 @@ class Ui_MainWindow(object): MainWindow.setStatusBar(self.statusBar) self.menuBar = QMenuBar(MainWindow) self.menuBar.setObjectName(u"menuBar") - self.menuBar.setGeometry(QRect(0, 0, 450, 22)) + self.menuBar.setGeometry(QRect(0, 0, 450, 19)) self.menuHelp = QMenu(self.menuBar) self.menuHelp.setObjectName(u"menuHelp") self.menuSettings = QMenu(self.menuBar) diff --git a/src/OptimaLab35/ui/main_window.ui b/src/OptimaLab35/ui/main_window.ui index 4da4787..6b87b83 100644 --- a/src/OptimaLab35/ui/main_window.ui +++ b/src/OptimaLab35/ui/main_window.ui @@ -188,6 +188,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -249,6 +252,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -278,6 +284,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -338,6 +347,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -390,6 +402,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBelow + @@ -881,7 +896,7 @@ - 23 + 22 0 0 2024 @@ -924,7 +939,7 @@ 0 0 450 - 22 + 19 diff --git a/src/OptimaLab35/ui/preview_window.py b/src/OptimaLab35/ui/preview_window.py index daa32c8..5caf68c 100644 --- a/src/OptimaLab35/ui/preview_window.py +++ b/src/OptimaLab35/ui/preview_window.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'preview_window.ui' ## -## Created by: Qt User Interface Compiler version 6.8.1 +## Created by: Qt User Interface Compiler version 6.8.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -51,6 +51,7 @@ class Ui_Preview_Window(object): self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.image_path_lineEdit = QLineEdit(self.groupBox_3) self.image_path_lineEdit.setObjectName(u"image_path_lineEdit") + self.image_path_lineEdit.setEnabled(False) self.verticalLayout_3.addWidget(self.image_path_lineEdit) @@ -78,6 +79,7 @@ class Ui_Preview_Window(object): self.brightness_Slider.setMinimum(-100) self.brightness_Slider.setMaximum(100) self.brightness_Slider.setOrientation(Qt.Orientation.Horizontal) + self.brightness_Slider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.verticalLayout.addWidget(self.brightness_Slider) @@ -105,6 +107,7 @@ class Ui_Preview_Window(object): self.contrast_Slider.setMinimum(-100) self.contrast_Slider.setMaximum(100) self.contrast_Slider.setOrientation(Qt.Orientation.Horizontal) + self.contrast_Slider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.verticalLayout_2.addWidget(self.contrast_Slider) @@ -132,6 +135,20 @@ class Ui_Preview_Window(object): self.verticalLayout_4.addItem(self.verticalSpacer) + self.label = QLabel(self.widget) + self.label.setObjectName(u"label") + self.label.setLayoutDirection(Qt.LayoutDirection.LeftToRight) + self.label.setAutoFillBackground(False) + self.label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.label.setWordWrap(True) + + self.verticalLayout_4.addWidget(self.label) + + self.show_OG_Button = QPushButton(self.widget) + self.show_OG_Button.setObjectName(u"show_OG_Button") + + self.verticalLayout_4.addWidget(self.show_OG_Button) + self.groupBox_4 = QGroupBox(self.widget) self.groupBox_4.setObjectName(u"groupBox_4") self.groupBox_4.setMaximumSize(QSize(170, 16777215)) @@ -163,8 +180,9 @@ class Ui_Preview_Window(object): self.scale_Slider.setMinimum(10) self.scale_Slider.setMaximum(100) self.scale_Slider.setPageStep(10) - self.scale_Slider.setValue(25) + self.scale_Slider.setValue(50) self.scale_Slider.setOrientation(Qt.Orientation.Horizontal) + self.scale_Slider.setTickPosition(QSlider.TickPosition.TicksBothSides) self.gridLayout_2.addWidget(self.scale_Slider, 1, 0, 1, 2) @@ -192,7 +210,7 @@ class Ui_Preview_Window(object): Preview_Window.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(Preview_Window) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 875, 26)) + self.menubar.setGeometry(QRect(0, 0, 875, 19)) Preview_Window.setMenuBar(self.menubar) self.retranslateUi(Preview_Window) @@ -230,6 +248,8 @@ class Ui_Preview_Window(object): self.grayscale_checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Convert the image to grayscale (black and white).", None)) #endif // QT_CONFIG(tooltip) self.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Black and White", None)) + self.label.setText(QCoreApplication.translate("Preview_Window", u"Hold button to show original image", None)) + self.show_OG_Button.setText(QCoreApplication.translate("Preview_Window", u"Show", None)) self.groupBox_4.setTitle(QCoreApplication.translate("Preview_Window", u"Behavior", None)) #if QT_CONFIG(tooltip) self.checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Enable to copy adjustments to the main window upon closing", None)) @@ -253,6 +273,6 @@ class Ui_Preview_Window(object): #if QT_CONFIG(tooltip) self.scale_label.setToolTip(QCoreApplication.translate("Preview_Window", u"Sets the resize value for the preview image. A high value may cause the application to freeze.", None)) #endif // QT_CONFIG(tooltip) - self.scale_label.setText(QCoreApplication.translate("Preview_Window", u"25", None)) + self.scale_label.setText(QCoreApplication.translate("Preview_Window", u"50", None)) # retranslateUi diff --git a/src/OptimaLab35/ui/preview_window.ui b/src/OptimaLab35/ui/preview_window.ui index 38a1cc0..74b4cbb 100644 --- a/src/OptimaLab35/ui/preview_window.ui +++ b/src/OptimaLab35/ui/preview_window.ui @@ -63,6 +63,9 @@ + + false + Enter the path to the image file or use the 'Select Image' button to browse. @@ -108,6 +111,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -150,6 +156,9 @@ Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -197,6 +206,32 @@ + + + + Qt::LayoutDirection::LeftToRight + + + false + + + Hold button to show original image + + + Qt::AlignmentFlag::AlignCenter + + + true + + + + + + + Show + + + @@ -268,11 +303,14 @@ 10 - 25 + 50 Qt::Orientation::Horizontal + + QSlider::TickPosition::TicksBothSides + @@ -302,7 +340,7 @@ Sets the resize value for the preview image. A high value may cause the application to freeze. - 25 + 50 @@ -320,7 +358,7 @@ 0 0 875 - 26 + 19 diff --git a/src/OptimaLab35/ui/settings_window.py b/src/OptimaLab35/ui/settings_window.py index 1841a94..e3d7823 100644 --- a/src/OptimaLab35/ui/settings_window.py +++ b/src/OptimaLab35/ui/settings_window.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'settings_window.ui' ## -## Created by: Qt User Interface Compiler version 6.8.1 +## Created by: Qt User Interface Compiler version 6.8.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -36,79 +36,6 @@ class Ui_Settings_Window(object): self.tabWidget = QTabWidget(self.centralwidget) self.tabWidget.setObjectName(u"tabWidget") self.tabWidget.setMaximumSize(QSize(500, 500)) - self.tabWidgetPage1 = QWidget() - self.tabWidgetPage1.setObjectName(u"tabWidgetPage1") - self.verticalLayout_2 = QVBoxLayout(self.tabWidgetPage1) - self.verticalLayout_2.setObjectName(u"verticalLayout_2") - self.groupBox_4 = QGroupBox(self.tabWidgetPage1) - self.groupBox_4.setObjectName(u"groupBox_4") - self.horizontalLayout_3 = QHBoxLayout(self.groupBox_4) - self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") - self.label_4 = QLabel(self.groupBox_4) - self.label_4.setObjectName(u"label_4") - self.label_4.setWordWrap(True) - - self.horizontalLayout_3.addWidget(self.label_4) - - self.reset_exif_Button = QPushButton(self.groupBox_4) - self.reset_exif_Button.setObjectName(u"reset_exif_Button") - self.reset_exif_Button.setMinimumSize(QSize(100, 0)) - self.reset_exif_Button.setMaximumSize(QSize(100, 16777215)) - - self.horizontalLayout_3.addWidget(self.reset_exif_Button) - - - self.verticalLayout_2.addWidget(self.groupBox_4) - - self.groupBox_3 = QGroupBox(self.tabWidgetPage1) - self.groupBox_3.setObjectName(u"groupBox_3") - self.gridLayout_3 = QGridLayout(self.groupBox_3) - self.gridLayout_3.setObjectName(u"gridLayout_3") - self.label_3 = QLabel(self.groupBox_3) - self.label_3.setObjectName(u"label_3") - - self.gridLayout_3.addWidget(self.label_3, 0, 0, 1, 3) - - self.enable_theme_checkBox = QCheckBox(self.groupBox_3) - self.enable_theme_checkBox.setObjectName(u"enable_theme_checkBox") - self.enable_theme_checkBox.setChecked(False) - - self.gridLayout_3.addWidget(self.enable_theme_checkBox, 1, 0, 1, 1) - - self.theme_selection_comboBox = QComboBox(self.groupBox_3) - self.theme_selection_comboBox.addItem("") - self.theme_selection_comboBox.addItem("") - self.theme_selection_comboBox.addItem("") - self.theme_selection_comboBox.setObjectName(u"theme_selection_comboBox") - self.theme_selection_comboBox.setEnabled(False) - self.theme_selection_comboBox.setMinimumSize(QSize(100, 0)) - self.theme_selection_comboBox.setMaximumSize(QSize(100, 16777215)) - - self.gridLayout_3.addWidget(self.theme_selection_comboBox, 1, 2, 1, 1) - - self.save_and_close_Button = QPushButton(self.groupBox_3) - self.save_and_close_Button.setObjectName(u"save_and_close_Button") - - self.gridLayout_3.addWidget(self.save_and_close_Button, 3, 0, 1, 1) - - self.horizontalSpacer_2 = QSpacerItem(98, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) - - self.gridLayout_3.addItem(self.horizontalSpacer_2, 1, 1, 1, 1) - - self.install_pkg_Button = QPushButton(self.groupBox_3) - self.install_pkg_Button.setObjectName(u"install_pkg_Button") - - self.gridLayout_3.addWidget(self.install_pkg_Button, 2, 0, 1, 3) - - self.save_and_restart_Button = QPushButton(self.groupBox_3) - self.save_and_restart_Button.setObjectName(u"save_and_restart_Button") - - self.gridLayout_3.addWidget(self.save_and_restart_Button, 3, 1, 1, 2) - - - self.verticalLayout_2.addWidget(self.groupBox_3) - - self.tabWidget.addTab(self.tabWidgetPage1, "") self.tabWidgetPage2 = QWidget() self.tabWidgetPage2.setObjectName(u"tabWidgetPage2") self.gridLayout_2 = QGridLayout(self.tabWidgetPage2) @@ -227,6 +154,79 @@ class Ui_Settings_Window(object): self.gridLayout_2.addWidget(self.widget, 5, 0, 1, 2) self.tabWidget.addTab(self.tabWidgetPage2, "") + self.tabWidgetPage1 = QWidget() + self.tabWidgetPage1.setObjectName(u"tabWidgetPage1") + self.verticalLayout_2 = QVBoxLayout(self.tabWidgetPage1) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.groupBox_4 = QGroupBox(self.tabWidgetPage1) + self.groupBox_4.setObjectName(u"groupBox_4") + self.horizontalLayout_3 = QHBoxLayout(self.groupBox_4) + self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.label_4 = QLabel(self.groupBox_4) + self.label_4.setObjectName(u"label_4") + self.label_4.setWordWrap(True) + + self.horizontalLayout_3.addWidget(self.label_4) + + self.reset_exif_Button = QPushButton(self.groupBox_4) + self.reset_exif_Button.setObjectName(u"reset_exif_Button") + self.reset_exif_Button.setMinimumSize(QSize(100, 0)) + self.reset_exif_Button.setMaximumSize(QSize(100, 16777215)) + + self.horizontalLayout_3.addWidget(self.reset_exif_Button) + + + self.verticalLayout_2.addWidget(self.groupBox_4) + + self.groupBox_3 = QGroupBox(self.tabWidgetPage1) + self.groupBox_3.setObjectName(u"groupBox_3") + self.gridLayout_3 = QGridLayout(self.groupBox_3) + self.gridLayout_3.setObjectName(u"gridLayout_3") + self.label_3 = QLabel(self.groupBox_3) + self.label_3.setObjectName(u"label_3") + + self.gridLayout_3.addWidget(self.label_3, 0, 0, 1, 3) + + self.enable_theme_checkBox = QCheckBox(self.groupBox_3) + self.enable_theme_checkBox.setObjectName(u"enable_theme_checkBox") + self.enable_theme_checkBox.setChecked(False) + + self.gridLayout_3.addWidget(self.enable_theme_checkBox, 1, 0, 1, 1) + + self.theme_selection_comboBox = QComboBox(self.groupBox_3) + self.theme_selection_comboBox.addItem("") + self.theme_selection_comboBox.addItem("") + self.theme_selection_comboBox.addItem("") + self.theme_selection_comboBox.setObjectName(u"theme_selection_comboBox") + self.theme_selection_comboBox.setEnabled(False) + self.theme_selection_comboBox.setMinimumSize(QSize(100, 0)) + self.theme_selection_comboBox.setMaximumSize(QSize(100, 16777215)) + + self.gridLayout_3.addWidget(self.theme_selection_comboBox, 1, 2, 1, 1) + + self.save_and_close_Button = QPushButton(self.groupBox_3) + self.save_and_close_Button.setObjectName(u"save_and_close_Button") + + self.gridLayout_3.addWidget(self.save_and_close_Button, 3, 0, 1, 1) + + self.horizontalSpacer_2 = QSpacerItem(98, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_3.addItem(self.horizontalSpacer_2, 1, 1, 1, 1) + + self.install_pkg_Button = QPushButton(self.groupBox_3) + self.install_pkg_Button.setObjectName(u"install_pkg_Button") + + self.gridLayout_3.addWidget(self.install_pkg_Button, 2, 0, 1, 3) + + self.save_and_restart_Button = QPushButton(self.groupBox_3) + self.save_and_restart_Button.setObjectName(u"save_and_restart_Button") + + self.gridLayout_3.addWidget(self.save_and_restart_Button, 3, 1, 1, 2) + + + self.verticalLayout_2.addWidget(self.groupBox_3) + + self.tabWidget.addTab(self.tabWidgetPage1, "") self.verticalLayout.addWidget(self.tabWidget) @@ -243,29 +243,6 @@ class Ui_Settings_Window(object): def retranslateUi(self, Settings_Window): Settings_Window.setWindowTitle(QCoreApplication.translate("Settings_Window", u"Settings", None)) - self.groupBox_4.setTitle(QCoreApplication.translate("Settings_Window", u"EXIF", None)) - self.label_4.setText(QCoreApplication.translate("Settings_Window", u"Reset selectable EXIF data to default", None)) - self.reset_exif_Button.setText(QCoreApplication.translate("Settings_Window", u"Reset", None)) - self.groupBox_3.setTitle(QCoreApplication.translate("Settings_Window", u"Theme", None)) - self.label_3.setText(QCoreApplication.translate("Settings_Window", u"Change theme from OS to PyQT Dark or Light", None)) -#if QT_CONFIG(tooltip) - self.enable_theme_checkBox.setToolTip(QCoreApplication.translate("Settings_Window", u"Changes will take effect after restarting the application.", None)) -#endif // QT_CONFIG(tooltip) - self.enable_theme_checkBox.setText(QCoreApplication.translate("Settings_Window", u"Custom theme", None)) - self.theme_selection_comboBox.setItemText(0, QCoreApplication.translate("Settings_Window", u"Auto", None)) - self.theme_selection_comboBox.setItemText(1, QCoreApplication.translate("Settings_Window", u"Dark", None)) - self.theme_selection_comboBox.setItemText(2, QCoreApplication.translate("Settings_Window", u"Light", None)) - -#if QT_CONFIG(tooltip) - self.theme_selection_comboBox.setToolTip(QCoreApplication.translate("Settings_Window", u"Changes will take effect after restarting the application.", None)) -#endif // QT_CONFIG(tooltip) -#if QT_CONFIG(tooltip) - self.save_and_close_Button.setToolTip(QCoreApplication.translate("Settings_Window", u"Changes will take effect after restarting the application.", None)) -#endif // QT_CONFIG(tooltip) - self.save_and_close_Button.setText(QCoreApplication.translate("Settings_Window", u"Apply theme", None)) - self.install_pkg_Button.setText(QCoreApplication.translate("Settings_Window", u"Install package for custom theme", None)) - self.save_and_restart_Button.setText(QCoreApplication.translate("Settings_Window", u"Apply and restart", None)) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage1), QCoreApplication.translate("Settings_Window", u"Preferences", None)) self.pkg_info_groupBox.setTitle(QCoreApplication.translate("Settings_Window", u"Package information", None)) self.label_optima35_latestversion.setText(QCoreApplication.translate("Settings_Window", u"unknown", None)) self.label_latest_version.setText(QCoreApplication.translate("Settings_Window", u"Latest version", None)) @@ -293,5 +270,28 @@ class Ui_Settings_Window(object): #endif // QT_CONFIG(tooltip) self.restart_checkBox.setText(QCoreApplication.translate("Settings_Window", u"Restart", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage2), QCoreApplication.translate("Settings_Window", u"Updater", None)) + self.groupBox_4.setTitle(QCoreApplication.translate("Settings_Window", u"EXIF", None)) + self.label_4.setText(QCoreApplication.translate("Settings_Window", u"Reset selectable EXIF data to default", None)) + self.reset_exif_Button.setText(QCoreApplication.translate("Settings_Window", u"Reset", None)) + self.groupBox_3.setTitle(QCoreApplication.translate("Settings_Window", u"Theme", None)) + self.label_3.setText(QCoreApplication.translate("Settings_Window", u"Change theme from OS to PyQT Dark or Light", None)) +#if QT_CONFIG(tooltip) + self.enable_theme_checkBox.setToolTip(QCoreApplication.translate("Settings_Window", u"Changes will take effect after restarting the application.", None)) +#endif // QT_CONFIG(tooltip) + self.enable_theme_checkBox.setText(QCoreApplication.translate("Settings_Window", u"Custom theme", None)) + self.theme_selection_comboBox.setItemText(0, QCoreApplication.translate("Settings_Window", u"Auto", None)) + self.theme_selection_comboBox.setItemText(1, QCoreApplication.translate("Settings_Window", u"Dark", None)) + self.theme_selection_comboBox.setItemText(2, QCoreApplication.translate("Settings_Window", u"Light", None)) + +#if QT_CONFIG(tooltip) + self.theme_selection_comboBox.setToolTip(QCoreApplication.translate("Settings_Window", u"Changes will take effect after restarting the application.", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(tooltip) + self.save_and_close_Button.setToolTip(QCoreApplication.translate("Settings_Window", u"Changes will take effect after restarting the application.", None)) +#endif // QT_CONFIG(tooltip) + self.save_and_close_Button.setText(QCoreApplication.translate("Settings_Window", u"Apply theme", None)) + self.install_pkg_Button.setText(QCoreApplication.translate("Settings_Window", u"Install package for custom theme", None)) + self.save_and_restart_Button.setText(QCoreApplication.translate("Settings_Window", u"Apply and restart", None)) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage1), QCoreApplication.translate("Settings_Window", u"Preferences", None)) # retranslateUi diff --git a/src/OptimaLab35/ui/settings_window.ui b/src/OptimaLab35/ui/settings_window.ui index d6b92d6..91bee20 100644 --- a/src/OptimaLab35/ui/settings_window.ui +++ b/src/OptimaLab35/ui/settings_window.ui @@ -47,154 +47,6 @@ 0 - - - Preferences - - - - - - EXIF - - - - - - Reset selectable EXIF data to default - - - true - - - - - - - - 100 - 0 - - - - - 100 - 16777215 - - - - Reset - - - - - - - - - - Theme - - - - - - Change theme from OS to PyQT Dark or Light - - - - - - - Changes will take effect after restarting the application. - - - Custom theme - - - false - - - - - - - false - - - - 100 - 0 - - - - - 100 - 16777215 - - - - Changes will take effect after restarting the application. - - - - Auto - - - - - Dark - - - - - Light - - - - - - - - Changes will take effect after restarting the application. - - - Apply theme - - - - - - - Qt::Orientation::Horizontal - - - - 98 - 20 - - - - - - - - Install package for custom theme - - - - - - - Apply and restart - - - - - - - - Updater @@ -381,6 +233,154 @@ + + + Preferences + + + + + + EXIF + + + + + + Reset selectable EXIF data to default + + + true + + + + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Reset + + + + + + + + + + Theme + + + + + + Change theme from OS to PyQT Dark or Light + + + + + + + Changes will take effect after restarting the application. + + + Custom theme + + + false + + + + + + + false + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Changes will take effect after restarting the application. + + + + Auto + + + + + Dark + + + + + Light + + + + + + + + Changes will take effect after restarting the application. + + + Apply theme + + + + + + + Qt::Orientation::Horizontal + + + + 98 + 20 + + + + + + + + Install package for custom theme + + + + + + + Apply and restart + + + + + + + +