UI improvments

This commit is contained in:
Mr Finchum 2025-02-02 13:21:23 +01:00
parent 53dd2512f1
commit 09bd5674ec
4 changed files with 333 additions and 177 deletions

View file

@ -538,6 +538,9 @@ class Ui_MainWindow(object):
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(2025, 1, 1), QTime(0, 0, 0)))
self.dateEdit.setMaximumDate(QDate(2038, 12, 31))
self.dateEdit.setMinimumDate(QDate(1970, 1, 1))
self.dateEdit.setCalendarPopup(True)
self.horizontalLayout_2.addWidget(self.dateEdit) self.horizontalLayout_2.addWidget(self.dateEdit)
@ -603,27 +606,60 @@ class Ui_MainWindow(object):
self.actionPreview.setText(QCoreApplication.translate("MainWindow", u"Preview image", None)) self.actionPreview.setText(QCoreApplication.translate("MainWindow", u"Preview image", None))
self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About", None)) self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About", None))
self.actionUpdate.setText(QCoreApplication.translate("MainWindow", u"Update", None)) self.actionUpdate.setText(QCoreApplication.translate("MainWindow", u"Update", None))
#if QT_CONFIG(tooltip)
self.input_folder_button.setToolTip(QCoreApplication.translate("MainWindow", u"Open a file browser to select a folder for loading images.", None))
#endif // QT_CONFIG(tooltip)
self.input_folder_button.setText(QCoreApplication.translate("MainWindow", u"Input", None)) self.input_folder_button.setText(QCoreApplication.translate("MainWindow", u"Input", None))
self.output_path.setText("") self.output_path.setText("")
self.output_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Output folder", None)) self.output_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Output folder", None))
#if QT_CONFIG(tooltip)
self.input_path.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.input_path.setText("") self.input_path.setText("")
self.input_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Input folder", None)) self.input_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Input folder", None))
#if QT_CONFIG(tooltip)
self.output_folder_button.setToolTip(QCoreApplication.translate("MainWindow", u"Open a file browser to select a folder for saving images.", None))
#endif // QT_CONFIG(tooltip)
self.output_folder_button.setText(QCoreApplication.translate("MainWindow", u"Output", None)) self.output_folder_button.setText(QCoreApplication.translate("MainWindow", u"Output", None))
self.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Essential group", None)) self.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Export Settings", None))
self.quality_label_2.setText(QCoreApplication.translate("MainWindow", u"Quality", None)) self.quality_label_2.setText(QCoreApplication.translate("MainWindow", u"Quality", None))
self.label_11.setText(QCoreApplication.translate("MainWindow", u"Format ", None)) self.label_11.setText(QCoreApplication.translate("MainWindow", u"Format ", None))
self.optimize_checkBox.setText(QCoreApplication.translate("MainWindow", u"optimize", None)) #if QT_CONFIG(tooltip)
self.optimize_checkBox.setToolTip(QCoreApplication.translate("MainWindow", u"Recommended for web use. Enables PIL optimization to slightly reduce file size without visible quality loss. ", None))
#endif // QT_CONFIG(tooltip)
self.optimize_checkBox.setText(QCoreApplication.translate("MainWindow", u"Optimize", None))
#if QT_CONFIG(tooltip)
self.png_quality_Slider.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.quality_label_1.setText(QCoreApplication.translate("MainWindow", u"Quality", None)) self.quality_label_1.setText(QCoreApplication.translate("MainWindow", u"Quality", None))
#if QT_CONFIG(tooltip)
self.image_type.setToolTip(QCoreApplication.translate("MainWindow", u"Select export file type.", None))
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
self.label_13.setToolTip(QCoreApplication.translate("MainWindow", u"Choose image scaling options. \u26a0 Upscaling large images may freeze the system depending on hardware.", None))
#endif // QT_CONFIG(tooltip)
self.label_13.setText(QCoreApplication.translate("MainWindow", u"Resize", None)) self.label_13.setText(QCoreApplication.translate("MainWindow", u"Resize", None))
self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"Extra stuff", None)) #if QT_CONFIG(tooltip)
self.resize_Slider.setToolTip("")
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
self.resize_spinBox.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"Image Adjustments", None))
self.label_9.setText(QCoreApplication.translate("MainWindow", u"Brightness", None)) self.label_9.setText(QCoreApplication.translate("MainWindow", u"Brightness", None))
self.label_10.setText(QCoreApplication.translate("MainWindow", u"Contrast", None)) self.label_10.setText(QCoreApplication.translate("MainWindow", u"Contrast", None))
self.grayscale_checkBox.setText(QCoreApplication.translate("MainWindow", u"Turn image to Black and White", None)) #if QT_CONFIG(tooltip)
self.grayscale_checkBox.setToolTip(QCoreApplication.translate("MainWindow", u"Converts image to Grayscale", None))
#endif // QT_CONFIG(tooltip)
self.grayscale_checkBox.setText(QCoreApplication.translate("MainWindow", u"Black and White Mode", None))
#if QT_CONFIG(tooltip)
self.preview_Button.setToolTip(QCoreApplication.translate("MainWindow", u"Open a preview window to see how brightness, contrast, and grayscale adjustments affect your image.", None))
#endif // QT_CONFIG(tooltip)
self.preview_Button.setText(QCoreApplication.translate("MainWindow", u"Preview", None)) self.preview_Button.setText(QCoreApplication.translate("MainWindow", u"Preview", None))
self.groupBox_3.setTitle(QCoreApplication.translate("MainWindow", u"Watermark", None)) self.groupBox_3.setTitle(QCoreApplication.translate("MainWindow", u"Watermarking", None))
self.watermark_lineEdit.setText("") self.watermark_lineEdit.setText("")
self.watermark_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter Watermark", None)) self.watermark_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter Watermark Text", None))
self.label_12.setText(QCoreApplication.translate("MainWindow", u"Size", None)) self.label_12.setText(QCoreApplication.translate("MainWindow", u"Size", None))
self.font_size_comboBox.setItemText(0, QCoreApplication.translate("MainWindow", u"Tiny", None)) self.font_size_comboBox.setItemText(0, QCoreApplication.translate("MainWindow", u"Tiny", None))
self.font_size_comboBox.setItemText(1, QCoreApplication.translate("MainWindow", u"Small", None)) self.font_size_comboBox.setItemText(1, QCoreApplication.translate("MainWindow", u"Small", None))
@ -631,20 +667,41 @@ class Ui_MainWindow(object):
self.font_size_comboBox.setItemText(3, QCoreApplication.translate("MainWindow", u"Large", None)) self.font_size_comboBox.setItemText(3, QCoreApplication.translate("MainWindow", u"Large", None))
self.font_size_comboBox.setItemText(4, QCoreApplication.translate("MainWindow", u"Huge", None)) self.font_size_comboBox.setItemText(4, QCoreApplication.translate("MainWindow", u"Huge", None))
#if QT_CONFIG(tooltip)
self.font_size_comboBox.setToolTip(QCoreApplication.translate("MainWindow", u"Adjust the font size for the watermark. Size scales proportionally to image dimensions.", None))
#endif // QT_CONFIG(tooltip)
self.font_size_comboBox.setCurrentText(QCoreApplication.translate("MainWindow", u"Normal", None)) self.font_size_comboBox.setCurrentText(QCoreApplication.translate("MainWindow", u"Normal", None))
self.rename_group.setTitle(QCoreApplication.translate("MainWindow", u"files", None)) self.rename_group.setTitle(QCoreApplication.translate("MainWindow", u"File Naming", None))
#if QT_CONFIG(tooltip)
self.rename_checkbox.setToolTip(QCoreApplication.translate("MainWindow", u"Enable to rename all images with a new base name. '_xx' will be added at the end of each filename.", None))
#endif // QT_CONFIG(tooltip)
self.rename_checkbox.setText(QCoreApplication.translate("MainWindow", u"Rename", None)) self.rename_checkbox.setText(QCoreApplication.translate("MainWindow", u"Rename", None))
#if QT_CONFIG(tooltip)
self.revert_checkbox.setToolTip(QCoreApplication.translate("MainWindow", u"Reverses the order of images. Useful for scanned film rolls where the last image (e.g., 36) is scanned first.", None))
#endif // QT_CONFIG(tooltip)
self.revert_checkbox.setText(QCoreApplication.translate("MainWindow", u"Revert order", None)) self.revert_checkbox.setText(QCoreApplication.translate("MainWindow", u"Revert order", None))
self.filename.setText("") self.filename.setText("")
self.filename.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter file name", None)) self.filename.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter new File Names", None))
self.start_button.setText(QCoreApplication.translate("MainWindow", u"Convert", None)) self.start_button.setText(QCoreApplication.translate("MainWindow", u"Convert", None))
#if QT_CONFIG(tooltip)
self.insert_exif_Button.setToolTip(QCoreApplication.translate("MainWindow", u"Insert EXIF without modifying images.", None))
#endif // QT_CONFIG(tooltip)
self.insert_exif_Button.setText(QCoreApplication.translate("MainWindow", u"Insert Exif", None)) self.insert_exif_Button.setText(QCoreApplication.translate("MainWindow", u"Insert Exif", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_1), QCoreApplication.translate("MainWindow", u"Main", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_1), QCoreApplication.translate("MainWindow", u"Main", None))
self.exif_group.setTitle(QCoreApplication.translate("MainWindow", u"EXIF EXPERIMENTAL", None)) self.exif_group.setTitle(QCoreApplication.translate("MainWindow", u"EXIF Settings", None))
self.exif_checkbox.setText(QCoreApplication.translate("MainWindow", u"own exif", None)) #if QT_CONFIG(tooltip)
self.exif_copy_checkBox.setText(QCoreApplication.translate("MainWindow", u"copy exif", None)) self.exif_checkbox.setToolTip(QCoreApplication.translate("MainWindow", u"Add your own EXIF data to the images with the selection from below.", None))
self.edit_exif_button.setText(QCoreApplication.translate("MainWindow", u"Edit Exif", None)) #endif // QT_CONFIG(tooltip)
self.exif_options_group.setTitle(QCoreApplication.translate("MainWindow", u"Must", None)) self.exif_checkbox.setText(QCoreApplication.translate("MainWindow", u"Custom EXIF", None))
#if QT_CONFIG(tooltip)
self.exif_copy_checkBox.setToolTip(QCoreApplication.translate("MainWindow", u"Copy EXIF from the input data.", None))
#endif // QT_CONFIG(tooltip)
self.exif_copy_checkBox.setText(QCoreApplication.translate("MainWindow", u"Copy EXIF", None))
#if QT_CONFIG(tooltip)
self.edit_exif_button.setToolTip(QCoreApplication.translate("MainWindow", u"Open the EXIF Editor to add or remove metadata entries, making them available for selection.", None))
#endif // QT_CONFIG(tooltip)
self.edit_exif_button.setText(QCoreApplication.translate("MainWindow", u"EXIF editor", None))
self.exif_options_group.setTitle(QCoreApplication.translate("MainWindow", u"Essential EXIF Info", None))
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Artist", None)) self.label_7.setText(QCoreApplication.translate("MainWindow", u"Artist", None))
self.label_4.setText(QCoreApplication.translate("MainWindow", u"ISO", None)) self.label_4.setText(QCoreApplication.translate("MainWindow", u"ISO", None))
self.label_6.setText(QCoreApplication.translate("MainWindow", u"Scanner", None)) self.label_6.setText(QCoreApplication.translate("MainWindow", u"Scanner", None))
@ -655,14 +712,26 @@ class Ui_MainWindow(object):
self.make_comboBox.setPlaceholderText("") self.make_comboBox.setPlaceholderText("")
self.label_3.setText(QCoreApplication.translate("MainWindow", u"Model", None)) self.label_3.setText(QCoreApplication.translate("MainWindow", u"Model", None))
self.label_8.setText(QCoreApplication.translate("MainWindow", u"Copyright", None)) self.label_8.setText(QCoreApplication.translate("MainWindow", u"Copyright", None))
self.gps_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"GPS", None)) self.gps_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"GPS Coordinates", None))
self.gps_checkBox.setText(QCoreApplication.translate("MainWindow", u"add gps", None)) #if QT_CONFIG(tooltip)
self.gps_checkBox.setToolTip(QCoreApplication.translate("MainWindow", u"From a Homepage like latlong.net", None))
#endif // QT_CONFIG(tooltip)
self.gps_checkBox.setText(QCoreApplication.translate("MainWindow", u"Enable GPS Data", None))
#if QT_CONFIG(tooltip)
self.lat_lineEdit.setToolTip(QCoreApplication.translate("MainWindow", u"Format: xx.xxxxxx (e.g., 57.618520)", None))
#endif // QT_CONFIG(tooltip)
self.lat_lineEdit.setText("") self.lat_lineEdit.setText("")
self.lat_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"xx.xxxxxx latitude", None)) self.lat_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Latitude", None))
#if QT_CONFIG(tooltip)
self.long_lineEdit.setToolTip(QCoreApplication.translate("MainWindow", u"Format: xx.xxxxxx (e.g., -13.779602)", None))
#endif // QT_CONFIG(tooltip)
self.long_lineEdit.setText("") self.long_lineEdit.setText("")
self.long_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"xx.xxxxxx longitude", None)) self.long_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Longitude", None))
self.date_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Optional", None)) self.date_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Original Capture Data and Time", None))
self.add_date_checkBox.setText(QCoreApplication.translate("MainWindow", u"add date", None)) #if QT_CONFIG(tooltip)
self.add_date_checkBox.setToolTip(QCoreApplication.translate("MainWindow", u"Adds \"Date and Time (original)\" to the image, i.e. when the picture was taking.", None))
#endif // QT_CONFIG(tooltip)
self.add_date_checkBox.setText(QCoreApplication.translate("MainWindow", u"Enable Timestamp", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("MainWindow", u"EXIF", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("MainWindow", u"EXIF", None))
self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None)) self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None))
self.menuSettings.setTitle(QCoreApplication.translate("MainWindow", u"Settings", None)) self.menuSettings.setTitle(QCoreApplication.translate("MainWindow", u"Settings", None))

