@@ -457,7 +457,7 @@ class GuiProjectTree(QTreeWidget):
457457 D_HANDLE = Qt .ItemDataRole .UserRole
458458 D_WORDS = Qt .ItemDataRole .UserRole + 1
459459
460- def __init__ (self , projView : GuiProjectView ):
460+ def __init__ (self , projView : GuiProjectView ) -> None :
461461 super ().__init__ (parent = projView )
462462
463463 logger .debug ("Create: GuiProjectTree" )
@@ -531,36 +531,33 @@ def __init__(self, projView: GuiProjectView):
531531
532532 return
533533
534- def initSettings (self ):
535- """Set or update tree widget settings.
536- """
534+ def initSettings (self ) -> None :
535+ """Set or update tree widget settings."""
537536 # Scroll bars
538537 if CONFIG .hideVScroll :
539538 self .setVerticalScrollBarPolicy (Qt .ScrollBarAlwaysOff )
540539 else :
541540 self .setVerticalScrollBarPolicy (Qt .ScrollBarAsNeeded )
542-
543541 if CONFIG .hideHScroll :
544542 self .setHorizontalScrollBarPolicy (Qt .ScrollBarAlwaysOff )
545543 else :
546544 self .setHorizontalScrollBarPolicy (Qt .ScrollBarAsNeeded )
547-
548545 return
549546
550547 ##
551548 # Class Methods
552549 ##
553550
554- def clearTree (self ):
555- """Clear the GUI content and the related map.
556- """
551+ def clearTree (self ) -> None :
552+ """Clear the GUI content and the related map."""
557553 self .clear ()
558554 self ._treeMap = {}
559555 self ._lastMove = {}
560556 self ._timeChanged = 0
561557 return
562558
563- def newTreeItem (self , itemType , itemClass = None , hLevel = 1 , isNote = False ):
559+ def newTreeItem (self , itemType : nwItemType , itemClass : nwItemClass | None = None ,
560+ hLevel : int = 1 , isNote : bool = False ) -> bool :
564561 """Add new item to the tree, with a given itemType (and
565562 itemClass if Root), and attach it to the selected handle. Also
566563 make sure the item is added in a place it can be added, and that
@@ -576,18 +573,21 @@ def newTreeItem(self, itemType, itemClass=None, hLevel=1, isNote=False):
576573 if itemType == nwItemType .ROOT and isinstance (itemClass , nwItemClass ):
577574
578575 tHandle = self .theProject .newRoot (itemClass )
576+ sHandle = self .getSelectedHandle ()
577+ pItem = self .theProject .tree [sHandle ] if sHandle else None
578+ nHandle = pItem .itemRoot if pItem else None
579579
580580 elif itemType in (nwItemType .FILE , nwItemType .FOLDER ):
581581
582582 sHandle = self .getSelectedHandle ()
583- if sHandle is None or sHandle not in self .theProject .tree :
583+ pItem = self .theProject .tree [sHandle ] if sHandle else None
584+ if sHandle is None or pItem is None :
584585 self .mainGui .makeAlert (self .tr (
585586 "Did not find anywhere to add the file or folder!"
586587 ), nwAlert .ERROR )
587588 return False
588589
589- # Collect some information about the selected item that
590- pItem = self .theProject .tree [sHandle ]
590+ # Collect some information about the selected item
591591 qItem = self ._getTreeItem (sHandle )
592592 sLevel = nwHeaders .H_LEVEL .get (pItem .mainHeading , 0 )
593593 sIsParent = False if qItem is None else qItem .childCount () > 0
@@ -658,9 +658,8 @@ def newTreeItem(self, itemType, itemClass=None, hLevel=1, isNote=False):
658658
659659 return True
660660
661- def revealNewTreeItem (
662- self , tHandle : str , nHandle : str | None = None , wordCount : bool = False
663- ) -> bool :
661+ def revealNewTreeItem (self , tHandle : str , nHandle : str | None = None ,
662+ wordCount : bool = False ) -> bool :
664663 """Reveal a newly added project item in the project tree."""
665664 nwItem = self .theProject .tree [tHandle ]
666665 if not nwItem :
@@ -971,7 +970,7 @@ def setTreeItemValues(self, tHandle):
971970 if trItem is None or nwItem is None :
972971 return
973972
974- itemStatus , statusIcon = nwItem .getImportStatus ()
973+ itemStatus , statusIcon = nwItem .getImportStatus (incIcon = True )
975974 hLevel = nwItem .mainHeading
976975 itemIcon = self .mainTheme .getItemIcon (
977976 nwItem .itemType , nwItem .itemClass , nwItem .itemLayout , hLevel
@@ -1452,10 +1451,9 @@ def _getItemWordCount(self, tHandle):
14521451 return 0
14531452 return int (tItem .data (self .C_DATA , self .D_WORDS ))
14541453
1455- def _getTreeItem (self , tHandle ):
1456- """Return the QTreeWidgetItem of a given item handle.
1457- """
1458- return self ._treeMap .get (tHandle , None )
1454+ def _getTreeItem (self , tHandle : str | None ) -> QTreeWidgetItem | None :
1455+ """Return the QTreeWidgetItem of a given item handle."""
1456+ return self ._treeMap .get (tHandle , None ) if tHandle else None
14591457
14601458 def _toggleItemActive (self , tHandle ):
14611459 """Toggle the active status of an item.
@@ -1698,7 +1696,7 @@ def _duplicateFromHandle(self, tHandle: str) -> bool:
16981696
16991697 return True
17001698
1701- def _scanChildren (self , itemList : list , tItem : QTreeWidgetItem , tIndex : int ):
1699+ def _scanChildren (self , itemList : list , tItem : QTreeWidgetItem , tIndex : int ) -> list [ str ] :
17021700 """This is a recursive function returning all items in a tree
17031701 starting at a given QTreeWidgetItem.
17041702 """
0 commit comments