Connected the make root menu options.
This commit is contained in:
+2
-1
@@ -72,7 +72,7 @@ class GuiDocTree(QTreeWidget):
|
||||
itemClass = self.theProject.getItem(pHandle).itemClass
|
||||
|
||||
logger.verbose("Adding new item of type %s and class %s to handle %s" % (
|
||||
itemType.name,itemClass.name,str(pHandle))
|
||||
itemType.name, itemClass.name, str(pHandle))
|
||||
)
|
||||
|
||||
if itemType == nwItemType.ROOT:
|
||||
@@ -220,6 +220,7 @@ class GuiDocTree(QTreeWidget):
|
||||
|
||||
if nwItem.itemType == nwItemType.ROOT:
|
||||
newItem.setIcon(self.C_NAME, QIcon.fromTheme("drive-harddisk"))
|
||||
self.theParent.mainMenu.setAvailableRoot()
|
||||
elif nwItem.itemType == nwItemType.FOLDER:
|
||||
newItem.setIcon(self.C_NAME, QIcon.fromTheme("folder"))
|
||||
elif nwItem.itemType == nwItemType.FILE:
|
||||
|
||||
@@ -52,6 +52,14 @@ class GuiMainMenu(QMenuBar):
|
||||
self.theParent.openProject(self.mainConf.recentList[recentItem])
|
||||
return True
|
||||
|
||||
def setAvailableRoot(self):
|
||||
for itemClass in nwItemClass:
|
||||
if itemClass != nwItemClass.NO_CLASS:
|
||||
self.rootItems[itemClass].setEnabled(
|
||||
self.theProject.checkRootUnique(itemClass)
|
||||
)
|
||||
return
|
||||
|
||||
##
|
||||
# Menu Action
|
||||
##
|
||||
@@ -122,6 +130,12 @@ class GuiMainMenu(QMenuBar):
|
||||
self.rootItems[nwItemClass.TIMELINE] = QAction(QIcon.fromTheme("folder-new"), "Timeline Root", rootMenu)
|
||||
self.rootItems[nwItemClass.OBJECT] = QAction(QIcon.fromTheme("folder-new"), "Object Root", rootMenu)
|
||||
self.rootItems[nwItemClass.CUSTOM] = QAction(QIcon.fromTheme("folder-new"), "Custom Root", rootMenu)
|
||||
nCount = 0
|
||||
for itemClass in self.rootItems.keys():
|
||||
nCount += 1 # This forces the lambdas to be unique
|
||||
self.rootItems[itemClass].triggered.connect(
|
||||
lambda nCount, itemClass=itemClass : self._newTreeItem(nwItemType.ROOT, itemClass)
|
||||
)
|
||||
rootMenu.addActions(self.rootItems.values())
|
||||
|
||||
# Project > New Folder
|
||||
|
||||
+2
-1
@@ -35,13 +35,14 @@ class NWItem():
|
||||
nwItemClass.CUSTOM : "Custom",
|
||||
}
|
||||
CLASS_FLAG = {
|
||||
nwItemClass.NO_CLASS : "X",
|
||||
nwItemClass.NO_CLASS : "0",
|
||||
nwItemClass.NOVEL : "N",
|
||||
nwItemClass.PLOT : "P",
|
||||
nwItemClass.CHARACTER : "C",
|
||||
nwItemClass.WORLD : "L",
|
||||
nwItemClass.TIMELINE : "T",
|
||||
nwItemClass.OBJECT : "O",
|
||||
nwItemClass.CUSTOM : "X",
|
||||
}
|
||||
LAYOUT_NAME = {
|
||||
nwItemLayout.NO_LAYOUT : "None",
|
||||
|
||||
@@ -281,7 +281,7 @@ class NWProject():
|
||||
if tHandle is None:
|
||||
validActions[nwItemAction.ADD_ROOT] = {
|
||||
"Type" : nwItemType.ROOT,
|
||||
"Class" : [x for x in nwItemClass if self._checkRootUnique(x)]
|
||||
"Class" : [x for x in nwItemClass if self.checkRootUnique(x)]
|
||||
}
|
||||
return validActions
|
||||
|
||||
@@ -343,11 +343,7 @@ class NWProject():
|
||||
|
||||
return validActions
|
||||
|
||||
##
|
||||
# Internal Functions
|
||||
##
|
||||
|
||||
def _checkRootUnique(self, theClass):
|
||||
def checkRootUnique(self, theClass):
|
||||
"""Checks if there already is a root entry of class 'theClass' in the
|
||||
root of the project tree.
|
||||
"""
|
||||
@@ -358,6 +354,10 @@ class NWProject():
|
||||
return False
|
||||
return True
|
||||
|
||||
##
|
||||
# Internal Functions
|
||||
##
|
||||
|
||||
def _countItemDepth(self, tHandle):
|
||||
theDepth = 0
|
||||
nwItem = self.getItem(tHandle)
|
||||
|
||||
Reference in New Issue
Block a user