View file

@ -63,6 +63,9 @@
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Open a file browser to select a folder for loading images.</string>
</property>
<property name="text"> <property name="text">
<string extracomment="Comment?">Input</string> <string extracomment="Comment?">Input</string>
</property> </property>
@ -83,6 +86,9 @@
</item> </item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLineEdit" name="input_path"> <widget class="QLineEdit" name="input_path">
<property name="toolTip">
<string/>
</property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
@ -99,6 +105,9 @@
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Open a file browser to select a folder for saving images.</string>
</property>
<property name="text"> <property name="text">
<string>Output</string> <string>Output</string>
</property> </property>
@ -116,7 +125,7 @@
</size> </size>
</property> </property>
<property name="title"> <property name="title">
<string>Essential group</string> <string>Export Settings</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_4"> <layout class="QGridLayout" name="gridLayout_4">
<item row="4" column="0"> <item row="4" column="0">
@ -148,13 +157,19 @@
</item> </item>
<item row="0" column="3"> <item row="0" column="3">
<widget class="QCheckBox" name="optimize_checkBox"> <widget class="QCheckBox" name="optimize_checkBox">
<property name="toolTip">
<string>Recommended for web use. Enables PIL optimization to slightly reduce file size without visible quality loss. </string>
</property>
<property name="text"> <property name="text">
<string>optimize</string> <string>Optimize</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="2"> <item row="4" column="2">
<widget class="QSlider" name="png_quality_Slider"> <widget class="QSlider" name="png_quality_Slider">
<property name="toolTip">
<string/>
</property>
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
</property> </property>
@ -197,6 +212,9 @@
</item> </item>
<item row="0" column="2"> <item row="0" column="2">
<widget class="QComboBox" name="image_type"> <widget class="QComboBox" name="image_type">
<property name="toolTip">
<string>Select export file type.</string>
</property>
<item> <item>
<property name="text"> <property name="text">
<string notr="true">jpg</string> <string notr="true">jpg</string>
@ -232,6 +250,9 @@
</item> </item>
<item row="5" column="0"> <item row="5" column="0">
<widget class="QLabel" name="label_13"> <widget class="QLabel" name="label_13">
<property name="toolTip">
<string>Choose image scaling options. ⚠ Upscaling large images may freeze the system depending on hardware.</string>
</property>
<property name="text"> <property name="text">
<string>Resize</string> <string>Resize</string>
</property> </property>
@ -239,6 +260,9 @@
</item> </item>
<item row="5" column="2"> <item row="5" column="2">
<widget class="QSlider" name="resize_Slider"> <widget class="QSlider" name="resize_Slider">
<property name="toolTip">
<string/>
</property>
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
</property> </property>
@ -258,6 +282,9 @@
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="toolTip">
<string/>
</property>
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
</property> </property>
@ -287,7 +314,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="title"> <property name="title">
<string>Extra stuff</string> <string>Image Adjustments</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="0"> <item row="1" column="0">
@ -364,13 +391,19 @@
</item> </item>
<item row="5" column="0" colspan="2"> <item row="5" column="0" colspan="2">
<widget class="QCheckBox" name="grayscale_checkBox"> <widget class="QCheckBox" name="grayscale_checkBox">
<property name="toolTip">
<string>Converts image to Grayscale</string>
</property>
<property name="text"> <property name="text">
<string>Turn image to Black and White</string> <string>Black and White Mode</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="2"> <item row="5" column="2">
<widget class="QPushButton" name="preview_Button"> <widget class="QPushButton" name="preview_Button">
<property name="toolTip">
<string>Open a preview window to see how brightness, contrast, and grayscale adjustments affect your image.</string>
</property>
<property name="text"> <property name="text">
<string>Preview</string> <string>Preview</string>
</property> </property>
@ -385,7 +418,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="title"> <property name="title">
<string>Watermark</string> <string>Watermarking</string>
</property> </property>
<property name="flat"> <property name="flat">
<bool>false</bool> <bool>false</bool>
@ -406,7 +439,7 @@
<string/> <string/>
</property> </property>
<property name="placeholderText"> <property name="placeholderText">
<string>Enter Watermark</string> <string>Enter Watermark Text</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -419,6 +452,9 @@
</item> </item>
<item> <item>
<widget class="QComboBox" name="font_size_comboBox"> <widget class="QComboBox" name="font_size_comboBox">
<property name="toolTip">
<string>Adjust the font size for the watermark. Size scales proportionally to image dimensions.</string>
</property>
<property name="currentText"> <property name="currentText">
<string>Normal</string> <string>Normal</string>
</property> </property>
@ -464,11 +500,14 @@
</size> </size>
</property> </property>
<property name="title"> <property name="title">
<string>files</string> <string>File Naming</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="rename_checkbox"> <widget class="QCheckBox" name="rename_checkbox">
<property name="toolTip">
<string>Enable to rename all images with a new base name. '_xx' will be added at the end of each filename.</string>
</property>
<property name="text"> <property name="text">
<string>Rename</string> <string>Rename</string>
</property> </property>
@ -479,6 +518,9 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="toolTip">
<string>Reverses the order of images. Useful for scanned film rolls where the last image (e.g., 36) is scanned first.</string>
</property>
<property name="text"> <property name="text">
<string>Revert order</string> <string>Revert order</string>
</property> </property>
@ -493,7 +535,7 @@
<string/> <string/>
</property> </property>
<property name="placeholderText"> <property name="placeholderText">
<string>Enter file name</string> <string>Enter new File Names</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -534,6 +576,9 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="toolTip">
<string>Insert EXIF without modifying images.</string>
</property>
<property name="text"> <property name="text">
<string>Insert Exif</string> <string>Insert Exif</string>
</property> </property>
@ -552,7 +597,7 @@
<item> <item>
<widget class="QGroupBox" name="exif_group"> <widget class="QGroupBox" name="exif_group">
<property name="title"> <property name="title">
<string>EXIF EXPERIMENTAL</string> <string>EXIF Settings</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
@ -560,15 +605,21 @@
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="toolTip">
<string>Add your own EXIF data to the images with the selection from below.</string>
</property>
<property name="text"> <property name="text">
<string>own exif</string> <string>Custom EXIF</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="exif_copy_checkBox"> <widget class="QCheckBox" name="exif_copy_checkBox">
<property name="toolTip">
<string>Copy EXIF from the input data.</string>
</property>
<property name="text"> <property name="text">
<string>copy exif</string> <string>Copy EXIF</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -577,8 +628,11 @@
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="toolTip">
<string>Open the EXIF Editor to add or remove metadata entries, making them available for selection.</string>
</property>
<property name="text"> <property name="text">
<string>Edit Exif</string> <string>EXIF editor</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -591,7 +645,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="title"> <property name="title">
<string>Must</string> <string>Essential EXIF Info</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QGridLayout" name="gridLayout_7">
<item row="3" column="0"> <item row="3" column="0">
@ -738,13 +792,16 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="title"> <property name="title">
<string>GPS</string> <string>GPS Coordinates</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
<widget class="QCheckBox" name="gps_checkBox"> <widget class="QCheckBox" name="gps_checkBox">
<property name="toolTip">
<string>From a Homepage like latlong.net</string>
</property>
<property name="text"> <property name="text">
<string>add gps</string> <string>Enable GPS Data</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -753,6 +810,9 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="toolTip">
<string>Format: xx.xxxxxx (e.g., 57.618520)</string>
</property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
@ -760,7 +820,7 @@
<number>8</number> <number>8</number>
</property> </property>
<property name="placeholderText"> <property name="placeholderText">
<string>xx.xxxxxx latitude</string> <string>Latitude</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -769,6 +829,9 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="toolTip">
<string>Format: xx.xxxxxx (e.g., -13.779602)</string>
</property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
@ -776,7 +839,7 @@
<number>8</number> <number>8</number>
</property> </property>
<property name="placeholderText"> <property name="placeholderText">
<string>xx.xxxxxx longitude</string> <string>Longitude</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -789,13 +852,16 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="title"> <property name="title">
<string>Optional</string> <string>Original Capture Data and Time</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QCheckBox" name="add_date_checkBox"> <widget class="QCheckBox" name="add_date_checkBox">
<property name="toolTip">
<string>Adds &quot;Date and Time (original)&quot; to the image, i.e. when the picture was taking.</string>
</property>
<property name="text"> <property name="text">
<string>add date</string> <string>Enable Timestamp</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -814,6 +880,23 @@
<day>1</day> <day>1</day>
</datetime> </datetime>
</property> </property>
<property name="maximumDate">
<date>
<year>2038</year>
<month>12</month>
<day>31</day>
</date>
</property>
<property name="minimumDate">
<date>
<year>1970</year>
<month>1</month>
<day>1</day>
</date>
</property>
<property name="calendarPopup">
<bool>true</bool>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>

