chore! finishing touches

Minor changes to the UI, few fixes and updating documentation for stable release.
This commit is contained in:
Mr Finchum 2025-03-06 16:20:13 +00:00
parent 2c633d6dc4
commit c08bb59dae
12 changed files with 234 additions and 151 deletions

View file

@ -1,19 +1,25 @@
# Changelog # Changelog
## 0.15.0: Preview Image Resizing Update ## 1.0: Final Polish (06.03.25)
- Fixed a bug where the GPS field being empty but selected caused issues.
- EXIF insertion is now canceled if any image in the folder does not end with a number.
- Minor GUI adjustments for a more polished experience.
- Disabled preview adjustment controls until an image is loaded to prevent errors.
## 0.15.0: Preview Image Resizing Update (12.02.25)
- Added the ability to change the preview image size dynamically. - Added the ability to change the preview image size dynamically.
- Previously, the image was processed and displayed at its original size, causing lag or unresponsiveness when adjusting the slider. - Previously, the image was processed and displayed at its original size, causing lag or unresponsiveness when adjusting the slider.
- Reducing the processed image size should help improve performance. - Reducing the processed image size should help improve performance.
- Default preview image size is now **25%**, but users can adjust it between **10% and 100%**. - Default preview image size is now **25%**, but users can adjust it between **10% and 100%**.
## 0.14.x ## 0.14.x
### 0.14.1: Patch changelog ### 0.14.1: Patch changelog (12.02.25)
- Updated the changelog to include missing entries. - Updated the changelog to include missing entries.
### 0.14.0: Code refactor (by Mr. Finch) ### 0.14.0: Code refactor (by Mr. Finch) (11.02.25)
- Introduced constants and optimized the code. - Introduced constants and optimized the code.
## 0.13.x ## 0.13.x (11.02.25)
### 0.13.1: Fixed image processing ### 0.13.1: Fixed image processing
- Fixed a bug that made it impossible to process images. - Fixed a bug that made it impossible to process images.
@ -21,28 +27,28 @@
- Added a requirements file. - Added a requirements file.
## 0.12.x ## 0.12.x
### 0.12.6: Disabled app restart on Windows ### 0.12.6: Disabled app restart on Windows (11.02.25)
- The app can not restart properly on Windows, so the restart button has been hidden when the OS is `nt`. - The app can not restart properly on Windows, so the restart button has been hidden when the OS is `nt`.
- Also updated tool tip to indicate that changing theme requeres are restart. - Also updated tool tip to indicate that changing theme requeres are restart.
### 0.12.5: Fixed EXIF File Generation Bug ### 0.12.5: Fixed EXIF File Generation Bug (10.02.25)
- Fixed a bug where the application failed to generate a new default EXIF file if none was available. Now, the file is correctly created when missing. - Fixed a bug where the application failed to generate a new default EXIF file if none was available. Now, the file is correctly created when missing.
### 0.12.4: Updated README ### 0.12.4: Updated README (10.02.25)
- The README file (project description) now includes updates description and screenshots. - The README file (project description) now includes updates description and screenshots.
### 0.12.3: UI Adjustments ### 0.12.3: UI Adjustments (10.02.25)
- Minor changes to maintain a unified layout across all windows. - Minor changes to maintain a unified layout across all windows.
- Added option to sync app theme with OS (if supported). - Added option to sync app theme with OS (if supported).
- Set auto theme as the default value. - Set auto theme as the default value.
### 0.12.2: Minor UI Improvements for Theme Compatibility ### 0.12.2: Minor UI Improvements for Theme Compatibility (10.02.25)
- Fixed text clipping issues when using the new theme options. - Fixed text clipping issues when using the new theme options.
### 0.12.1: Removed Unnecessary Debug Prints ### 0.12.1: Removed Unnecessary Debug Prints (09.02.25)
- Removed leftover debug statements. - Removed leftover debug statements.
### 0.12.0: New Settings Menu & Patches ### 0.12.0: New Settings Menu & Patches (09.02.25)
- **New Settings Window:** - **New Settings Window:**
- The updater window has been reworked into a settings window. - The updater window has been reworked into a settings window.
- **Initial settings (first tab) include:** - **Initial settings (first tab) include:**
@ -57,7 +63,7 @@
- Minor changes to `utility.py` to handle settings. - Minor changes to `utility.py` to handle settings.
--- ---
## 0.11.x ## 0.11.x (05.02.25)
### 0.11.1: Fixed pipeline ### 0.11.1: Fixed pipeline
- Fixed pipeline publish error - Fixed pipeline publish error
@ -69,7 +75,7 @@
--- ---
## 0.10.x ## 0.10.x (04.02.25)
### 0.10.1: Fixed Updater ### 0.10.1: Fixed Updater
- Fixed an issue where the updater was permanently disabled. - Fixed an issue where the updater was permanently disabled.

View file

