Add a context menu option to rename a document from any title within it
This commit is contained in:
+17
-17
@@ -190,17 +190,20 @@ class GuiProjectView(QWidget):
|
||||
"""Check if the project tree has focus."""
|
||||
return self.projTree.hasFocus()
|
||||
|
||||
def renameTreeItem(self, tHandle: str | None = None) -> bool:
|
||||
##
|
||||
# Public Slots
|
||||
##
|
||||
|
||||
@pyqtSlot(str, str)
|
||||
def renameTreeItem(self, tHandle: str | None = None, name: str = "") -> None:
|
||||
"""External request to rename an item or the currently selected
|
||||
item. This is triggered by the global menu or keyboard shortcut.
|
||||
"""
|
||||
if tHandle is None:
|
||||
tHandle = self.projTree.getSelectedHandle()
|
||||
return self.projTree.renameTreeItem(tHandle) if tHandle else False
|
||||
|
||||
##
|
||||
# Public Slots
|
||||
##
|
||||
if tHandle:
|
||||
self.projTree.renameTreeItem(tHandle, name=name)
|
||||
return
|
||||
|
||||
@pyqtSlot(str, bool)
|
||||
def setSelectedHandle(self, tHandle: str, doScroll: bool = False) -> None:
|
||||
@@ -766,19 +769,16 @@ class GuiProjectTree(QTreeWidget):
|
||||
self.setCurrentItem(tItem.child(0))
|
||||
return
|
||||
|
||||
def renameTreeItem(self, tHandle: str) -> bool:
|
||||
def renameTreeItem(self, tHandle: str, name: str = "") -> None:
|
||||
"""Open a dialog to edit the label of an item."""
|
||||
tItem = SHARED.project.tree[tHandle]
|
||||
if tItem is None:
|
||||
return False
|
||||
|
||||
newLabel, dlgOk = GuiEditLabel.getLabel(self, text=tItem.itemName)
|
||||
if dlgOk:
|
||||
tItem.setName(newLabel)
|
||||
self.setTreeItemValues(tHandle)
|
||||
self._alertTreeChange(tHandle, flush=False)
|
||||
|
||||
return True
|
||||
if tItem:
|
||||
newLabel, dlgOk = GuiEditLabel.getLabel(self, text=name or tItem.itemName)
|
||||
if dlgOk:
|
||||
tItem.setName(newLabel)
|
||||
self.setTreeItemValues(tHandle)
|
||||
self._alertTreeChange(tHandle, flush=False)
|
||||
return
|
||||
|
||||
def saveTreeOrder(self) -> None:
|
||||
"""Build a list of the items in the project tree and send them
|
||||
|
||||
Reference in New Issue
Block a user