39 Set up the main table to display and edit existing metadata entries.
41 self.
ui.tableWidget.setColumnCount(3)
42 self.
ui.tableWidget.setHorizontalHeaderLabels([
"Property",
"Value",
""])
43 self.
ui.tableWidget.horizontalHeader().setStretchLastSection(
False)
44 self.
ui.tableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch)
45 self.
ui.tableWidget.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch)
46 self.
ui.tableWidget.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed)
47 self.
ui.tableWidget.setColumnWidth(2, 40)
54 Set up a small input table for adding new metadata key-value pairs.
56 self.
ui.addTableWidget.setColumnCount(3)
57 self.
ui.addTableWidget.setRowCount(1)
58 self.
ui.addTableWidget.horizontalHeader().setVisible(
False)
59 self.
ui.addTableWidget.verticalHeader().setVisible(
False)
61 self.
ui.addTableWidget.horizontalHeader().setStretchLastSection(
False)
62 self.
ui.addTableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch)
63 self.
ui.addTableWidget.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch)
64 self.
ui.addTableWidget.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed)
65 self.
ui.addTableWidget.setColumnWidth(2, 40)
67 row_height = self.
ui.addTableWidget.verticalHeader().defaultSectionSize()
68 self.
ui.addTableWidget.setFixedHeight(row_height + 2)
70 self.
ui.addTableWidget.setItem(0, 0, QTableWidgetItem())
71 self.
ui.addTableWidget.setItem(0, 1, QTableWidgetItem())
73 add_button = QPushButton()
74 add_button.setIcon(QIcon(
":/icons/icons/editadd.svg"))
75 apply_icon_button_style(add_button)
76 add_button.setIconSize(QSize(20, 20))
77 add_button.setFixedSize(24, 24)
78 add_button.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
79 self.
ui.addTableWidget.setCellWidget(0, 2, add_button)
85 Insert a new key-value pair as a row into the main metadata table.
87 row_position = self.
ui.tableWidget.rowCount()
88 self.
ui.tableWidget.insertRow(row_position)
90 self.
ui.tableWidget.setItem(row_position, 0, QTableWidgetItem(key))
91 self.
ui.tableWidget.setItem(row_position, 1, QTableWidgetItem(value))
93 delete_button = QPushButton(
"")
94 delete_button.setIcon(QIcon(
":/icons/icons/editbin.svg"))
95 apply_icon_button_style(delete_button)
96 delete_button.setIconSize(QSize(20, 20))
97 delete_button.setFixedSize(24, 24)
98 delete_button.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
100 self.
ui.tableWidget.setCellWidget(row_position, 2, delete_button)
117 Add a new metadata entry from the input fields to the main table.
119 key_item = self.
ui.addTableWidget.item(0, 0)
120 value_item = self.
ui.addTableWidget.item(0, 1)
122 key = key_item.text().strip()
if key_item
else ''
123 value = value_item.text().strip()
if value_item
else ''
127 self.
ui.addTableWidget.setItem(0, 0, QTableWidgetItem())
128 self.
ui.addTableWidget.setItem(0, 1, QTableWidgetItem())
130 QMessageBox.warning(self, self.tr(
"Input Error"), self.tr(
"Both Property and Value must be filled."))