@ -1,5 +1,5 @@
# **OptimaLab35** # **OptimaLab35**
_Last updated: 10 Feb 2025 (v.0.12.3)_ Last updated: 06 Mar 2025 (v.1.0.0)
## **Overview** ## **Overview**
@ -10,12 +10,8 @@ It serves as a GUI for the [OPTIMA35 library](https://gitlab.com/CodeByMrFinchum
--- ---
## **Current Status** ## **Current Status**
### **Early Development** The program has reached a stable release. All functions have been tested, and there should be **no** bugs.
OptimaLab35 is actively developed using **PySide6** and **Qt**, providing a modern interface for **OPTIMA35**. While there is always room for additional features and optimizations, the core functionality is complete and reliable.
The program is still in its early stages, and features may change drastically over time. Some features might be added but later removed if they don't prove useful. Expect significant changes to the UI and functionality between updates.
For the most accurate and detailed update information, please refer to the [**CHANGELOG**](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/blob/main/CHANGELOG.md) as the readme might lack behind.
--- ---
@ -53,8 +49,9 @@ pip install OptimaLab35
--- ---
## Preview GUI **0.12.2** ## GUI Preview
**PREVIEW** might be out of date. The layout remains consistent with v1.0.0.
The UI is OS-dependent, but a custom theme can be enabled in the settings.
**Main tab** **Main tab**
@ -83,10 +80,14 @@ pip install OptimaLab35
--- ---
# Use of LLMs # Contribution
Thanks to developer [Mr Finch](https://gitlab.com/MrFinchMkV) for contributing to this project.
## Use of LLMs
In the interest of transparency, I disclose that Generative AI (GAI) large language models (LLMs), including OpenAIs ChatGPT and Ollama models (e.g., OpenCoder and Qwen2.5-coder), have been used to assist in this project. In the interest of transparency, I disclose that Generative AI (GAI) large language models (LLMs), including OpenAIs ChatGPT and Ollama models (e.g., OpenCoder and Qwen2.5-coder), have been used to assist in this project.
## Areas of Assistance: ### Areas of Assistance:
- Project discussions and planning - Project discussions and planning
- Spelling and grammar corrections - Spelling and grammar corrections
- Suggestions for suitable packages and libraries - Suggestions for suitable packages and libraries
@ -98,7 +99,7 @@ In cases where LLMs contribute directly to code or provide substantial optimizat
- mradermacher gguf Q4K-M Instruct version of infly/OpenCoder-1.5B - mradermacher gguf Q4K-M Instruct version of infly/OpenCoder-1.5B
- unsloth gguf Q4K_M Instruct version of both Qwen/QWEN2 1.5B and 3B - unsloth gguf Q4K_M Instruct version of both Qwen/QWEN2 1.5B and 3B
### References #### References
1. **Huang, Siming, et al.** 1. **Huang, Siming, et al.**
*OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models.* *OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models.*
2024. [PDF](https://arxiv.org/pdf/2411.04905) 2024. [PDF](https://arxiv.org/pdf/2411.04905)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Before After
Before After

View file

@ -1,4 +1,9 @@
OptimaLab35 is in active development, and even *stable* versions may produce errors in unexpected situations. It is a GUI for optima35. **[OptimaLab35](https://gitlab.com/CodeByMrFinchum/OptimaLab35)** is a graphical interface for the [OPTIMA35 library](https://gitlab.com/CodeByMrFinchum/optima35), designed for efficient image and metadata management.
Please visit [OptimaLab35](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/blob/main/media/exif_editor.png?ref_type=heads) gitlab page for more information.
Uses [optima35](https://gitlab.com/CodeByMrFinchum/optima35) to modify images. ### **Features**
- Resize, adjust brightness/contrast, and convert images to grayscale
- Add customizable text-based watermarks
- Manage EXIF data: add, copy, remove, and adjust timestamps
- Preview image adjustments in real time
- Theme selection (light, dark, auto)
- Automatic updates via PyPI

View file

@ -343,6 +343,14 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
# Start worker in thread pool ChatGPT # Start worker in thread pool ChatGPT
self.thread_pool.start(worker) self.thread_pool.start(worker)
def control_ending(self, name_lst):
for item in name_lst:
try:
int(item[-1])
except ValueError:
return False
return True
def insert_exif(self, image_files): def insert_exif(self, image_files):
input_folder = self.settings["input_folder"] input_folder = self.settings["input_folder"]
@ -374,6 +382,11 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
return return
image_list = self.image_list_from_folder(self.settings["input_folder"]) image_list = self.image_list_from_folder(self.settings["input_folder"])
if not self.control_ending(image_list):
QMessageBox.warning(self, "Warning", f"Error: one or more filenames do not end on a number.\nCan not adjust time")
self.toggle_buttons(True)
return
self.insert_exif(image_list) self.insert_exif(image_list)
self.toggle_buttons(True) self.toggle_buttons(True)
@ -410,7 +423,7 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
user_data["user_comment"] = self.ui.user_comment_comboBox.currentText() user_data["user_comment"] = self.ui.user_comment_comboBox.currentText()
user_data["artist"] = self.ui.artist_comboBox.currentText() user_data["artist"] = self.ui.artist_comboBox.currentText()
user_data["copyright_info"] = self.ui.copyright_info_comboBox.currentText() user_data["copyright_info"] = self.ui.copyright_info_comboBox.currentText()
user_data["software"] = f"{self.name} (v{self.version}) with {self.o.name} (v{self.o.version})" user_data["software"] = f"{self.name} {self.version} with {self.o.name} {self.o.version}"
return user_data return user_data
def get_selected_exif(self): def get_selected_exif(self):
@ -420,7 +433,10 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
if self.ui.add_date_checkBox.isChecked(): if self.ui.add_date_checkBox.isChecked():
selected_exif["date_time_original"] = self.get_date() selected_exif["date_time_original"] = self.get_date()
if self.ui.gps_checkBox.isChecked(): if self.ui.gps_checkBox.isChecked():
self.settings["gps"] = [float(self.ui.lat_lineEdit.text()), float(self.ui.long_lineEdit.text())] try:
self.settings["gps"] = [float(self.ui.lat_lineEdit.text()), float(self.ui.long_lineEdit.text())]
except ValueError as e:
self.settings["gps"] = "Wrong gps data"
else: else:
self.settings["gps"] = None self.settings["gps"] = None
return selected_exif return selected_exif
@ -460,6 +476,9 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
self.settings["own_date"] = self.get_checkbox_value(self.ui.add_date_checkBox) self.settings["own_date"] = self.get_checkbox_value(self.ui.add_date_checkBox)
if self.settings["own_exif"]: if self.settings["own_exif"]:
self.settings["user_selected_exif"] = self.get_selected_exif() self.settings["user_selected_exif"] = self.get_selected_exif()
if self.settings["gps"] is not None:
if len(self.settings["gps"]) != 2:
return self.settings["gps"]
else: else:
self.settings["user_selected_exif"] = None self.settings["user_selected_exif"] = None
self.settings["gps"] = None self.settings["gps"] = None
@ -841,6 +860,7 @@ class PreviewWindow(QMainWindow, Ui_Preview_Window):
self.ui.contrast_spinBox.valueChanged.connect(self.on_ui_change) self.ui.contrast_spinBox.valueChanged.connect(self.on_ui_change)
self.ui.contrast_Slider.valueChanged.connect(self.on_ui_change) self.ui.contrast_Slider.valueChanged.connect(self.on_ui_change)
self.ui.grayscale_checkBox.stateChanged.connect(self.on_ui_change) self.ui.grayscale_checkBox.stateChanged.connect(self.on_ui_change)
self.ui_elements(False)
def on_ui_change(self): def on_ui_change(self):
"""Triggers update only if live update is enabled.""" """Triggers update only if live update is enabled."""
@ -852,6 +872,13 @@ class PreviewWindow(QMainWindow, Ui_Preview_Window):
if file[0]: if file[0]:
self.ui.image_path_lineEdit.setText(file[0]) self.ui.image_path_lineEdit.setText(file[0])
self.update_preview() self.update_preview()
self.ui_elements(True)
def ui_elements(self, state):
self.ui.groupBox_2.setEnabled(state)
self.ui.groupBox.setEnabled(state)
self.ui.groupBox_5.setEnabled(state)
def update_preview(self): def update_preview(self):
"""Handles loading and displaying the image in a separate thread.""" """Handles loading and displaying the image in a separate thread."""

View file

@ -27,10 +27,10 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
if not MainWindow.objectName(): if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow") MainWindow.setObjectName(u"MainWindow")
MainWindow.setWindowModality(Qt.NonModal) MainWindow.setWindowModality(Qt.WindowModality.NonModal)
MainWindow.resize(440, 756) MainWindow.resize(450, 720)
MainWindow.setMinimumSize(QSize(350, 677)) MainWindow.setMinimumSize(QSize(350, 677))
MainWindow.setMaximumSize(QSize(1000, 1000)) MainWindow.setMaximumSize(QSize(450, 1000))
self.actionInfo = QAction(MainWindow) self.actionInfo = QAction(MainWindow)
self.actionInfo.setObjectName(u"actionInfo") self.actionInfo.setObjectName(u"actionInfo")
self.actionPreview = QAction(MainWindow) self.actionPreview = QAction(MainWindow)
@ -45,7 +45,7 @@ class Ui_MainWindow(object):
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.tabWidget = QTabWidget(self.centralwidget) self.tabWidget = QTabWidget(self.centralwidget)
self.tabWidget.setObjectName(u"tabWidget") self.tabWidget.setObjectName(u"tabWidget")
self.tabWidget.setMaximumSize(QSize(500, 16777215)) self.tabWidget.setMaximumSize(QSize(420, 16777215))
self.tab_1 = QWidget() self.tab_1 = QWidget()
self.tab_1.setObjectName(u"tab_1") self.tab_1.setObjectName(u"tab_1")
self.verticalLayout_10 = QVBoxLayout(self.tab_1) self.verticalLayout_10 = QVBoxLayout(self.tab_1)
@ -115,7 +115,7 @@ class Ui_MainWindow(object):
self.png_quality_Slider.setMaximum(9) self.png_quality_Slider.setMaximum(9)
self.png_quality_Slider.setPageStep(1) self.png_quality_Slider.setPageStep(1)
self.png_quality_Slider.setSliderPosition(6) self.png_quality_Slider.setSliderPosition(6)
self.png_quality_Slider.setOrientation(Qt.Horizontal) self.png_quality_Slider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_4.addWidget(self.png_quality_Slider, 4, 2, 1, 1) self.gridLayout_4.addWidget(self.png_quality_Slider, 4, 2, 1, 1)
@ -146,7 +146,7 @@ class Ui_MainWindow(object):
self.jpg_quality_Slider.setMinimum(1) self.jpg_quality_Slider.setMinimum(1)
self.jpg_quality_Slider.setMaximum(100) self.jpg_quality_Slider.setMaximum(100)
self.jpg_quality_Slider.setSliderPosition(90) self.jpg_quality_Slider.setSliderPosition(90)
self.jpg_quality_Slider.setOrientation(Qt.Horizontal) self.jpg_quality_Slider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_4.addWidget(self.jpg_quality_Slider, 3, 2, 1, 1) self.gridLayout_4.addWidget(self.jpg_quality_Slider, 3, 2, 1, 1)
@ -160,7 +160,7 @@ class Ui_MainWindow(object):
self.resize_Slider.setMinimum(1) self.resize_Slider.setMinimum(1)
self.resize_Slider.setMaximum(200) self.resize_Slider.setMaximum(200)
self.resize_Slider.setValue(100) self.resize_Slider.setValue(100)
self.resize_Slider.setOrientation(Qt.Horizontal) self.resize_Slider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_4.addWidget(self.resize_Slider, 5, 2, 1, 1) self.gridLayout_4.addWidget(self.resize_Slider, 5, 2, 1, 1)
@ -192,7 +192,7 @@ class Ui_MainWindow(object):
self.brightness_horizontalSlider.setObjectName(u"brightness_horizontalSlider") self.brightness_horizontalSlider.setObjectName(u"brightness_horizontalSlider")
self.brightness_horizontalSlider.setMinimum(-100) self.brightness_horizontalSlider.setMinimum(-100)
self.brightness_horizontalSlider.setMaximum(100) self.brightness_horizontalSlider.setMaximum(100)
self.brightness_horizontalSlider.setOrientation(Qt.Horizontal) self.brightness_horizontalSlider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_3.addWidget(self.brightness_horizontalSlider, 1, 1, 1, 1) self.gridLayout_3.addWidget(self.brightness_horizontalSlider, 1, 1, 1, 1)
@ -223,7 +223,7 @@ class Ui_MainWindow(object):
self.contrast_horizontalSlider.setObjectName(u"contrast_horizontalSlider") self.contrast_horizontalSlider.setObjectName(u"contrast_horizontalSlider")
self.contrast_horizontalSlider.setMinimum(-100) self.contrast_horizontalSlider.setMinimum(-100)
self.contrast_horizontalSlider.setMaximum(100) self.contrast_horizontalSlider.setMaximum(100)
self.contrast_horizontalSlider.setOrientation(Qt.Horizontal) self.contrast_horizontalSlider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_3.addWidget(self.contrast_horizontalSlider, 4, 1, 1, 1) self.gridLayout_3.addWidget(self.contrast_horizontalSlider, 4, 1, 1, 1)
@ -243,6 +243,7 @@ class Ui_MainWindow(object):
self.groupBox_3 = QGroupBox(self.tab_1) self.groupBox_3 = QGroupBox(self.tab_1)
self.groupBox_3.setObjectName(u"groupBox_3") self.groupBox_3.setObjectName(u"groupBox_3")
self.groupBox_3.setEnabled(True) self.groupBox_3.setEnabled(True)
self.groupBox_3.setMaximumSize(QSize(400, 16777215))
self.groupBox_3.setFlat(False) self.groupBox_3.setFlat(False)
self.groupBox_3.setCheckable(False) self.groupBox_3.setCheckable(False)
self.groupBox_3.setChecked(False) self.groupBox_3.setChecked(False)
@ -537,7 +538,7 @@ class Ui_MainWindow(object):
self.dateEdit = QDateEdit(self.date_groupBox) self.dateEdit = QDateEdit(self.date_groupBox)
self.dateEdit.setObjectName(u"dateEdit") self.dateEdit.setObjectName(u"dateEdit")
self.dateEdit.setEnabled(False) self.dateEdit.setEnabled(False)
self.dateEdit.setDateTime(QDateTime(QDate(2025, 1, 1), QTime(0, 0, 0))) self.dateEdit.setDateTime(QDateTime(QDate(2024, 12, 31), QTime(23, 0, 0)))
self.dateEdit.setMaximumDate(QDate(2038, 12, 31)) self.dateEdit.setMaximumDate(QDate(2038, 12, 31))
self.dateEdit.setMinimumDate(QDate(1970, 1, 1)) self.dateEdit.setMinimumDate(QDate(1970, 1, 1))
self.dateEdit.setCalendarPopup(True) self.dateEdit.setCalendarPopup(True)
@ -557,7 +558,7 @@ class Ui_MainWindow(object):
MainWindow.setStatusBar(self.statusBar) MainWindow.setStatusBar(self.statusBar)
self.menuBar = QMenuBar(MainWindow) self.menuBar = QMenuBar(MainWindow)
self.menuBar.setObjectName(u"menuBar") self.menuBar.setObjectName(u"menuBar")
self.menuBar.setGeometry(QRect(0, 0, 440, 27)) self.menuBar.setGeometry(QRect(0, 0, 450, 22))
self.menuHelp = QMenu(self.menuBar) self.menuHelp = QMenu(self.menuBar)
self.menuHelp.setObjectName(u"menuHelp") self.menuHelp.setObjectName(u"menuHelp")
self.menuSettings = QMenu(self.menuBar) self.menuSettings = QMenu(self.menuBar)

View file

@ -3,14 +3,14 @@
<class>MainWindow</class> <class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow"> <widget class="QMainWindow" name="MainWindow">
<property name="windowModality"> <property name="windowModality">
<enum>Qt::NonModal</enum> <enum>Qt::WindowModality::NonModal</enum>
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>440</width> <width>450</width>
<height>756</height> <height>720</height>
</rect> </rect>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
@ -21,7 +21,7 @@
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>1000</width> <width>450</width>
<height>1000</height> <height>1000</height>
</size> </size>
</property> </property>
@ -34,7 +34,7 @@
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>500</width> <width>420</width>
<height>16777215</height> <height>16777215</height>
</size> </size>
</property> </property>
@ -186,7 +186,7 @@
<number>6</number> <number>6</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -247,7 +247,7 @@
<number>90</number> <number>90</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -276,7 +276,7 @@
<number>100</number> <number>100</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -336,7 +336,7 @@
<number>100</number> <number>100</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -388,7 +388,7 @@
<number>100</number> <number>100</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -420,6 +420,12 @@
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="maximumSize">
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
<property name="title"> <property name="title">
<string>Watermarking</string> <string>Watermarking</string>
</property> </property>
@ -875,12 +881,12 @@
</property> </property>
<property name="dateTime"> <property name="dateTime">
<datetime> <datetime>
<hour>0</hour> <hour>23</hour>
<minute>0</minute> <minute>0</minute>
<second>0</second> <second>0</second>
<year>2025</year> <year>2024</year>
<month>1</month> <month>12</month>
<day>1</day> <day>31</day>
</datetime> </datetime>
</property> </property>
<property name="maximumDate"> <property name="maximumDate">
@ -917,8 +923,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>440</width> <width>450</width>
<height>27</height> <height>22</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuHelp"> <widget class="QMenu" name="menuHelp">

View file

@ -34,7 +34,7 @@ class Ui_Preview_Window(object):
self.QLabel = QLabel(self.centralwidget) self.QLabel = QLabel(self.centralwidget)
self.QLabel.setObjectName(u"QLabel") self.QLabel.setObjectName(u"QLabel")
self.QLabel.setMinimumSize(QSize(628, 628)) self.QLabel.setMinimumSize(QSize(628, 628))
self.QLabel.setFrameShape(QFrame.Box) self.QLabel.setFrameShape(QFrame.Shape.Box)
self.QLabel.setScaledContents(False) self.QLabel.setScaledContents(False)
self.horizontalLayout.addWidget(self.QLabel) self.horizontalLayout.addWidget(self.QLabel)
@ -42,7 +42,7 @@ class Ui_Preview_Window(object):
self.widget = QWidget(self.centralwidget) self.widget = QWidget(self.centralwidget)
self.widget.setObjectName(u"widget") self.widget.setObjectName(u"widget")
self.widget.setMinimumSize(QSize(160, 628)) self.widget.setMinimumSize(QSize(160, 628))
self.widget.setMaximumSize(QSize(150, 16777215)) self.widget.setMaximumSize(QSize(180, 16777215))
self.verticalLayout_4 = QVBoxLayout(self.widget) self.verticalLayout_4 = QVBoxLayout(self.widget)
self.verticalLayout_4.setObjectName(u"verticalLayout_4") self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.groupBox_3 = QGroupBox(self.widget) self.groupBox_3 = QGroupBox(self.widget)
@ -77,7 +77,7 @@ class Ui_Preview_Window(object):
self.brightness_Slider.setObjectName(u"brightness_Slider") self.brightness_Slider.setObjectName(u"brightness_Slider")
self.brightness_Slider.setMinimum(-100) self.brightness_Slider.setMinimum(-100)
self.brightness_Slider.setMaximum(100) self.brightness_Slider.setMaximum(100)
self.brightness_Slider.setOrientation(Qt.Horizontal) self.brightness_Slider.setOrientation(Qt.Orientation.Horizontal)
self.verticalLayout.addWidget(self.brightness_Slider) self.verticalLayout.addWidget(self.brightness_Slider)
@ -104,7 +104,7 @@ class Ui_Preview_Window(object):
self.contrast_Slider.setObjectName(u"contrast_Slider") self.contrast_Slider.setObjectName(u"contrast_Slider")
self.contrast_Slider.setMinimum(-100) self.contrast_Slider.setMinimum(-100)
self.contrast_Slider.setMaximum(100) self.contrast_Slider.setMaximum(100)
self.contrast_Slider.setOrientation(Qt.Horizontal) self.contrast_Slider.setOrientation(Qt.Orientation.Horizontal)
self.verticalLayout_2.addWidget(self.contrast_Slider) self.verticalLayout_2.addWidget(self.contrast_Slider)
@ -134,26 +134,37 @@ class Ui_Preview_Window(object):
self.groupBox_4 = QGroupBox(self.widget) self.groupBox_4 = QGroupBox(self.widget)
self.groupBox_4.setObjectName(u"groupBox_4") self.groupBox_4.setObjectName(u"groupBox_4")
self.groupBox_4.setMaximumSize(QSize(170, 16777215))
self.gridLayout_2 = QGridLayout(self.groupBox_4) self.gridLayout_2 = QGridLayout(self.groupBox_4)
self.gridLayout_2.setObjectName(u"gridLayout_2") self.gridLayout_2.setObjectName(u"gridLayout_2")
self.checkBox = QCheckBox(self.groupBox_4)
self.checkBox.setObjectName(u"checkBox")
self.checkBox.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
self.checkBox.setChecked(True)
self.gridLayout_2.addWidget(self.checkBox, 3, 0, 1, 2)
self.close_Button = QPushButton(self.groupBox_4)
self.close_Button.setObjectName(u"close_Button")
self.gridLayout_2.addWidget(self.close_Button, 4, 0, 1, 2)
self.live_update = QCheckBox(self.groupBox_4) self.live_update = QCheckBox(self.groupBox_4)
self.live_update.setObjectName(u"live_update") self.live_update.setObjectName(u"live_update")
font = QFont()
font.setPointSize(11)
self.live_update.setFont(font)
self.live_update.setChecked(True) self.live_update.setChecked(True)
self.gridLayout_2.addWidget(self.live_update, 0, 0, 1, 1) self.gridLayout_2.addWidget(self.live_update, 0, 0, 1, 1)
self.scale_label = QLabel(self.groupBox_4)
self.scale_label.setObjectName(u"scale_label")
self.gridLayout_2.addWidget(self.scale_label, 0, 1, 1, 1)
self.scale_Slider = QSlider(self.groupBox_4) self.scale_Slider = QSlider(self.groupBox_4)
self.scale_Slider.setObjectName(u"scale_Slider") self.scale_Slider.setObjectName(u"scale_Slider")
self.scale_Slider.setMinimum(10) self.scale_Slider.setMinimum(10)
self.scale_Slider.setMaximum(100) self.scale_Slider.setMaximum(100)
self.scale_Slider.setPageStep(10) self.scale_Slider.setPageStep(10)
self.scale_Slider.setValue(25) self.scale_Slider.setValue(25)
self.scale_Slider.setOrientation(Qt.Horizontal) self.scale_Slider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_2.addWidget(self.scale_Slider, 1, 0, 1, 2) self.gridLayout_2.addWidget(self.scale_Slider, 1, 0, 1, 2)
@ -164,17 +175,13 @@ class Ui_Preview_Window(object):
self.gridLayout_2.addWidget(self.update_Button, 2, 0, 1, 2) self.gridLayout_2.addWidget(self.update_Button, 2, 0, 1, 2)
self.checkBox = QCheckBox(self.groupBox_4) self.scale_label = QLabel(self.groupBox_4)
self.checkBox.setObjectName(u"checkBox") self.scale_label.setObjectName(u"scale_label")
self.checkBox.setLayoutDirection(Qt.LeftToRight) font1 = QFont()
self.checkBox.setChecked(True) font1.setPointSize(9)
self.scale_label.setFont(font1)
self.gridLayout_2.addWidget(self.checkBox, 3, 0, 1, 2) self.gridLayout_2.addWidget(self.scale_label, 0, 1, 1, 1)
self.close_Button = QPushButton(self.groupBox_4)
self.close_Button.setObjectName(u"close_Button")
self.gridLayout_2.addWidget(self.close_Button, 4, 0, 1, 2)
self.verticalLayout_4.addWidget(self.groupBox_4) self.verticalLayout_4.addWidget(self.groupBox_4)
@ -185,7 +192,7 @@ class Ui_Preview_Window(object):
Preview_Window.setCentralWidget(self.centralwidget) Preview_Window.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(Preview_Window) self.menubar = QMenuBar(Preview_Window)
self.menubar.setObjectName(u"menubar") self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 875, 22)) self.menubar.setGeometry(QRect(0, 0, 875, 26))
Preview_Window.setMenuBar(self.menubar) Preview_Window.setMenuBar(self.menubar)
self.retranslateUi(Preview_Window) self.retranslateUi(Preview_Window)
@ -222,23 +229,8 @@ class Ui_Preview_Window(object):
#if QT_CONFIG(tooltip) #if QT_CONFIG(tooltip)
self.grayscale_checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Convert the image to grayscale (black and white).", None)) self.grayscale_checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Convert the image to grayscale (black and white).", None))
#endif // QT_CONFIG(tooltip) #endif // QT_CONFIG(tooltip)
self.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Black n White", None)) self.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Black and White", None))
self.groupBox_4.setTitle(QCoreApplication.translate("Preview_Window", u"Behavior", None)) self.groupBox_4.setTitle(QCoreApplication.translate("Preview_Window", u"Behavior", None))
#if QT_CONFIG(tooltip)
self.live_update.setToolTip(QCoreApplication.translate("Preview_Window", u"Live update applies changes instantly. If the app becomes unresponsive or lags, disable this option.", None))
#endif // QT_CONFIG(tooltip)
self.live_update.setText(QCoreApplication.translate("Preview_Window", u"Live refresh", None))
#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))
#if QT_CONFIG(tooltip)
self.scale_Slider.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)
#if QT_CONFIG(tooltip)
self.update_Button.setToolTip(QCoreApplication.translate("Preview_Window", u"Apply Changes to Preview", None))
#endif // QT_CONFIG(tooltip)
self.update_Button.setText(QCoreApplication.translate("Preview_Window", u"Refresh image", None))
#if QT_CONFIG(tooltip) #if QT_CONFIG(tooltip)
self.checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Enable to copy adjustments to the main window upon closing", None)) self.checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Enable to copy adjustments to the main window upon closing", None))
#endif // QT_CONFIG(tooltip) #endif // QT_CONFIG(tooltip)
@ -247,5 +239,20 @@ class Ui_Preview_Window(object):
self.close_Button.setToolTip("") self.close_Button.setToolTip("")
#endif // QT_CONFIG(tooltip) #endif // QT_CONFIG(tooltip)
self.close_Button.setText(QCoreApplication.translate("Preview_Window", u"Close", None)) self.close_Button.setText(QCoreApplication.translate("Preview_Window", u"Close", None))
#if QT_CONFIG(tooltip)
self.live_update.setToolTip(QCoreApplication.translate("Preview_Window", u"Live update applies changes instantly. If the app becomes unresponsive or lags, disable this option.", None))
#endif // QT_CONFIG(tooltip)
self.live_update.setText(QCoreApplication.translate("Preview_Window", u"Live refresh", None))
#if QT_CONFIG(tooltip)
self.scale_Slider.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)
#if QT_CONFIG(tooltip)
self.update_Button.setToolTip(QCoreApplication.translate("Preview_Window", u"Apply Changes to Preview", None))
#endif // QT_CONFIG(tooltip)
self.update_Button.setText(QCoreApplication.translate("Preview_Window", u"Refresh image", None))
#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))
# retranslateUi # retranslateUi

