Skip to content

Commit

Permalink
Update context menu entries in project tree (#1111)
Browse files Browse the repository at this point in the history
  • Loading branch information
vkbo committed Sep 11, 2022
2 parents 76e9c82 + 874f4f7 commit c48d415
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions novelwriter/gui/projtree.py
Original file line number Diff line number Diff line change
Expand Up @@ -1019,7 +1019,11 @@ def _openContextMenu(self, clickPos):
# Document Actions
# ================

isRoot = tItem.isRootType()
isFolder = tItem.isFolderType()
isFile = tItem.isFileType()
isEmpty = selItem.childCount() == 0

if isFile:
ctxMenu.addAction(
self.tr("Open Document"),
Expand All @@ -1044,14 +1048,14 @@ def _openContextMenu(self, clickPos):
)

if tItem.isNovelLike():
mStatus = ctxMenu.addMenu(self.tr("Change Status"))
mStatus = ctxMenu.addMenu(self.tr("Set Status to ..."))
for n, (key, entry) in enumerate(self.theProject.statusItems.items()):
aStatus = mStatus.addAction(entry["icon"], entry["name"])
aStatus.triggered.connect(
lambda n, key=key: self._changeItemStatus(tHandle, key)
)
else:
mImport = ctxMenu.addMenu(self.tr("Change Importance"))
mImport = ctxMenu.addMenu(self.tr("Set Importance to ..."))
for n, (key, entry) in enumerate(self.theProject.importItems.items()):
aImport = mImport.addAction(entry["icon"], entry["name"])
aImport.triggered.connect(
Expand All @@ -1061,14 +1065,14 @@ def _openContextMenu(self, clickPos):
if isFile and tItem.documentAllowed():
if tItem.isNoteLayout():
ctxMenu.addAction(
self.tr("Change to {0}").format(
self.tr("Convert to {0}").format(
trConst(nwLabels.LAYOUT_NAME[nwItemLayout.DOCUMENT])
),
lambda: self._changeItemLayout(tHandle, nwItemLayout.DOCUMENT)
)
else:
ctxMenu.addAction(
self.tr("Change to {0}").format(
self.tr("Convert to {0}").format(
trConst(nwLabels.LAYOUT_NAME[nwItemLayout.NOTE])
),
lambda: self._changeItemLayout(tHandle, nwItemLayout.NOTE)
Expand All @@ -1079,7 +1083,7 @@ def _openContextMenu(self, clickPos):
# Delete Item
# ===========

if tItem.itemClass == nwItemClass.TRASH or tItem.isRootType():
if tItem.itemClass == nwItemClass.TRASH or isRoot or (isFolder and isEmpty):
ctxMenu.addAction(
self.tr("Delete Permanently"), lambda: self.deleteItem(tHandle)
)
Expand Down

0 comments on commit c48d415

Please sign in to comment.