Add check for root class before allowing adding novel documents in project tree new item (#1404)
This commit is contained in:
@@ -38,6 +38,7 @@ from PyQt5.QtWidgets import (
|
|||||||
QMenu, QShortcut, QSizePolicy, QToolButton, QTreeWidget, QTreeWidgetItem,
|
QMenu, QShortcut, QSizePolicy, QToolButton, QTreeWidget, QTreeWidgetItem,
|
||||||
QVBoxLayout, QWidget
|
QVBoxLayout, QWidget
|
||||||
)
|
)
|
||||||
|
from novelwriter.core.item import NWItem
|
||||||
|
|
||||||
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert, nwWidget
|
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert, nwWidget
|
||||||
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
|
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
|
||||||
@@ -108,6 +109,9 @@ class GuiProjectView(QWidget):
|
|||||||
self.keyContext.setContext(Qt.WidgetShortcut)
|
self.keyContext.setContext(Qt.WidgetShortcut)
|
||||||
self.keyContext.activated.connect(lambda: self.projTree.openContextOnSelected())
|
self.keyContext.activated.connect(lambda: self.projTree.openContextOnSelected())
|
||||||
|
|
||||||
|
# Signals
|
||||||
|
self.selectedItemChanged.connect(self.projBar._treeSelectionChanged)
|
||||||
|
|
||||||
# Function Mappings
|
# Function Mappings
|
||||||
self.emptyTrash = self.projTree.emptyTrash
|
self.emptyTrash = self.projTree.emptyTrash
|
||||||
self.requestDeleteItem = self.projTree.requestDeleteItem
|
self.requestDeleteItem = self.projTree.requestDeleteItem
|
||||||
@@ -418,6 +422,23 @@ class GuiProjectToolBar(QWidget):
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
##
|
||||||
|
# Slots
|
||||||
|
##
|
||||||
|
|
||||||
|
@pyqtSlot(str)
|
||||||
|
def _treeSelectionChanged(self, tHandle):
|
||||||
|
"""Toggle the visibility of the new item enties for novel
|
||||||
|
documents. They should only be visible if novel documents can
|
||||||
|
actually be added.
|
||||||
|
"""
|
||||||
|
nwItem = self.theProject.tree[tHandle]
|
||||||
|
allowDoc = isinstance(nwItem, NWItem) and nwItem.documentAllowed()
|
||||||
|
self.aAddEmpty.setVisible(allowDoc)
|
||||||
|
self.aAddChap.setVisible(allowDoc)
|
||||||
|
self.aAddScene.setVisible(allowDoc)
|
||||||
|
return
|
||||||
|
|
||||||
# END Class GuiProjectToolBar
|
# END Class GuiProjectToolBar
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user