View file

@ -30,7 +30,7 @@
</size> </size>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Shape::Box</enum>
</property> </property>
<property name="text"> <property name="text">
<string/> <string/>
@ -50,7 +50,7 @@
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>150</width> <width>180</width>
<height>16777215</height> <height>16777215</height>
</size> </size>
</property> </property>
@ -106,7 +106,7 @@
<number>100</number> <number>100</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -148,7 +148,7 @@
<number>100</number> <number>100</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -177,7 +177,7 @@
<string>Convert the image to grayscale (black and white).</string> <string>Convert the image to grayscale (black and white).</string>
</property> </property>
<property name="text"> <property name="text">
<string>Black n White</string> <string>Black and White</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -187,7 +187,7 @@
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -199,12 +199,49 @@
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_4"> <widget class="QGroupBox" name="groupBox_4">
<property name="maximumSize">
<size>
<width>170</width>
<height>16777215</height>
</size>
</property>
<property name="title"> <property name="title">
<string>Behavior</string> <string>Behavior</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox">
<property name="toolTip">
<string>Enable to copy adjustments to the main window upon closing</string>
</property>
<property name="layoutDirection">
<enum>Qt::LayoutDirection::LeftToRight</enum>
</property>
<property name="text">
<string>Copy Values</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QPushButton" name="close_Button">
<property name="toolTip">
<string/>
</property>
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="live_update"> <widget class="QCheckBox" name="live_update">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Live update applies changes instantly. If the app becomes unresponsive or lags, disable this option.</string> <string>Live update applies changes instantly. If the app becomes unresponsive or lags, disable this option.</string>
</property> </property>
@ -216,16 +253,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1">
<widget class="QLabel" name="scale_label">
<property name="toolTip">
<string>Sets the resize value for the preview image. A high value may cause the application to freeze.</string>
</property>
<property name="text">
<string>25</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
<widget class="QSlider" name="scale_Slider"> <widget class="QSlider" name="scale_Slider">
<property name="toolTip"> <property name="toolTip">
@ -244,7 +271,7 @@
<number>25</number> <number>25</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -264,29 +291,18 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="2"> <item row="0" column="1">
<widget class="QCheckBox" name="checkBox"> <widget class="QLabel" name="scale_label">
<property name="toolTip"> <property name="font">
<string>Enable to copy adjustments to the main window upon closing</string> <font>
<pointsize>9</pointsize>
</font>
</property> </property>
<property name="layoutDirection"> <property name="toolTip">
<enum>Qt::LeftToRight</enum> <string>Sets the resize value for the preview image. A high value may cause the application to freeze.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Copy Values</string> <string>25</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QPushButton" name="close_Button">
<property name="toolTip">
<string/>
</property>
<property name="text">
<string>Close</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -304,7 +320,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>875</width> <width>875</width>
<height>22</height> <height>26</height>
</rect> </rect>
</property> </property>
</widget> </widget>

