Pārlūkot izejas kodu

Permet la suppresion des avertissements

olivier.massot 7 gadi atpakaļ
vecāks
revīzija
3146f02b96
3 mainītis faili ar 43 papildinājumiem un 9 dzēšanām
  1. 21 7
      Viewer.py
  2. 1 0
      core.py
  3. 21 2
      qt_viewer.ui

+ 21 - 7
Viewer.py

@@ -435,11 +435,13 @@ class Viewer(QMainWindow):
                 topitem.addChild(item)
 
             item = QTreeWidgetItem()
-            item.setText(0, obj.name_)
-            item.setData(1, 0, index)
+            if any(m.warning for m in obj.mentions):
+                item.setIcon(0, QIcon(QPixmap(core.here / "rsc\\warning_16.png")))
+            item.setText(1, obj.name_)
+            item.setData(2, 0, index)
             groupes[obj.type_].addChild(item)
 
-        self.ui.treeWidget.setColumnHidden(1, True)
+        self.ui.treeWidget.setColumnHidden(2, True)
         self.ui.treeWidget.expandToDepth(1)
 
         self.ui.btn_save.setEnabled(True)
@@ -523,7 +525,7 @@ class Viewer(QMainWindow):
         self.fit_in_view()
 
     def treeItemSelected(self, item):
-        index = item.data(1, 0)
+        index = item.data(2, 0)
         if index is None:
             self.ui.btn_edit_item.setEnabled(False)
             return
@@ -542,15 +544,18 @@ class Viewer(QMainWindow):
             self.ui.tblRefs.setRowHidden(row, filterStr.lower() not in content.lower())
 
     def edit_selected_item(self):
-        index = self.ui.treeWidget.currentItem().data(1, 0)
+        index = self.ui.treeWidget.currentItem().data(2, 0)
         obj = core.Analyse.objects[index]
         dlg = DetailsDialog(obj, self)
         dlg.show()
         r = dlg.exec_()
-
         if r:
             core.Analyse.build_trees()
             self.maj_view_with(obj)
+            if any(m.warning for m in obj.mentions):
+                self.ui.treeWidget.currentItem().setIcon(0, QIcon(QPixmap(core.here / "rsc\\warning_16.png")))
+            else:
+                self.ui.treeWidget.currentItem().setIcon(0, QIcon())
 
     def keyPressEvent(self, e):
         if e.key() == Qt.Key_S and e.modifiers() & Qt.ControlModifier:
@@ -577,6 +582,7 @@ class DetailsDialog(QDialog):
         self.ui = Ui_details()
         self.ui.setupUi(self)
 
+        self.ui.tbl_mentions.verticalHeader().sectionClicked.connect(self.verticalHeaderClicked)
         self.ui.tbl_mentions.itemClicked.connect(self.itemClicked)
         self.ui.btn_add.clicked.connect(self.add_mention)
         self.ui.btn_edit.clicked.connect(self.edit_mention)
@@ -624,10 +630,18 @@ class DetailsDialog(QDialog):
 
         self.ui.tbl_mentions.setSortingEnabled(True)
 
-    def itemClicked(self):
+    def itemClicked(self, _):
         self.ui.btn_edit.setEnabled(True)
         self.ui.btn_del.setEnabled(True)
 
+    def verticalHeaderClicked(self, row):
+        index = self.ui.tbl_mentions.item(row, 0).data(0)
+        mention = self.obj.mentions[index]
+        if mention.warning:
+            if QMessageBox.question(self, "Confirmation", "Voulez-vous supprimer cet avertissement?") == QMessageBox.Yes:
+                mention.warning = ""
+                self.ui.tbl_mentions.setVerticalHeaderItem(row, QTableWidgetItem(""))
+
     def add_mention(self):
         dlg = ObjectSelectorDialog(parent=self)
         dlg.show()

+ 1 - 0
core.py

@@ -75,6 +75,7 @@ class AccessObject():
             name_ = name_.replace("[{}]".format(ascii_code), char)
         return name_
 
+
 class TableObject(AccessObject):
     type_ = "Table"
     _valid_file_exts = (".xml", ".lnkd")

+ 21 - 2
qt_viewer.ui

@@ -536,20 +536,39 @@
                </property>
                <item>
                 <widget class="QTreeWidget" name="treeWidget">
+                 <property name="indentation">
+                  <number>15</number>
+                 </property>
+                 <property name="animated">
+                  <bool>true</bool>
+                 </property>
                  <attribute name="headerVisible">
                   <bool>false</bool>
                  </attribute>
                  <attribute name="headerCascadingSectionResizes">
-                  <bool>false</bool>
+                  <bool>true</bool>
                  </attribute>
                  <attribute name="headerDefaultSectionSize">
-                  <number>40</number>
+                  <number>20</number>
+                 </attribute>
+                 <attribute name="headerMinimumSectionSize">
+                  <number>10</number>
                  </attribute>
                  <column>
                   <property name="text">
                    <string notr="true">1</string>
                   </property>
                  </column>
+                 <column>
+                  <property name="text">
+                   <string>2</string>
+                  </property>
+                 </column>
+                 <column>
+                  <property name="text">
+                   <string>3</string>
+                  </property>
+                 </column>
                 </widget>
                </item>
               </layout>