Add context menu option to rename item to first heading (#1692)

This commit is contained in:
Veronica Berglyd Olsen
2024-02-11 20:05:01 +01:00
committed by GitHub
2 changed files with 18 additions and 6 deletions
+10
View File
@@ -1785,6 +1785,7 @@ class _TreeContextMenu(QMenu):
action = self.addAction(self.tr("Rename"))
action.triggered.connect(lambda: self.projTree.renameTreeItem(self._handle))
if isFile:
self._itemHeader()
self._itemActive(False)
self._itemStatusImport(False)
@@ -1833,6 +1834,15 @@ class _TreeContextMenu(QMenu):
menu.addAction(self.projView.projBar.aAddFolder)
return
def _itemHeader(self) -> None:
"""Check if there is a header that can be used for rename."""
if hItem := SHARED.project.index.getItemHeader(self._handle, "T0001"):
action = self.addAction(self.tr("Rename to Heading"))
action.triggered.connect(
lambda: self.projTree.renameTreeItem(self._handle, hItem.title)
)
return
def _itemActive(self, multi: bool) -> None:
"""Add Active/Inactive actions."""
if multi:
+8 -6
View File
@@ -1223,8 +1223,8 @@ def testGuiProjTree_ContextMenu(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
ctxMenu.buildSingleSelectMenu(True)
actions = [x.text() for x in ctxMenu.actions() if x.text()]
assert actions == [
"Open Document", "View Document", "Create New ...", "Rename", "Toggle Active",
"Set Status to ...", "Transform ...", "Expand All", "Collapse All",
"Open Document", "View Document", "Create New ...", "Rename", "Rename to Heading",
"Toggle Active", "Set Status to ...", "Transform ...", "Expand All", "Collapse All",
"Duplicate from Here", "Move to Trash",
]
assert getTransformSubMenu(ctxMenu) == [
@@ -1239,8 +1239,9 @@ def testGuiProjTree_ContextMenu(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
ctxMenu.buildSingleSelectMenu(False)
actions = [x.text() for x in ctxMenu.actions() if x.text()]
assert actions == [
"Open Document", "View Document", "Create New ...", "Rename", "Toggle Active",
"Set Importance to ...", "Transform ...", "Duplicate Document", "Move to Trash",
"Open Document", "View Document", "Create New ...", "Rename", "Rename to Heading",
"Toggle Active", "Set Importance to ...", "Transform ...", "Duplicate Document",
"Move to Trash",
]
assert getTransformSubMenu(ctxMenu) == [
"Split Document by Headers",
@@ -1253,8 +1254,9 @@ def testGuiProjTree_ContextMenu(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
ctxMenu.buildSingleSelectMenu(False)
actions = [x.text() for x in ctxMenu.actions() if x.text()]
assert actions == [
"Open Document", "View Document", "Create New ...", "Rename", "Toggle Active",
"Set Status to ...", "Transform ...", "Duplicate Document", "Move to Trash",
"Open Document", "View Document", "Create New ...", "Rename", "Rename to Heading",
"Toggle Active", "Set Status to ...", "Transform ...", "Duplicate Document",
"Move to Trash",
]
assert getTransformSubMenu(ctxMenu) == [
"Convert to Novel Document", "Split Document by Headers",