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