Button and function to insert exif direcly into file.
This commit is contained in:
parent
6ff262d320
commit
9f0758f415
3 changed files with 388 additions and 269 deletions
|
@ -32,7 +32,7 @@ from PySide6.QtWidgets import (
|
|||
QProgressBar,
|
||||
)
|
||||
|
||||
from PySide6.QtGui import QPixmap
|
||||
from PySide6.QtGui import QPixmap, QIcon
|
||||
|
||||
class PreviewWindow(QMainWindow, Ui_Preview_Window):
|
||||
values_selected = Signal(int, int, bool)
|
||||
|
@ -108,14 +108,13 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
|
|||
# Instantiate the second window
|
||||
self.preview_window = PreviewWindow()
|
||||
|
||||
# Connect button to open the second window
|
||||
|
||||
def open_preview_window(self):
|
||||
self.preview_window.values_selected.connect(self.update_values)
|
||||
self.preview_window.show()
|
||||
|
||||
def update_values(self, value1, value2, checkbox_state):
|
||||
# Update main window's widgets with the received values
|
||||
# ChatGPT
|
||||
self.ui.brightness_spinBox.setValue(value1)
|
||||
self.ui.contrast_spinBox.setValue(value2)
|
||||
self.ui.grayscale_checkBox.setChecked(checkbox_state)
|
||||
|
@ -129,6 +128,7 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
|
|||
self.ui.input_folder_button.clicked.connect(self._browse_input_folder)
|
||||
self.ui.output_folder_button.clicked.connect(self._browse_output_folder)
|
||||
self.ui.start_button.clicked.connect(self._start_process)
|
||||
self.ui.insert_exif_Button.clicked.connect(self._start_insert_exif)
|
||||
self.ui.image_type.currentIndexChanged.connect(self._update_quality_options)
|
||||
|
||||
self.ui.exif_checkbox.stateChanged.connect(
|
||||
|
@ -154,6 +154,7 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
|
|||
# ChatGPT, mainly
|
||||
info_text = f"""
|
||||
<h3>{self.name} v{self.version}</h3>
|
||||
<p>(C) 2024-2025 Mr. Finchum aka CodeByMrFinchum</p>
|
||||
<p>{self.name} is a GUI for <b>{self.o.name}</b> (v{self.o.version}).</p>
|
||||
<p> Both projects are in active development, for more details, visit:</p>
|
||||
<ul>
|
||||
|
@ -216,6 +217,9 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
|
|||
def _toggle_buttons(self, state):
|
||||
self.ui.start_button.setEnabled(state)
|
||||
|
||||
if self.ui.exif_checkbox.isChecked():
|
||||
self.ui.insert_exif_Button.setEnabled(state)
|
||||
|
||||
def _process_images(self, image_files):
|
||||
input_folder = self.settings["input_folder"]
|
||||
output_folder = self.settings["output_folder"]
|
||||
|
@ -250,6 +254,65 @@ class OptimaLab35(QMainWindow, Ui_MainWindow):
|
|||
|
||||
self.ui.progressBar.setValue(0)
|
||||
|
||||
def _insert_exif(self, image_files):
|
||||
input_folder = self.settings["input_folder"]
|
||||
|
||||
i = 1
|
||||
for image_file in image_files:
|
||||
|
||||
input_path = os.path.join(input_folder, image_file)
|
||||
print(input_path)
|
||||
|
||||
self.o.insert_dict_to_image(
|
||||
exif_dict = self.user_selected_exif,
|
||||
image_path = input_path,
|
||||
gps = self.settings["gps"])
|
||||
self._change_statusbar(image_file, 100)
|
||||
self._handle_qprogressbar(i, len(image_files))
|
||||
i += 1
|
||||
|
||||
self.ui.progressBar.setValue(0)
|
||||
|
||||
def _start_insert_exif(self):
|
||||
self._toggle_buttons(False)
|
||||
self._update_settings() # Get all user selected data
|
||||
input_folder = self.settings["input_folder"]
|
||||
output_folder = self.settings["output_folder"]
|
||||
if not input_folder:
|
||||
QMessageBox.warning(self, "Warning", "Input not selected")
|
||||
self._toggle_buttons(True)
|
||||
return
|
||||
|
||||
if output_folder:
|
||||
reply = QMessageBox.question(
|
||||
self,
|
||||
"Confirmation",
|
||||
"Output folder selected, but insert exif is done to images in input folder, Continue?",
|
||||
QMessageBox.Yes | QMessageBox.No,
|
||||
)
|
||||
|
||||
if reply == QMessageBox.No:
|
||||
self._toggle_buttons(True)
|
||||
return
|
||||
|
||||
input_folder_valid = os.path.exists(input_folder)
|
||||
if not input_folder_valid :
|
||||
QMessageBox.warning(self, "Warning", f"Input location {input_folder_valid}")
|
||||
self._toggle_buttons(True)
|
||||
return
|
||||
|
||||
image_list = self._image_list_from_folder(input_folder)
|
||||
if len(image_list) == 0:
|
||||
QMessageBox.warning(self, "Warning", "Selected folder has no supported files.")
|
||||
self._toggle_buttons(True)
|
||||
return
|
||||
|
||||
self._insert_exif(image_list)
|
||||
|
||||
self._toggle_buttons(True)
|
||||
QMessageBox.information(self, "Information", "Finished")
|
||||
|
||||
|
||||
def _open_exif_editor(self):
|
||||
"""Open the EXIF Editor."""
|
||||
self.exif_editor = ExifEditor(self.available_exif_data)
|
||||
|
|
|
@ -27,6 +27,7 @@ class Ui_MainWindow(object):
|
|||
def setupUi(self, MainWindow):
|
||||
if not MainWindow.objectName():
|
||||
MainWindow.setObjectName(u"MainWindow")
|
||||
MainWindow.setWindowModality(Qt.NonModal)
|
||||
MainWindow.resize(440, 756)
|
||||
MainWindow.setMinimumSize(QSize(350, 677))
|
||||
MainWindow.setMaximumSize(QSize(1000, 1000))
|
||||
|
@ -54,6 +55,8 @@ class Ui_MainWindow(object):
|
|||
self.gridLayout_5.setObjectName(u"gridLayout_5")
|
||||
self.input_folder_button = QPushButton(self.folder_group)
|
||||
self.input_folder_button.setObjectName(u"input_folder_button")
|
||||
self.input_folder_button.setMinimumSize(QSize(70, 0))
|
||||
self.input_folder_button.setFlat(False)
|
||||
|
||||
self.gridLayout_5.addWidget(self.input_folder_button, 0, 1, 1, 1)
|
||||
|
||||
|
@ -69,6 +72,7 @@ class Ui_MainWindow(object):
|
|||
|
||||
self.output_folder_button = QPushButton(self.folder_group)
|
||||
self.output_folder_button.setObjectName(u"output_folder_button")
|
||||
self.output_folder_button.setMinimumSize(QSize(70, 0))
|
||||
|
||||
self.gridLayout_5.addWidget(self.output_folder_button, 0, 3, 1, 1)
|
||||
|
||||
|
@ -308,6 +312,12 @@ class Ui_MainWindow(object):
|
|||
|
||||
self.horizontalLayout_3.addWidget(self.start_button)
|
||||
|
||||
self.insert_exif_Button = QPushButton(self.widget_9)
|
||||
self.insert_exif_Button.setObjectName(u"insert_exif_Button")
|
||||
self.insert_exif_Button.setEnabled(False)
|
||||
|
||||
self.horizontalLayout_3.addWidget(self.insert_exif_Button)
|
||||
|
||||
|
||||
self.verticalLayout_10.addWidget(self.widget_9)
|
||||
|
||||
|
@ -540,39 +550,40 @@ class Ui_MainWindow(object):
|
|||
self.menuBar = QMenuBar(MainWindow)
|
||||
self.menuBar.setObjectName(u"menuBar")
|
||||
self.menuBar.setGeometry(QRect(0, 0, 440, 27))
|
||||
self.menuInfo = QMenu(self.menuBar)
|
||||
self.menuInfo.setObjectName(u"menuInfo")
|
||||
self.menuSettings = QMenu(self.menuBar)
|
||||
self.menuSettings.setObjectName(u"menuSettings")
|
||||
self.menuHelp = QMenu(self.menuBar)
|
||||
self.menuHelp.setObjectName(u"menuHelp")
|
||||
MainWindow.setMenuBar(self.menuBar)
|
||||
|
||||
self.menuBar.addAction(self.menuInfo.menuAction())
|
||||
self.menuBar.addAction(self.menuSettings.menuAction())
|
||||
self.menuBar.addAction(self.menuHelp.menuAction())
|
||||
self.menuInfo.addAction(self.actionPreview)
|
||||
self.menuSettings.addAction(self.actionPreview)
|
||||
self.menuHelp.addAction(self.actionAbout)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.rename_checkbox.toggled.connect(self.filename.setEnabled)
|
||||
self.exif_checkbox.toggled.connect(self.exif_options_group.setEnabled)
|
||||
self.exif_checkbox.toggled.connect(self.exif_copy_checkBox.setDisabled)
|
||||
self.jpg_quality_Slider.valueChanged.connect(self.jpg_quality_spinBox.setValue)
|
||||
self.exif_copy_checkBox.toggled.connect(self.exif_checkbox.setDisabled)
|
||||
self.exif_checkbox.toggled.connect(self.exif_copy_checkBox.setDisabled)
|
||||
self.resize_spinBox.valueChanged.connect(self.resize_Slider.setValue)
|
||||
self.png_quality_spinBox.valueChanged.connect(self.png_quality_Slider.setValue)
|
||||
self.contrast_horizontalSlider.valueChanged.connect(self.contrast_spinBox.setValue)
|
||||
self.resize_Slider.valueChanged.connect(self.resize_spinBox.setValue)
|
||||
self.brightness_horizontalSlider.valueChanged.connect(self.brightness_spinBox.setValue)
|
||||
self.exif_checkbox.toggled.connect(self.date_groupBox.setEnabled)
|
||||
self.png_quality_Slider.valueChanged.connect(self.png_quality_spinBox.setValue)
|
||||
self.gps_checkBox.toggled.connect(self.lat_lineEdit.setEnabled)
|
||||
self.exif_checkbox.toggled.connect(self.insert_exif_Button.setEnabled)
|
||||
self.gps_checkBox.toggled.connect(self.long_lineEdit.setEnabled)
|
||||
self.brightness_spinBox.valueChanged.connect(self.brightness_horizontalSlider.setValue)
|
||||
self.resize_Slider.valueChanged.connect(self.resize_spinBox.setValue)
|
||||
self.exif_checkbox.toggled.connect(self.gps_groupBox.setEnabled)
|
||||
self.contrast_spinBox.valueChanged.connect(self.contrast_horizontalSlider.setValue)
|
||||
self.exif_checkbox.toggled.connect(self.edit_exif_button.setEnabled)
|
||||
self.add_date_checkBox.toggled.connect(self.dateEdit.setEnabled)
|
||||
self.exif_checkbox.toggled.connect(self.date_groupBox.setEnabled)
|
||||
self.exif_checkbox.toggled.connect(self.gps_groupBox.setEnabled)
|
||||
self.gps_checkBox.toggled.connect(self.lat_lineEdit.setEnabled)
|
||||
self.gps_checkBox.toggled.connect(self.long_lineEdit.setEnabled)
|
||||
self.brightness_horizontalSlider.valueChanged.connect(self.brightness_spinBox.setValue)
|
||||
self.brightness_spinBox.valueChanged.connect(self.brightness_horizontalSlider.setValue)
|
||||
self.contrast_horizontalSlider.valueChanged.connect(self.contrast_spinBox.setValue)
|
||||
self.contrast_spinBox.valueChanged.connect(self.contrast_horizontalSlider.setValue)
|
||||
self.resize_Slider.valueChanged.connect(self.resize_spinBox.setValue)
|
||||
self.jpg_quality_Slider.valueChanged.connect(self.jpg_quality_spinBox.setValue)
|
||||
self.jpg_quality_spinBox.valueChanged.connect(self.jpg_quality_Slider.setValue)
|
||||
self.resize_spinBox.valueChanged.connect(self.resize_Slider.setValue)
|
||||
self.resize_Slider.valueChanged.connect(self.resize_spinBox.setValue)
|
||||
self.png_quality_Slider.valueChanged.connect(self.png_quality_spinBox.setValue)
|
||||
self.png_quality_spinBox.valueChanged.connect(self.png_quality_Slider.setValue)
|
||||
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
self.font_size_comboBox.setCurrentIndex(2)
|
||||
|
@ -582,16 +593,16 @@ class Ui_MainWindow(object):
|
|||
# setupUi
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"OPTIMA-35", None))
|
||||
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"OptimaLab35", None))
|
||||
self.actionInfo.setText(QCoreApplication.translate("MainWindow", u"About", None))
|
||||
self.actionPreview.setText(QCoreApplication.translate("MainWindow", u"Preview image", None))
|
||||
self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About", None))
|
||||
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.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter output folder", None))
|
||||
self.output_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Output folder", None))
|
||||
self.input_path.setText("")
|
||||
self.input_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter input folder", None))
|
||||
self.output_folder_button.setText(QCoreApplication.translate("MainWindow", u"output", None))
|
||||
self.input_path.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Input folder", None))
|
||||
self.output_folder_button.setText(QCoreApplication.translate("MainWindow", u"Output", None))
|
||||
self.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Essential group", None))
|
||||
self.quality_label_2.setText(QCoreApplication.translate("MainWindow", u"Quality", None))
|
||||
self.label_11.setText(QCoreApplication.translate("MainWindow", u"Export Format", None))
|
||||
|
@ -621,11 +632,12 @@ class Ui_MainWindow(object):
|
|||
self.filename.setText("")
|
||||
self.filename.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Enter file name", None))
|
||||
self.start_button.setText(QCoreApplication.translate("MainWindow", u"Convert", 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.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.edit_exif_button.setText(QCoreApplication.translate("MainWindow", u"Edit Exif", None))
|
||||
self.exif_options_group.setTitle(QCoreApplication.translate("MainWindow", u"Must", None))
|
||||
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Artist", None))
|
||||
self.label_4.setText(QCoreApplication.translate("MainWindow", u"ISO", None))
|
||||
|
@ -646,7 +658,7 @@ class Ui_MainWindow(object):
|
|||
self.date_groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Optional", None))
|
||||
self.add_date_checkBox.setText(QCoreApplication.translate("MainWindow", u"add date", None))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("MainWindow", u"EXIF", None))
|
||||
self.menuInfo.setTitle(QCoreApplication.translate("MainWindow", u"Settings", None))
|
||||
self.menuSettings.setTitle(QCoreApplication.translate("MainWindow", u"Settings", None))
|
||||
self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None))
|
||||
# retranslateUi
|
||||
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::NonModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
|
@ -23,7 +26,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>OPTIMA-35</string>
|
||||
<string>OptimaLab35</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
|
@ -54,8 +57,17 @@
|
|||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="input_folder_button">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>input</string>
|
||||
<string extracomment="Comment?">Input</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -65,7 +77,7 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Enter output folder</string>
|
||||
<string>Output folder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -75,14 +87,20 @@
|
|||
<string/>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Enter input folder</string>
|
||||
<string>Input folder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="output_folder_button">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>output</string>
|
||||
<string>Output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -508,6 +526,16 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="insert_exif_Button">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Insert Exif</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -547,7 +575,7 @@
|
|||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>edit exif</string>
|
||||
<string>Edit Exif</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -798,7 +826,7 @@
|
|||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuInfo">
|
||||
<widget class="QMenu" name="menuSettings">
|
||||
<property name="title">
|
||||
<string>Settings</string>
|
||||
</property>
|
||||
|
@ -810,7 +838,7 @@
|
|||
</property>
|
||||
<addaction name="actionAbout"/>
|
||||
</widget>
|
||||
<addaction name="menuInfo"/>
|
||||
<addaction name="menuSettings"/>
|
||||
<addaction name="menuHelp"/>
|
||||
</widget>
|
||||
<action name="actionInfo">
|
||||
|
@ -864,18 +892,18 @@
|
|||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>exif_copy_checkBox</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<sender>jpg_quality_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>jpg_quality_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>130</x>
|
||||
<y>105</y>
|
||||
<x>218</x>
|
||||
<y>289</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>332</x>
|
||||
<y>105</y>
|
||||
<x>380</x>
|
||||
<y>289</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
|
@ -895,6 +923,246 @@
|
|||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>exif_copy_checkBox</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>130</x>
|
||||
<y>105</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>332</x>
|
||||
<y>105</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>resize_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>resize_Slider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>380</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>218</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>png_quality_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>png_quality_Slider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>380</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>218</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>contrast_horizontalSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>contrast_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>187</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>378</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>resize_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>resize_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>brightness_horizontalSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>brightness_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>187</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>378</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>date_groupBox</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>126</x>
|
||||
<y>103</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>224</x>
|
||||
<y>589</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>png_quality_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>png_quality_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>gps_checkBox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>lat_lineEdit</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>72</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>192</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>insert_exif_Button</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>92</x>
|
||||
<y>130</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>369</x>
|
||||
<y>684</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>gps_checkBox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>long_lineEdit</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>72</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>344</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>brightness_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>brightness_horizontalSlider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>378</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>187</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>resize_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>resize_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>gps_groupBox</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>94</x>
|
||||
<y>103</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>224</x>
|
||||
<y>535</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>contrast_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>contrast_horizontalSlider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>378</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>187</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
|
@ -927,166 +1195,6 @@
|
|||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>date_groupBox</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>126</x>
|
||||
<y>103</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>224</x>
|
||||
<y>589</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>exif_checkbox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>gps_groupBox</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>94</x>
|
||||
<y>103</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>224</x>
|
||||
<y>535</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>gps_checkBox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>lat_lineEdit</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>72</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>192</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>gps_checkBox</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>long_lineEdit</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>72</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>344</x>
|
||||
<y>547</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>brightness_horizontalSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>brightness_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>187</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>378</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>brightness_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>brightness_horizontalSlider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>378</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>187</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>contrast_horizontalSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>contrast_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>187</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>378</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>contrast_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>contrast_horizontalSlider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>378</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>187</x>
|
||||
<y>458</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>resize_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>resize_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>jpg_quality_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>jpg_quality_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>289</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>289</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>jpg_quality_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
|
@ -1103,69 +1211,5 @@
|
|||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>resize_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>resize_Slider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>380</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>218</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>resize_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>resize_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>252</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>png_quality_Slider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>png_quality_spinBox</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>218</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>380</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>png_quality_spinBox</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>png_quality_Slider</receiver>
|
||||
<slot>setValue(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>380</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>218</x>
|
||||
<y>326</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue