More reorganisation of the main menu

This commit is contained in:
Veronica K. B. Olsen
2019-04-27 16:09:33 +02:00
parent fdf41f383a
commit 7c6393302a
3 changed files with 129 additions and 67 deletions
+8 -6
View File
@@ -39,12 +39,14 @@ class nwItemClass(Enum):
class nwItemLayout(Enum): class nwItemLayout(Enum):
NO_LAYOUT = 0 NO_LAYOUT = 0
TITLE_PAGE = 1 TITLE = 1
SIMPLE_PAGE = 2 BOOK = 2
PARTITION = 3 PAGE = 3
CHAPTER = 4 PARTITION = 4
SCENE = 5 UNNUMBERED = 5
NOTE = 6 CHAPTER = 6
SCENE = 7
NOTE = 8
# END Enum nwItemLayout # END Enum nwItemLayout
+103 -47
View File
@@ -31,9 +31,11 @@ class GuiMainMenu(QMenuBar):
self.theProject = theProject self.theProject = theProject
self._buildProjectMenu() self._buildProjectMenu()
self._buildItemMenu() self._buildStructureMenu()
self._buildDocumentMenu()
self._buildEditMenu() self._buildEditMenu()
self._buildFormatMenu() self._buildFormatMenu()
self._buildToolsMenu()
self._buildHelpMenu() self._buildHelpMenu()
# Function Pointers # Function Pointers
@@ -120,41 +122,19 @@ class GuiMainMenu(QMenuBar):
return return
def _buildItemMenu(self): def _buildStructureMenu(self):
# Item # Structure
self.itemMenu = self.addMenu("&Item") self.structMenu = self.addMenu("&Structure")
# Item > New # Structure > New Folder
menuItem = QAction(QIcon.fromTheme("document-new"), "&New Document", self) menuItem = QAction(QIcon.fromTheme("folder-new"), "Create Folder", self)
menuItem.setStatusTip("Create New Document") menuItem.setStatusTip("Create Folder")
menuItem.setShortcut("Ctrl+N")
self.itemMenu.addAction(menuItem)
# Item > Open
menuItem = QAction(QIcon.fromTheme("document-open"), "&Open Document", self)
menuItem.setStatusTip("Open Selected Document")
menuItem.setShortcut("Ctrl+O")
self.itemMenu.addAction(menuItem)
# Item > Save
menuItem = QAction(QIcon.fromTheme("document-save"), "&Save Document", self)
menuItem.setStatusTip("Save Current Document")
menuItem.setShortcut("Ctrl+S")
menuItem.triggered.connect(self.theParent.saveDocument)
self.itemMenu.addAction(menuItem)
# Item > Separator
self.itemMenu.addSeparator()
# Item > New Folder
menuItem = QAction(QIcon.fromTheme("folder-new"), "New Folder", self)
menuItem.setStatusTip("New Folder")
menuItem.setShortcut("Ctrl+Shift+N") menuItem.setShortcut("Ctrl+Shift+N")
self.itemMenu.addAction(menuItem) self.structMenu.addAction(menuItem)
# Item > New Root # Structure > New Root
rootMenu = self.itemMenu.addMenu(QIcon.fromTheme("folder-new"), "Create Root Group") rootMenu = self.structMenu.addMenu(QIcon.fromTheme("folder-new"), "Create Root Group")
self.rootItems = {} self.rootItems = {}
self.rootItems[nwItemClass.NOVEL] = QAction(QIcon.fromTheme("folder-new"), "Novel Root", rootMenu) self.rootItems[nwItemClass.NOVEL] = QAction(QIcon.fromTheme("folder-new"), "Novel Root", rootMenu)
self.rootItems[nwItemClass.PLOT] = QAction(QIcon.fromTheme("folder-new"), "Plot Root", rootMenu) self.rootItems[nwItemClass.PLOT] = QAction(QIcon.fromTheme("folder-new"), "Plot Root", rootMenu)
@@ -165,14 +145,86 @@ class GuiMainMenu(QMenuBar):
self.rootItems[nwItemClass.CUSTOM] = QAction(QIcon.fromTheme("folder-new"), "Custom Root", rootMenu) self.rootItems[nwItemClass.CUSTOM] = QAction(QIcon.fromTheme("folder-new"), "Custom Root", rootMenu)
rootMenu.addActions(self.rootItems.values()) rootMenu.addActions(self.rootItems.values())
# Item > Separator # Structure > Rename Folder
self.itemMenu.addSeparator() menuItem = QAction(QIcon.fromTheme("folder-new"), "Rename Folder", self)
menuItem.setStatusTip("Rename Selected Folder")
menuItem.setShortcut("Ctrl+Shift+E")
self.structMenu.addAction(menuItem)
# Item > Delete Item # Structure > Delete Folder
menuItem = QAction(QIcon.fromTheme("folder-delete"), "Delete Item", self) menuItem = QAction(QIcon.fromTheme("edit-delete"), "Delete Folder", self)
menuItem.setStatusTip("Delete Selected Item") menuItem.setStatusTip("Delete Selected Folder")
menuItem.setShortcut("Del") menuItem.setShortcut("Ctrl+Shift+Del")
self.itemMenu.addAction(menuItem) self.structMenu.addAction(menuItem)
# Structure > Separator
self.structMenu.addSeparator()
# Structure > Move Up
menuItem = QAction(QIcon.fromTheme("go-up"), "Move Item Up", self)
menuItem.setStatusTip("Move Item Up")
menuItem.setShortcut("Ctrl+Up")
self.structMenu.addAction(menuItem)
# Structure > Move Down
menuItem = QAction(QIcon.fromTheme("go-down"), "Move Item Down", self)
menuItem.setStatusTip("Move Item Down")
menuItem.setShortcut("Ctrl+Down")
self.structMenu.addAction(menuItem)
return
def _buildDocumentMenu(self):
# Document
self.docuMenu = self.addMenu("&Document")
# Document > New
menuItem = QAction(QIcon.fromTheme("document-new"), "&New Document", self)
menuItem.setStatusTip("Create New Document")
menuItem.setShortcut("Ctrl+N")
self.docuMenu.addAction(menuItem)
# Document > Open
menuItem = QAction(QIcon.fromTheme("document-open"), "&Open Document", self)
menuItem.setStatusTip("Open Selected Document")
menuItem.setShortcut("Ctrl+O")
self.docuMenu.addAction(menuItem)
# Document > Save
menuItem = QAction(QIcon.fromTheme("document-save"), "&Save Document", self)
menuItem.setStatusTip("Save Current Document")
menuItem.setShortcut("Ctrl+S")
menuItem.triggered.connect(self.theParent.saveDocument)
self.docuMenu.addAction(menuItem)
# Document > Separator
self.docuMenu.addSeparator()
# Document > Edit
menuItem = QAction(QIcon.fromTheme("document-properties"), "&Edit Document", self)
menuItem.setStatusTip("Change Document Settings")
menuItem.setShortcut("Ctrl+E")
self.docuMenu.addAction(menuItem)
# Document > Delete
menuItem = QAction(QIcon.fromTheme("edit-delete"), "&Delete Document", self)
menuItem.setStatusTip("Delete Selected Document")
menuItem.setShortcut("Ctrl+Del")
self.docuMenu.addAction(menuItem)
# Document > Separator
self.docuMenu.addSeparator()
# Document > Split
menuItem = QAction(QIcon.fromTheme("list-add"), "Split Document", self)
menuItem.setStatusTip("Split Selected Document")
self.docuMenu.addAction(menuItem)
# Document > Merge
menuItem = QAction(QIcon.fromTheme("list-remove"), "Merge Document", self)
menuItem.setStatusTip("Merge Selected Documents")
self.docuMenu.addAction(menuItem)
return return
@@ -236,14 +288,6 @@ class GuiMainMenu(QMenuBar):
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.SEL_PARA)) menuItem.triggered.connect(lambda: self._docAction(nwDocAction.SEL_PARA))
self.editMenu.addAction(menuItem) self.editMenu.addAction(menuItem)
# Edit > Separator
self.editMenu.addSeparator()
# Edit > Settings
menuItem = QAction(QIcon.fromTheme("applications-system"), "Program Setting", self)
menuItem.setStatusTip("Change %s Settings" % nw.__package__)
self.editMenu.addAction(menuItem)
return return
def _buildFormatMenu(self): def _buildFormatMenu(self):
@@ -291,6 +335,18 @@ class GuiMainMenu(QMenuBar):
return return
def _buildToolsMenu(self):
# Tools
self.toolsMenu = self.addMenu("&Tools")
# Tools > Settings
menuItem = QAction(QIcon.fromTheme("preferences-system"), "Preferences", self)
menuItem.setStatusTip("Preferences")
self.toolsMenu.addAction(menuItem)
return
def _buildHelpMenu(self): def _buildHelpMenu(self):
# Help # Help
+18 -14
View File
@@ -44,22 +44,26 @@ class NWItem():
nwItemClass.OBJECT : "O", nwItemClass.OBJECT : "O",
} }
LAYOUT_NAME = { LAYOUT_NAME = {
nwItemLayout.NO_LAYOUT : "None", nwItemLayout.NO_LAYOUT : "None",
nwItemLayout.TITLE_PAGE : "Title Page", nwItemLayout.TITLE : "Title Page",
nwItemLayout.SIMPLE_PAGE : "Simple Page", nwItemLayout.BOOK : "Book",
nwItemLayout.PARTITION : "Partition", nwItemLayout.PAGE : "Plain Page",
nwItemLayout.CHAPTER : "Chapter", nwItemLayout.PARTITION : "Partition",
nwItemLayout.SCENE : "Scene", nwItemLayout.UNNUMBERED : "Un-Numbered",
nwItemLayout.NOTE : "Note", nwItemLayout.CHAPTER : "Chapter",
nwItemLayout.SCENE : "Scene",
nwItemLayout.NOTE : "Note",
} }
LAYOUT_FLAG = { LAYOUT_FLAG = {
nwItemLayout.NO_LAYOUT : "Xo", nwItemLayout.NO_LAYOUT : "Xo",
nwItemLayout.TITLE_PAGE : "Tt", nwItemLayout.TITLE : "Tt",
nwItemLayout.SIMPLE_PAGE : "Pg", nwItemLayout.BOOK : "Bk",
nwItemLayout.PARTITION : "Pt", nwItemLayout.PAGE : "Pg",
nwItemLayout.CHAPTER : "Ch", nwItemLayout.PARTITION : "Pt",
nwItemLayout.SCENE : "Sc", nwItemLayout.UNNUMBERED : "Un",
nwItemLayout.NOTE : "Nt", nwItemLayout.CHAPTER : "Ch",
nwItemLayout.SCENE : "Sc",
nwItemLayout.NOTE : "Nt",
} }
def __init__(self): def __init__(self):