Add checkmark for current active status or iumportance value (#1202)

This commit is contained in:
Veronica Berglyd Olsen
2022-10-25 16:19:25 +02:00
parent 7b04d57605
commit b0095b266d
+8 -4
View File
@@ -42,7 +42,7 @@ from PyQt5.QtWidgets import (
from novelwriter.core import DocMerger, DocSplitter from novelwriter.core import DocMerger, DocSplitter
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert
from novelwriter.dialogs import GuiDocMerge, GuiDocSplit, GuiEditLabel, GuiProjectSettings from novelwriter.dialogs import GuiDocMerge, GuiDocSplit, GuiEditLabel, GuiProjectSettings
from novelwriter.constants import nwHeaders, trConst, nwLabels from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -1121,10 +1121,12 @@ class GuiProjectTree(QTreeWidget):
open a context menu in-place. open a context menu in-place.
""" """
tItem = None tItem = None
hasChild = False
selItem = self.itemAt(clickPos) selItem = self.itemAt(clickPos)
if isinstance(selItem, QTreeWidgetItem): if isinstance(selItem, QTreeWidgetItem):
tHandle = selItem.data(self.C_NAME, Qt.UserRole) tHandle = selItem.data(self.C_NAME, Qt.UserRole)
tItem = self.theProject.tree[tHandle] tItem = self.theProject.tree[tHandle]
hasChild = selItem.childCount() > 0
if tItem is None: if tItem is None:
logger.debug("No item found") logger.debug("No item found")
@@ -1149,7 +1151,6 @@ class GuiProjectTree(QTreeWidget):
isRoot = tItem.isRootType() isRoot = tItem.isRootType()
isFolder = tItem.isFolderType() isFolder = tItem.isFolderType()
isFile = tItem.isFileType() isFile = tItem.isFileType()
hasChild = selItem.childCount() > 0
if isFile: if isFile:
aOpenDoc = ctxMenu.addAction(self.tr("Open Document")) aOpenDoc = ctxMenu.addAction(self.tr("Open Document"))
@@ -1172,10 +1173,12 @@ class GuiProjectTree(QTreeWidget):
aActive = ctxMenu.addAction(self.tr("Toggle Active")) aActive = ctxMenu.addAction(self.tr("Toggle Active"))
aActive.triggered.connect(lambda: self._toggleItemActive(tHandle)) aActive.triggered.connect(lambda: self._toggleItemActive(tHandle))
checkMark = f" ({nwUnicode.U_CHECK})"
if tItem.isNovelLike(): if tItem.isNovelLike():
mStatus = ctxMenu.addMenu(self.tr("Set Status to ...")) mStatus = ctxMenu.addMenu(self.tr("Set Status to ..."))
for n, (key, entry) in enumerate(self.theProject.statusItems.items()): for n, (key, entry) in enumerate(self.theProject.statusItems.items()):
aStatus = mStatus.addAction(entry["icon"], entry["name"]) entryName = entry["name"] + (checkMark if tItem.itemStatus == key else "")
aStatus = mStatus.addAction(entry["icon"], entryName)
aStatus.triggered.connect( aStatus.triggered.connect(
lambda n, key=key: self._changeItemStatus(tHandle, key) lambda n, key=key: self._changeItemStatus(tHandle, key)
) )
@@ -1187,7 +1190,8 @@ class GuiProjectTree(QTreeWidget):
else: else:
mImport = ctxMenu.addMenu(self.tr("Set Importance to ...")) mImport = ctxMenu.addMenu(self.tr("Set Importance to ..."))
for n, (key, entry) in enumerate(self.theProject.importItems.items()): for n, (key, entry) in enumerate(self.theProject.importItems.items()):
aImport = mImport.addAction(entry["icon"], entry["name"]) entryName = entry["name"] + (checkMark if tItem.itemImport == key else "")
aImport = mImport.addAction(entry["icon"], entryName)
aImport.triggered.connect( aImport.triggered.connect(
lambda n, key=key: self._changeItemImport(tHandle, key) lambda n, key=key: self._changeItemImport(tHandle, key)
) )