Fixed some issues related to the handling of project files or directories of type 'OTHERS'. eric7

Fri, 12 Jul 2024 17:11:28 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 12 Jul 2024 17:11:28 +0200
branch
eric7
changeset 10841
f06e4123cb1c
parent 10840
c8045d0dbaa7
child 10842
d7fe0566dfa8

Fixed some issues related to the handling of project files or directories of type 'OTHERS'.

src/eric7/Project/ProjectBrowserModel.py file | annotate | diff | comparison | revisions
--- a/src/eric7/Project/ProjectBrowserModel.py	Thu Jul 11 14:21:34 2024 +0200
+++ b/src/eric7/Project/ProjectBrowserModel.py	Fri Jul 12 17:11:28 2024 +0200
@@ -647,6 +647,16 @@
             if parentItem == self.rootItem
             else self.createIndex(parentItem.row(), 0, parentItem)
         )
+
+        if typeString == "OTHERS":
+            childItem = self.findChildItem(os.path.basename(name), 0, parentItem)
+            if childItem is not None:
+                if childItem.bold:
+                    # the entry was already added
+                    return
+                else:
+                    self.removeItem(name)
+
         if os.path.isdir(fname):
             itm = ProjectBrowserDirectoryItem(
                 parentItem,
@@ -923,6 +933,10 @@
             parentItem.removeChild(childItem)
             self.endRemoveRows()
 
+        if isinstance(parentItem, ProjectBrowserSimpleDirectoryItem):
+            # unmanaged directory
+            self.removeItem(os.path.dirname(name))
+
     def repopulateItem(self, name):
         """
         Public method to repopulate an item.

eric ide

mercurial