View file

@ -40,23 +40,24 @@ 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(140, 628)) self.widget.setMinimumSize(QSize(150, 628))
self.widget.setMaximumSize(QSize(140, 16777215)) self.widget.setMaximumSize(QSize(150, 16777215))
self.verticalLayout_3 = QVBoxLayout(self.widget) self.verticalLayout_4 = QVBoxLayout(self.widget)
self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.image_path_lineEdit = QLineEdit(self.widget) self.image_path_lineEdit = QLineEdit(self.widget)
self.image_path_lineEdit.setObjectName(u"image_path_lineEdit") self.image_path_lineEdit.setObjectName(u"image_path_lineEdit")
self.verticalLayout_3.addWidget(self.image_path_lineEdit) self.verticalLayout_4.addWidget(self.image_path_lineEdit)
self.load_Button = QPushButton(self.widget) self.load_Button = QPushButton(self.widget)
self.load_Button.setObjectName(u"load_Button") self.load_Button.setObjectName(u"load_Button")
self.verticalLayout_3.addWidget(self.load_Button) self.verticalLayout_4.addWidget(self.load_Button)
self.widget_2 = QWidget(self.widget) self.widget_2 = QWidget(self.widget)
self.widget_2.setObjectName(u"widget_2") self.widget_2.setObjectName(u"widget_2")
self.widget_2.setMaximumSize(QSize(16777215, 120)) self.widget_2.setMinimumSize(QSize(0, 250))
self.widget_2.setMaximumSize(QSize(16777215, 250))
self.verticalLayout = QVBoxLayout(self.widget_2) self.verticalLayout = QVBoxLayout(self.widget_2)
self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setObjectName(u"verticalLayout")
self.label = QLabel(self.widget_2) self.label = QLabel(self.widget_2)
@ -84,94 +85,75 @@ class Ui_Preview_Window(object):
self.verticalLayout.addWidget(self.reset_brightness_Button) self.verticalLayout.addWidget(self.reset_brightness_Button)
self.contrast_Slider = QSlider(self.widget_2)
self.verticalLayout_3.addWidget(self.widget_2)
self.widget_3 = QWidget(self.widget)
self.widget_3.setObjectName(u"widget_3")
self.widget_3.setMaximumSize(QSize(16777215, 120))
self.verticalLayout_2 = QVBoxLayout(self.widget_3)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.label_2 = QLabel(self.widget_3)
self.label_2.setObjectName(u"label_2")
self.verticalLayout_2.addWidget(self.label_2)
self.contrast_spinBox = QSpinBox(self.widget_3)
self.contrast_spinBox.setObjectName(u"contrast_spinBox")
self.contrast_spinBox.setMinimum(-100)
self.contrast_spinBox.setMaximum(100)
self.verticalLayout_2.addWidget(self.contrast_spinBox)
self.contrast_Slider = QSlider(self.widget_3)
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.Horizontal)
self.verticalLayout_2.addWidget(self.contrast_Slider) self.verticalLayout.addWidget(self.contrast_Slider)
self.reset_contrast_Button = QPushButton(self.widget_3) self.contrast_spinBox = QSpinBox(self.widget_2)
self.contrast_spinBox.setObjectName(u"contrast_spinBox")
self.contrast_spinBox.setMinimum(-100)
self.contrast_spinBox.setMaximum(100)
self.verticalLayout.addWidget(self.contrast_spinBox)
self.label_2 = QLabel(self.widget_2)
self.label_2.setObjectName(u"label_2")
self.verticalLayout.addWidget(self.label_2)
self.reset_contrast_Button = QPushButton(self.widget_2)
self.reset_contrast_Button.setObjectName(u"reset_contrast_Button") self.reset_contrast_Button.setObjectName(u"reset_contrast_Button")
self.verticalLayout_2.addWidget(self.reset_contrast_Button) self.verticalLayout.addWidget(self.reset_contrast_Button)
self.grayscale_checkBox = QCheckBox(self.widget_2)
self.verticalLayout_3.addWidget(self.widget_3)
self.grayscale_checkBox = QCheckBox(self.widget)
self.grayscale_checkBox.setObjectName(u"grayscale_checkBox") self.grayscale_checkBox.setObjectName(u"grayscale_checkBox")
self.verticalLayout_3.addWidget(self.grayscale_checkBox) self.verticalLayout.addWidget(self.grayscale_checkBox)
self.update_Button = QPushButton(self.widget)
self.update_Button.setObjectName(u"update_Button")
self.verticalLayout_3.addWidget(self.update_Button) self.verticalLayout_4.addWidget(self.widget_2)
self.widget_5 = QWidget(self.widget) self.widget_5 = QWidget(self.widget)
self.widget_5.setObjectName(u"widget_5") self.widget_5.setObjectName(u"widget_5")
self.verticalLayout_5 = QVBoxLayout(self.widget_5) self.verticalLayout_2 = QVBoxLayout(self.widget_5)
self.verticalLayout_5.setObjectName(u"verticalLayout_5") self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.label_4 = QLabel(self.widget_5)
self.label_4.setObjectName(u"label_4")
self.label_4.setWordWrap(True)
self.verticalLayout_5.addWidget(self.label_4) self.verticalLayout_4.addWidget(self.widget_5)
self.live_update = QCheckBox(self.widget_5)
self.live_update.setObjectName(u"live_update")
self.verticalLayout_5.addWidget(self.live_update)
self.verticalLayout_3.addWidget(self.widget_5)
self.widget_4 = QWidget(self.widget) self.widget_4 = QWidget(self.widget)
self.widget_4.setObjectName(u"widget_4") self.widget_4.setObjectName(u"widget_4")
self.verticalLayout_4 = QVBoxLayout(self.widget_4) self.verticalLayout_3 = QVBoxLayout(self.widget_4)
self.verticalLayout_4.setObjectName(u"verticalLayout_4") self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.label_3 = QLabel(self.widget_4) self.live_update = QCheckBox(self.widget_4)
self.label_3.setObjectName(u"label_3") self.live_update.setObjectName(u"live_update")
self.label_3.setScaledContents(False)
self.label_3.setWordWrap(True)
self.verticalLayout_4.addWidget(self.label_3) self.verticalLayout_3.addWidget(self.live_update)
self.update_Button = QPushButton(self.widget_4)
self.update_Button.setObjectName(u"update_Button")
self.update_Button.setAutoFillBackground(False)
self.verticalLayout_3.addWidget(self.update_Button)
self.checkBox = QCheckBox(self.widget_4) self.checkBox = QCheckBox(self.widget_4)
self.checkBox.setObjectName(u"checkBox") self.checkBox.setObjectName(u"checkBox")
self.checkBox.setLayoutDirection(Qt.LeftToRight)
self.checkBox.setChecked(True) self.checkBox.setChecked(True)
self.verticalLayout_4.addWidget(self.checkBox) self.verticalLayout_3.addWidget(self.checkBox)
self.close_Button = QPushButton(self.widget_4) self.close_Button = QPushButton(self.widget_4)
self.close_Button.setObjectName(u"close_Button") self.close_Button.setObjectName(u"close_Button")
self.verticalLayout_4.addWidget(self.close_Button) self.verticalLayout_3.addWidget(self.close_Button)
self.verticalLayout_3.addWidget(self.widget_4) self.verticalLayout_4.addWidget(self.widget_4)
self.horizontalLayout.addWidget(self.widget) self.horizontalLayout.addWidget(self.widget)
@ -194,18 +176,40 @@ class Ui_Preview_Window(object):
def retranslateUi(self, Preview_Window): def retranslateUi(self, Preview_Window):
Preview_Window.setWindowTitle(QCoreApplication.translate("Preview_Window", u"OptimaLab35 - Preview", None)) Preview_Window.setWindowTitle(QCoreApplication.translate("Preview_Window", u"OptimaLab35 - Preview", None))
self.QLabel.setText("") self.QLabel.setText("")
self.image_path_lineEdit.setPlaceholderText(QCoreApplication.translate("Preview_Window", u"Path to image", None)) #if QT_CONFIG(tooltip)
self.image_path_lineEdit.setToolTip(QCoreApplication.translate("Preview_Window", u"Enter the path to the image file or use the 'Select Image' button to browse.", None))
#endif // QT_CONFIG(tooltip)
self.image_path_lineEdit.setPlaceholderText(QCoreApplication.translate("Preview_Window", u"Image Path", None))
self.load_Button.setText(QCoreApplication.translate("Preview_Window", u"Select image", None)) self.load_Button.setText(QCoreApplication.translate("Preview_Window", u"Select image", None))
self.label.setText(QCoreApplication.translate("Preview_Window", u"Brightness", None)) self.label.setText(QCoreApplication.translate("Preview_Window", u"Brightness", None))
#if QT_CONFIG(tooltip)
self.reset_brightness_Button.setToolTip(QCoreApplication.translate("Preview_Window", u"Click to reset the brightness to its default value (0).", None))
#endif // QT_CONFIG(tooltip)
self.reset_brightness_Button.setText(QCoreApplication.translate("Preview_Window", u"Reset", None)) self.reset_brightness_Button.setText(QCoreApplication.translate("Preview_Window", u"Reset", None))
self.label_2.setText(QCoreApplication.translate("Preview_Window", u"Contrast", None)) self.label_2.setText(QCoreApplication.translate("Preview_Window", u"Contrast", None))
#if QT_CONFIG(tooltip)
self.reset_contrast_Button.setToolTip(QCoreApplication.translate("Preview_Window", u"Click to reset the contrast to its default value (0).", None))
#endif // QT_CONFIG(tooltip)
self.reset_contrast_Button.setText(QCoreApplication.translate("Preview_Window", u"Reset", None)) self.reset_contrast_Button.setText(QCoreApplication.translate("Preview_Window", u"Reset", None))
self.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Grayscale", None)) #if QT_CONFIG(tooltip)
self.update_Button.setText(QCoreApplication.translate("Preview_Window", u"Update preview", None)) self.grayscale_checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Convert the image to grayscale (black and white).", None))
self.label_4.setText(QCoreApplication.translate("Preview_Window", u"Update preview live might have large impact on system, especilly if image is large.", None)) #endif // QT_CONFIG(tooltip)
self.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Black n White", None))
#if QT_CONFIG(tooltip)
self.live_update.setToolTip(QCoreApplication.translate("Preview_Window", u"Enable live updates to immediately preview changes as you adjust brightness, contrast, or grayscale. Be aware that this might impact performance, especially with large images.", None))
#endif // QT_CONFIG(tooltip)
self.live_update.setText(QCoreApplication.translate("Preview_Window", u"Live update", None)) self.live_update.setText(QCoreApplication.translate("Preview_Window", u"Live update", None))
self.label_3.setText(QCoreApplication.translate("Preview_Window", u"Copy values to main window when closing", None)) #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"Update Preview", None))
#if QT_CONFIG(tooltip)
self.checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Enable to copy adjustments to the main window upon closing", None))
#endif // QT_CONFIG(tooltip)
self.checkBox.setText(QCoreApplication.translate("Preview_Window", u"Copy Values", None)) self.checkBox.setText(QCoreApplication.translate("Preview_Window", u"Copy Values", None))
#if QT_CONFIG(tooltip)
self.close_Button.setToolTip("")
#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))
# retranslateUi # retranslateUi