View file

@ -27,13 +27,15 @@ class Ui_Settings_Window(object):
Settings_Window.setEnabled(True) Settings_Window.setEnabled(True)
Settings_Window.resize(400, 325) Settings_Window.resize(400, 325)
Settings_Window.setMinimumSize(QSize(400, 300)) Settings_Window.setMinimumSize(QSize(400, 300))
Settings_Window.setMaximumSize(QSize(500, 500)) Settings_Window.setMaximumSize(QSize(450, 350))
self.centralwidget = QWidget(Settings_Window) self.centralwidget = QWidget(Settings_Window)
self.centralwidget.setObjectName(u"centralwidget") self.centralwidget.setObjectName(u"centralwidget")
self.centralwidget.setMaximumSize(QSize(500, 500))
self.verticalLayout = QVBoxLayout(self.centralwidget) self.verticalLayout = QVBoxLayout(self.centralwidget)
self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setObjectName(u"verticalLayout")
self.tabWidget = QTabWidget(self.centralwidget) self.tabWidget = QTabWidget(self.centralwidget)
self.tabWidget.setObjectName(u"tabWidget") self.tabWidget.setObjectName(u"tabWidget")
self.tabWidget.setMaximumSize(QSize(500, 500))
self.tabWidgetPage1 = QWidget() self.tabWidgetPage1 = QWidget()
self.tabWidgetPage1.setObjectName(u"tabWidgetPage1") self.tabWidgetPage1.setObjectName(u"tabWidgetPage1")
self.verticalLayout_2 = QVBoxLayout(self.tabWidgetPage1) self.verticalLayout_2 = QVBoxLayout(self.tabWidgetPage1)
@ -117,13 +119,13 @@ class Ui_Settings_Window(object):
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.label_optima35_latestversion = QLabel(self.pkg_info_groupBox) self.label_optima35_latestversion = QLabel(self.pkg_info_groupBox)
self.label_optima35_latestversion.setObjectName(u"label_optima35_latestversion") self.label_optima35_latestversion.setObjectName(u"label_optima35_latestversion")
self.label_optima35_latestversion.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_optima35_latestversion.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.label_optima35_latestversion, 2, 2, 1, 1) self.gridLayout.addWidget(self.label_optima35_latestversion, 2, 2, 1, 1)
self.label_latest_version = QLabel(self.pkg_info_groupBox) self.label_latest_version = QLabel(self.pkg_info_groupBox)
self.label_latest_version.setObjectName(u"label_latest_version") self.label_latest_version.setObjectName(u"label_latest_version")
self.label_latest_version.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_latest_version.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.label_latest_version, 0, 2, 1, 1) self.gridLayout.addWidget(self.label_latest_version, 0, 2, 1, 1)
@ -134,7 +136,7 @@ class Ui_Settings_Window(object):
self.label_optimalab35_latestversion = QLabel(self.pkg_info_groupBox) self.label_optimalab35_latestversion = QLabel(self.pkg_info_groupBox)
self.label_optimalab35_latestversion.setObjectName(u"label_optimalab35_latestversion") self.label_optimalab35_latestversion.setObjectName(u"label_optimalab35_latestversion")
self.label_optimalab35_latestversion.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_optimalab35_latestversion.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.label_optimalab35_latestversion, 1, 2, 1, 1) self.gridLayout.addWidget(self.label_optimalab35_latestversion, 1, 2, 1, 1)
@ -145,13 +147,13 @@ class Ui_Settings_Window(object):
self.label_optimalab35_localversion = QLabel(self.pkg_info_groupBox) self.label_optimalab35_localversion = QLabel(self.pkg_info_groupBox)
self.label_optimalab35_localversion.setObjectName(u"label_optimalab35_localversion") self.label_optimalab35_localversion.setObjectName(u"label_optimalab35_localversion")
self.label_optimalab35_localversion.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_optimalab35_localversion.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.label_optimalab35_localversion, 1, 1, 1, 1) self.gridLayout.addWidget(self.label_optimalab35_localversion, 1, 1, 1, 1)
self.label_6 = QLabel(self.pkg_info_groupBox) self.label_6 = QLabel(self.pkg_info_groupBox)
self.label_6.setObjectName(u"label_6") self.label_6.setObjectName(u"label_6")
self.label_6.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_6.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.label_6, 0, 1, 1, 1) self.gridLayout.addWidget(self.label_6, 0, 1, 1, 1)
@ -162,7 +164,7 @@ class Ui_Settings_Window(object):
self.label_optima35_localversion = QLabel(self.pkg_info_groupBox) self.label_optima35_localversion = QLabel(self.pkg_info_groupBox)
self.label_optima35_localversion.setObjectName(u"label_optima35_localversion") self.label_optima35_localversion.setObjectName(u"label_optima35_localversion")
self.label_optima35_localversion.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_optima35_localversion.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.label_optima35_localversion, 2, 1, 1, 1) self.gridLayout.addWidget(self.label_optima35_localversion, 2, 1, 1, 1)
@ -197,7 +199,7 @@ class Ui_Settings_Window(object):
self.label_last_check = QLabel(self.tabWidgetPage2) self.label_last_check = QLabel(self.tabWidgetPage2)
self.label_last_check.setObjectName(u"label_last_check") self.label_last_check.setObjectName(u"label_last_check")
self.label_last_check.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_last_check.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout_2.addWidget(self.label_last_check, 3, 1, 2, 1) self.gridLayout_2.addWidget(self.label_last_check, 3, 1, 2, 1)

View file

@ -21,17 +21,29 @@
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>500</width> <width>450</width>
<height>500</height> <height>350</height>
</size> </size>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Settings</string> <string>Settings</string>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<property name="maximumSize">
<size>
<width>500</width>
<height>500</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="maximumSize">
<size>
<width>500</width>
<height>500</height>
</size>
</property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
</property> </property>
@ -154,7 +166,7 @@
<item row="1" column="1"> <item row="1" column="1">
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -200,7 +212,7 @@
<string>unknown</string> <string>unknown</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -210,7 +222,7 @@
<string>Latest version</string> <string>Latest version</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -227,7 +239,7 @@
<string>unknown</string> <string>unknown</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -244,7 +256,7 @@
<string>0.0.0</string> <string>0.0.0</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -254,7 +266,7 @@
<string>Local Version</string> <string>Local Version</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -271,7 +283,7 @@
<string>0.0.0</string> <string>0.0.0</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -307,7 +319,7 @@
<item row="2" column="0"> <item row="2" column="0">
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -330,7 +342,7 @@
<string>TextLabel</string> <string>TextLabel</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>