diff --git a/src/OptimaLab35/ui/main_window.py b/src/OptimaLab35/ui/main_window.py index bca1e18..d19d062 100644 --- a/src/OptimaLab35/ui/main_window.py +++ b/src/OptimaLab35/ui/main_window.py @@ -538,6 +538,9 @@ class Ui_MainWindow(object): self.dateEdit.setObjectName(u"dateEdit") self.dateEdit.setEnabled(False) 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) @@ -603,27 +606,60 @@ class Ui_MainWindow(object): self.actionPreview.setText(QCoreApplication.translate("MainWindow", u"Preview image", None)) self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About", 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.output_path.setText("") 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.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.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.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)) +#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.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_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.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.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.font_size_comboBox.setItemText(0, QCoreApplication.translate("MainWindow", u"Tiny", 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(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.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)) +#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.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)) +#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.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_checkbox.setText(QCoreApplication.translate("MainWindow", u"own exif", None)) - self.exif_copy_checkBox.setText(QCoreApplication.translate("MainWindow", u"copy exif", None)) - self.edit_exif_button.setText(QCoreApplication.translate("MainWindow", u"Edit Exif", None)) - self.exif_options_group.setTitle(QCoreApplication.translate("MainWindow", u"Must", None)) + self.exif_group.setTitle(QCoreApplication.translate("MainWindow", u"EXIF Settings", None)) +#if QT_CONFIG(tooltip) + self.exif_checkbox.setToolTip(QCoreApplication.translate("MainWindow", u"Add your own EXIF data to the images with the selection from below.", None)) +#endif // QT_CONFIG(tooltip) + 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_4.setText(QCoreApplication.translate("MainWindow", u"ISO", None)) self.label_6.setText(QCoreApplication.translate("MainWindow", u"Scanner", None)) @@ -655,14 +712,26 @@ class Ui_MainWindow(object): self.make_comboBox.setPlaceholderText("") self.label_3.setText(QCoreApplication.translate("MainWindow", u"Model", None)) self.label_8.setText(QCoreApplication.translate("MainWindow", u"Copyright", None)) - self.gps_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"GPS", None)) - self.gps_checkBox.setText(QCoreApplication.translate("MainWindow", u"add gps", None)) + self.gps_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"GPS Coordinates", 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.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.setPlaceholderText(QCoreApplication.translate("MainWindow", u"xx.xxxxxx longitude", None)) - self.date_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Optional", None)) - self.add_date_checkBox.setText(QCoreApplication.translate("MainWindow", u"add date", None)) + self.long_lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Longitude", None)) + self.date_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Original Capture Data and Time", 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.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None)) self.menuSettings.setTitle(QCoreApplication.translate("MainWindow", u"Settings", None)) diff --git a/src/OptimaLab35/ui/main_window.ui b/src/OptimaLab35/ui/main_window.ui index 62acda5..57986b7 100644 --- a/src/OptimaLab35/ui/main_window.ui +++ b/src/OptimaLab35/ui/main_window.ui @@ -63,6 +63,9 @@ 0 + + Open a file browser to select a folder for loading images. + Input @@ -83,6 +86,9 @@ + + + @@ -99,6 +105,9 @@ 0 + + Open a file browser to select a folder for saving images. + Output @@ -116,7 +125,7 @@ - Essential group + Export Settings @@ -148,13 +157,19 @@ + + Recommended for web use. Enables PIL optimization to slightly reduce file size without visible quality loss. + - optimize + Optimize + + + 1 @@ -197,6 +212,9 @@ + + Select export file type. + jpg @@ -232,6 +250,9 @@ + + Choose image scaling options. ⚠ Upscaling large images may freeze the system depending on hardware. + Resize @@ -239,6 +260,9 @@ + + + 1 @@ -258,6 +282,9 @@ true + + + 1 @@ -287,7 +314,7 @@ false - Extra stuff + Image Adjustments @@ -364,13 +391,19 @@ + + Converts image to Grayscale + - Turn image to Black and White + Black and White Mode + + Open a preview window to see how brightness, contrast, and grayscale adjustments affect your image. + Preview @@ -385,7 +418,7 @@ true - Watermark + Watermarking false @@ -406,7 +439,7 @@ - Enter Watermark + Enter Watermark Text @@ -419,6 +452,9 @@ + + Adjust the font size for the watermark. Size scales proportionally to image dimensions. + Normal @@ -464,11 +500,14 @@ - files + File Naming + + Enable to rename all images with a new base name. '_xx' will be added at the end of each filename. + Rename @@ -479,6 +518,9 @@ false + + Reverses the order of images. Useful for scanned film rolls where the last image (e.g., 36) is scanned first. + Revert order @@ -493,7 +535,7 @@ - Enter file name + Enter new File Names @@ -534,6 +576,9 @@ false + + Insert EXIF without modifying images. + Insert Exif @@ -552,7 +597,7 @@ - EXIF EXPERIMENTAL + EXIF Settings @@ -560,15 +605,21 @@ true + + Add your own EXIF data to the images with the selection from below. + - own exif + Custom EXIF + + Copy EXIF from the input data. + - copy exif + Copy EXIF @@ -577,8 +628,11 @@ true + + Open the EXIF Editor to add or remove metadata entries, making them available for selection. + - Edit Exif + EXIF editor @@ -591,7 +645,7 @@ false - Must + Essential EXIF Info @@ -738,13 +792,16 @@ false - GPS + GPS Coordinates + + From a Homepage like latlong.net + - add gps + Enable GPS Data @@ -753,6 +810,9 @@ false + + Format: xx.xxxxxx (e.g., 57.618520) + @@ -760,7 +820,7 @@ 8 - xx.xxxxxx latitude + Latitude @@ -769,6 +829,9 @@ false + + Format: xx.xxxxxx (e.g., -13.779602) + @@ -776,7 +839,7 @@ 8 - xx.xxxxxx longitude + Longitude @@ -789,13 +852,16 @@ false - Optional + Original Capture Data and Time + + Adds "Date and Time (original)" to the image, i.e. when the picture was taking. + - add date + Enable Timestamp @@ -814,6 +880,23 @@ 1 + + + 2038 + 12 + 31 + + + + + 1970 + 1 + 1 + + + + true + diff --git a/src/OptimaLab35/ui/preview_window.py b/src/OptimaLab35/ui/preview_window.py index f9f6d3e..5d2a021 100644 --- a/src/OptimaLab35/ui/preview_window.py +++ b/src/OptimaLab35/ui/preview_window.py @@ -40,23 +40,24 @@ class Ui_Preview_Window(object): self.widget = QWidget(self.centralwidget) self.widget.setObjectName(u"widget") - self.widget.setMinimumSize(QSize(140, 628)) - self.widget.setMaximumSize(QSize(140, 16777215)) - self.verticalLayout_3 = QVBoxLayout(self.widget) - self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.widget.setMinimumSize(QSize(150, 628)) + self.widget.setMaximumSize(QSize(150, 16777215)) + self.verticalLayout_4 = QVBoxLayout(self.widget) + self.verticalLayout_4.setObjectName(u"verticalLayout_4") self.image_path_lineEdit = QLineEdit(self.widget) 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.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.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.setObjectName(u"verticalLayout") self.label = QLabel(self.widget_2) @@ -84,94 +85,75 @@ class Ui_Preview_Window(object): self.verticalLayout.addWidget(self.reset_brightness_Button) - - 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 = QSlider(self.widget_2) self.contrast_Slider.setObjectName(u"contrast_Slider") self.contrast_Slider.setMinimum(-100) self.contrast_Slider.setMaximum(100) 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.verticalLayout_2.addWidget(self.reset_contrast_Button) + self.verticalLayout.addWidget(self.reset_contrast_Button) - - self.verticalLayout_3.addWidget(self.widget_3) - - self.grayscale_checkBox = QCheckBox(self.widget) + self.grayscale_checkBox = QCheckBox(self.widget_2) 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.setObjectName(u"widget_5") - self.verticalLayout_5 = QVBoxLayout(self.widget_5) - self.verticalLayout_5.setObjectName(u"verticalLayout_5") - self.label_4 = QLabel(self.widget_5) - self.label_4.setObjectName(u"label_4") - self.label_4.setWordWrap(True) + self.verticalLayout_2 = QVBoxLayout(self.widget_5) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") - self.verticalLayout_5.addWidget(self.label_4) - - 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.verticalLayout_4.addWidget(self.widget_5) self.widget_4 = QWidget(self.widget) self.widget_4.setObjectName(u"widget_4") - self.verticalLayout_4 = QVBoxLayout(self.widget_4) - self.verticalLayout_4.setObjectName(u"verticalLayout_4") - self.label_3 = QLabel(self.widget_4) - self.label_3.setObjectName(u"label_3") - self.label_3.setScaledContents(False) - self.label_3.setWordWrap(True) + self.verticalLayout_3 = QVBoxLayout(self.widget_4) + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.live_update = QCheckBox(self.widget_4) + self.live_update.setObjectName(u"live_update") - 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.setObjectName(u"checkBox") + self.checkBox.setLayoutDirection(Qt.LeftToRight) 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.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) @@ -194,18 +176,40 @@ class Ui_Preview_Window(object): def retranslateUi(self, Preview_Window): Preview_Window.setWindowTitle(QCoreApplication.translate("Preview_Window", u"OptimaLab35 - Preview", None)) 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.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.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.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Grayscale", None)) - self.update_Button.setText(QCoreApplication.translate("Preview_Window", u"Update preview", 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)) +#if QT_CONFIG(tooltip) + self.grayscale_checkBox.setToolTip(QCoreApplication.translate("Preview_Window", u"Convert the image to grayscale (black and white).", None)) +#endif // QT_CONFIG(tooltip) + self.grayscale_checkBox.setText(QCoreApplication.translate("Preview_Window", u"Black 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.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)) +#if QT_CONFIG(tooltip) + self.close_Button.setToolTip("") +#endif // QT_CONFIG(tooltip) self.close_Button.setText(QCoreApplication.translate("Preview_Window", u"Close", None)) # retranslateUi diff --git a/src/OptimaLab35/ui/preview_window.ui b/src/OptimaLab35/ui/preview_window.ui index 6bd17b7..33ad094 100644 --- a/src/OptimaLab35/ui/preview_window.ui +++ b/src/OptimaLab35/ui/preview_window.ui @@ -44,21 +44,24 @@ - 140 + 150 628 - 140 + 150 16777215 - + + + Enter the path to the image file or use the 'Select Image' button to browse. + - Path to image + Image Path @@ -71,10 +74,16 @@ + + + 0 + 250 + + 16777215 - 120 + 250 @@ -110,40 +119,14 @@ + + Click to reset the brightness to its default value (0). + Reset - - - - - - - - 16777215 - 120 - - - - - - - Contrast - - - - - - - -100 - - - 100 - - - @@ -157,71 +140,85 @@ + + + + -100 + + + 100 + + + + + + + Contrast + + + + + Click to reset the contrast to its default value (0). + Reset + + + + Convert the image to grayscale (black and white). + + + Black n White + + + - - - - Grayscale - - - - - - - Update preview - - - - - - - - Update preview live might have large impact on system, especilly if image is large. - - - true - - - + + + + + + + + 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. + Live update - - - - - - - - - Copy values to main window when closing + + + Apply Changes to Preview - + false - - true + + Update Preview + + Enable to copy adjustments to the main window upon closing + + + Qt::LeftToRight + Copy Values @@ -232,6 +229,9 @@ + + + Close