View file

@ -44,21 +44,24 @@
<widget class="QWidget" name="widget" native="true"> <widget class="QWidget" name="widget" native="true">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>140</width> <width>150</width>
<height>628</height> <height>628</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>140</width> <width>150</width>
<height>16777215</height> <height>16777215</height>
</size> </size>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QLineEdit" name="image_path_lineEdit"> <widget class="QLineEdit" name="image_path_lineEdit">
<property name="toolTip">
<string>Enter the path to the image file or use the 'Select Image' button to browse.</string>
</property>
<property name="placeholderText"> <property name="placeholderText">
<string>Path to image</string> <string>Image Path</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -71,10 +74,16 @@
</item> </item>
<item> <item>
<widget class="QWidget" name="widget_2" native="true"> <widget class="QWidget" name="widget_2" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>250</height>
</size>
</property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>120</height> <height>250</height>
</size> </size>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
@ -110,40 +119,14 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="reset_brightness_Button"> <widget class="QPushButton" name="reset_brightness_Button">
<property name="toolTip">
<string>Click to reset the brightness to its default value (0).</string>
</property>
<property name="text"> <property name="text">
<string>Reset</string> <string>Reset</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_3" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>120</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Contrast</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="contrast_spinBox">
<property name="minimum">
<number>-100</number>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
<item> <item>
<widget class="QSlider" name="contrast_Slider"> <widget class="QSlider" name="contrast_Slider">
<property name="minimum"> <property name="minimum">
@ -157,71 +140,85 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QSpinBox" name="contrast_spinBox">
<property name="minimum">
<number>-100</number>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Contrast</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="reset_contrast_Button"> <widget class="QPushButton" name="reset_contrast_Button">
<property name="toolTip">
<string>Click to reset the contrast to its default value (0).</string>
</property>
<property name="text"> <property name="text">
<string>Reset</string> <string>Reset</string>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="grayscale_checkBox">
<property name="toolTip">
<string>Convert the image to grayscale (black and white).</string>
</property>
<property name="text">
<string>Black n White</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="grayscale_checkBox">
<property name="text">
<string>Grayscale</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="update_Button">
<property name="text">
<string>Update preview</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QWidget" name="widget_5" native="true"> <widget class="QWidget" name="widget_5" native="true">
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_2"/>
<item> </widget>
<widget class="QLabel" name="label_4"> </item>
<property name="text"> <item>
<string>Update preview live might have large impact on system, especilly if image is large.</string> <widget class="QWidget" name="widget_4" native="true">
</property> <layout class="QVBoxLayout" name="verticalLayout_3">
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="live_update"> <widget class="QCheckBox" name="live_update">
<property name="toolTip">
<string>Enable live updates to immediately preview changes as you adjust brightness, contrast, or grayscale. Be aware that this might impact performance, especially with large images.</string>
</property>
<property name="text"> <property name="text">
<string>Live update</string> <string>Live update</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_4" native="true">
<layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QPushButton" name="update_Button">
<property name="text"> <property name="toolTip">
<string>Copy values to main window when closing</string> <string>Apply Changes to Preview</string>
</property> </property>
<property name="scaledContents"> <property name="autoFillBackground">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="wordWrap"> <property name="text">
<bool>true</bool> <string>Update Preview</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="checkBox"> <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::LeftToRight</enum>
</property>
<property name="text"> <property name="text">
<string>Copy Values</string> <string>Copy Values</string>
</property> </property>
@ -232,6 +229,9 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="close_Button"> <widget class="QPushButton" name="close_Button">
<property name="toolTip">
<string/>
</property>
<property name="text"> <property name="text">
<string>Close</string> <string>Close</string>
</property> </property>