Clear the staus/import form when no item is selected (#1290)

This commit is contained in:
Veronica Berglyd Olsen
2023-01-08 17:16:27 +01:00
parent f6e5293d8e
commit 9529a79707
+36 -21
View File
@@ -338,16 +338,18 @@ class GuiProjectEditStatus(QWidget):
self.editName = QLineEdit() self.editName = QLineEdit()
self.editName.setMaxLength(40) self.editName.setMaxLength(40)
self.editName.setEnabled(False)
self.editName.setPlaceholderText(self.tr("Select item to edit")) self.editName.setPlaceholderText(self.tr("Select item to edit"))
self.editName.setEnabled(False)
self.colPixmap = QPixmap(self.iPx, self.iPx) self.colPixmap = QPixmap(self.iPx, self.iPx)
self.colPixmap.fill(QColor(100, 100, 100)) self.colPixmap.fill(QColor(100, 100, 100))
self.colButton = QPushButton(QIcon(self.colPixmap), self.tr("Colour")) self.colButton = QPushButton(QIcon(self.colPixmap), self.tr("Colour"))
self.colButton.setIconSize(self.colPixmap.rect().size()) self.colButton.setIconSize(self.colPixmap.rect().size())
self.colButton.setEnabled(False)
self.colButton.clicked.connect(self._selectColour) self.colButton.clicked.connect(self._selectColour)
self.saveButton = QPushButton(self.tr("Save")) self.saveButton = QPushButton(self.tr("Save"))
self.saveButton.setEnabled(False)
self.saveButton.clicked.connect(self._saveItem) self.saveButton.clicked.connect(self._saveItem)
# Assemble # Assemble
@@ -446,14 +448,15 @@ class GuiProjectEditStatus(QWidget):
"""Save changes made to a status item. """Save changes made to a status item.
""" """
selItem = self._getSelectedItem() selItem = self._getSelectedItem()
if selItem is not None: if selItem is None:
selItem.setText(self.COL_LABEL, simplified(self.editName.text())) return
selItem.setIcon(self.COL_LABEL, self.colButton.icon())
selItem.setData(self.COL_LABEL, self.COL_ROLE, ( selItem.setText(self.COL_LABEL, simplified(self.editName.text()))
self.selColour.red(), self.selColour.green(), self.selColour.blue() selItem.setIcon(self.COL_LABEL, self.colButton.icon())
)) selItem.setData(self.COL_LABEL, self.COL_ROLE, (
self.editName.setEnabled(False) self.selColour.red(), self.selColour.green(), self.selColour.blue()
self.colChanged = True ))
self.colChanged = True
return return
@@ -503,20 +506,32 @@ class GuiProjectEditStatus(QWidget):
boxes and button. boxes and button.
""" """
selItem = self._getSelectedItem() selItem = self._getSelectedItem()
if selItem is None: if isinstance(selItem, QTreeWidgetItem):
return cols = selItem.data(self.COL_LABEL, self.COL_ROLE)
name = selItem.text(self.COL_LABEL)
cols = selItem.data(self.COL_LABEL, self.COL_ROLE) pixmap = QPixmap(self.iPx, self.iPx)
name = selItem.text(self.COL_LABEL) pixmap.fill(QColor(*cols))
self.selColour = QColor(*cols)
self.editName.setText(name)
self.colButton.setIcon(QIcon(pixmap))
self.editName.selectAll()
self.editName.setFocus()
pixmap = QPixmap(self.iPx, self.iPx) self.editName.setEnabled(True)
pixmap.fill(QColor(*cols)) self.colButton.setEnabled(True)
self.selColour = QColor(*cols) self.saveButton.setEnabled(True)
self.editName.setText(name)
self.colButton.setIcon(QIcon(pixmap)) else:
self.editName.setEnabled(True) pixmap = QPixmap(self.iPx, self.iPx)
self.editName.selectAll() pixmap.fill(QColor(100, 100, 100))
self.editName.setFocus() self.selColour = QColor(100, 100, 100)
self.editName.setText("")
self.colButton.setIcon(QIcon(pixmap))
self.editName.setEnabled(False)
self.colButton.setEnabled(False)
self.saveButton.setEnabled(False)
return return