Made all action class variables

This commit is contained in:
Veronica K. B. Olsen
2019-11-14 11:23:47 +01:00
parent bb8dd6b1eb
commit 7551d49235
+282 -292
View File
@@ -93,7 +93,7 @@ class GuiMainMenu(QMenuBar):
def updateSpellCheck(self): def updateSpellCheck(self):
if self.theParent.hasProject: if self.theParent.hasProject:
self.toolsSpellCheck.setChecked(self.theProject.spellCheck) self.aSpellCheck.setChecked(self.theProject.spellCheck)
logger.verbose("Spell check is set to %s" % str(self.theProject.spellCheck)) logger.verbose("Spell check is set to %s" % str(self.theProject.spellCheck))
return return
@@ -107,15 +107,15 @@ class GuiMainMenu(QMenuBar):
def _toggleSpellCheck(self): def _toggleSpellCheck(self):
if self.theParent.hasProject: if self.theParent.hasProject:
self.theProject.setSpellCheck(self.toolsSpellCheck.isChecked()) self.theProject.setSpellCheck(self.aSpellCheck.isChecked())
self.theParent.docEditor.setSpellCheck(self.toolsSpellCheck.isChecked()) self.theParent.docEditor.setSpellCheck(self.aSpellCheck.isChecked())
logger.verbose("Spell check is set to %s" % str(self.theProject.spellCheck)) logger.verbose("Spell check is set to %s" % str(self.theProject.spellCheck))
else: else:
self.toolsSpellCheck.setChecked(False) self.aSpellCheck.setChecked(False)
return True return True
def _toggleViewComments(self): def _toggleViewComments(self):
self.mainConf.setViewComments(self.docViewComments.isChecked()) self.mainConf.setViewComments(self.aViewDocComments.isChecked())
self.theParent.docViewer.reloadText() self.theParent.docViewer.reloadText()
return True return True
@@ -185,111 +185,111 @@ class GuiMainMenu(QMenuBar):
self.projMenu = self.addMenu("&Project") self.projMenu = self.addMenu("&Project")
# Project > New Project # Project > New Project
menuItem = QAction("New Project", self) self.aNewProject = QAction("New Project", self)
menuItem.setStatusTip("Create new project") self.aNewProject.setStatusTip("Create new project")
menuItem.triggered.connect(lambda : self.theParent.newProject(None)) self.aNewProject.triggered.connect(lambda : self.theParent.newProject(None))
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aNewProject)
# Project > Open Project # Project > Open Project
menuItem = QAction("Open Project", self) self.aOpenProject = QAction("Open Project", self)
menuItem.setStatusTip("Open project") self.aOpenProject.setStatusTip("Open project")
menuItem.setShortcut("Ctrl+Shift+O") self.aOpenProject.setShortcut("Ctrl+Shift+O")
menuItem.triggered.connect(lambda : self.theParent.openProject(None)) self.aOpenProject.triggered.connect(lambda : self.theParent.openProject(None))
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aOpenProject)
# Project > Save Project # Project > Save Project
menuItem = QAction("Save Project", self) self.aSaveProject = QAction("Save Project", self)
menuItem.setStatusTip("Save project") self.aSaveProject.setStatusTip("Save project")
menuItem.setShortcut("Ctrl+Shift+S") self.aSaveProject.setShortcut("Ctrl+Shift+S")
menuItem.triggered.connect(self.theParent.saveProject) self.aSaveProject.triggered.connect(self.theParent.saveProject)
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aSaveProject)
# Project > Close Project # Project > Close Project
menuItem = QAction("Close Project", self) self.aCloseProject = QAction("Close Project", self)
menuItem.setStatusTip("Close project") self.aCloseProject.setStatusTip("Close project")
menuItem.setShortcut("Ctrl+Shift+W") self.aCloseProject.setShortcut("Ctrl+Shift+W")
menuItem.triggered.connect(lambda : self.theParent.closeProject(False)) self.aCloseProject.triggered.connect(lambda : self.theParent.closeProject(False))
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aCloseProject)
# Project > Recent Projects # Project > Recent Projects
self.recentMenu = self.projMenu.addMenu("Recent Projects") self.recentMenu = self.projMenu.addMenu("Recent Projects")
self.updateRecentProjects() self.updateRecentProjects()
# Project > Project Settings # Project > Project Settings
menuItem = QAction("Project Settings", self) self.aProjectSettings = QAction("Project Settings", self)
menuItem.setStatusTip("Project settings") self.aProjectSettings.setStatusTip("Project settings")
menuItem.setShortcut("Ctrl+Shift+,") self.aProjectSettings.setShortcut("Ctrl+Shift+,")
menuItem.triggered.connect(self.theParent.editProjectDialog) self.aProjectSettings.triggered.connect(self.theParent.editProjectDialog)
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aProjectSettings)
# Project > Export Project # Project > Export Project
menuItem = QAction("Export Project", self) self.aExportProject = QAction("Export Project", self)
menuItem.setStatusTip("Export project") self.aExportProject.setStatusTip("Export project")
menuItem.setShortcut("F5") self.aExportProject.setShortcut("F5")
menuItem.triggered.connect(self.theParent.exportProjectDialog) self.aExportProject.triggered.connect(self.theParent.exportProjectDialog)
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aExportProject)
# Project > Session Log # Project > Session Log
menuItem = QAction("Session Log", self) self.aSessionLog = QAction("Session Log", self)
menuItem.setStatusTip("Show the session log") self.aSessionLog.setStatusTip("Show the session log")
menuItem.triggered.connect(self.theParent.showSessionLogDialog) self.aSessionLog.triggered.connect(self.theParent.showSessionLogDialog)
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aSessionLog)
# Project > Separator # Project > Separator
self.projMenu.addSeparator() self.projMenu.addSeparator()
# Project > New Root # Project > New Root
rootMenu = self.projMenu.addMenu("Create Root Folder") self.rootMenu = self.projMenu.addMenu("Create Root Folder")
self.rootItems = {} self.rootItems = {}
self.rootItems[nwItemClass.NOVEL] = QAction("Novel Root", rootMenu) self.rootItems[nwItemClass.NOVEL] = QAction("Novel Root", self.rootMenu)
self.rootItems[nwItemClass.PLOT] = QAction("Plot Root", rootMenu) self.rootItems[nwItemClass.PLOT] = QAction("Plot Root", self.rootMenu)
self.rootItems[nwItemClass.CHARACTER] = QAction("Character Root", rootMenu) self.rootItems[nwItemClass.CHARACTER] = QAction("Character Root", self.rootMenu)
self.rootItems[nwItemClass.WORLD] = QAction("Location Root", rootMenu) self.rootItems[nwItemClass.WORLD] = QAction("Location Root", self.rootMenu)
self.rootItems[nwItemClass.TIMELINE] = QAction("Timeline Root", rootMenu) self.rootItems[nwItemClass.TIMELINE] = QAction("Timeline Root", self.rootMenu)
self.rootItems[nwItemClass.OBJECT] = QAction("Object Root", rootMenu) self.rootItems[nwItemClass.OBJECT] = QAction("Object Root", self.rootMenu)
self.rootItems[nwItemClass.ENTITY] = QAction("Entity Root", rootMenu) self.rootItems[nwItemClass.ENTITY] = QAction("Entity Root", self.rootMenu)
self.rootItems[nwItemClass.CUSTOM] = QAction("Custom Root", rootMenu) self.rootItems[nwItemClass.CUSTOM] = QAction("Custom Root", self.rootMenu)
nCount = 0 nCount = 0
for itemClass in self.rootItems.keys(): for itemClass in self.rootItems.keys():
nCount += 1 # This forces the lambdas to be unique nCount += 1 # This forces the lambdas to be unique
self.rootItems[itemClass].triggered.connect( self.rootItems[itemClass].triggered.connect(
lambda nCount, itemClass=itemClass : self._newTreeItem(nwItemType.ROOT, itemClass) lambda nCount, itemClass=itemClass : self._newTreeItem(nwItemType.ROOT, itemClass)
) )
rootMenu.addActions(self.rootItems.values()) self.rootMenu.addActions(self.rootItems.values())
# Project > New Folder # Project > New Folder
menuItem = QAction("Create Folder", self) self.aCreateFolder = QAction("Create Folder", self)
menuItem.setStatusTip("Create folder") self.aCreateFolder.setStatusTip("Create folder")
menuItem.setShortcut("Ctrl+Shift+N") self.aCreateFolder.setShortcut("Ctrl+Shift+N")
menuItem.triggered.connect(lambda : self._newTreeItem(nwItemType.FOLDER, None)) self.aCreateFolder.triggered.connect(lambda : self._newTreeItem(nwItemType.FOLDER, None))
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aCreateFolder)
# Project > Separator # Project > Separator
self.projMenu.addSeparator() self.projMenu.addSeparator()
# Project > Edit # Project > Edit
menuItem = QAction("&Edit Item", self) self.aEditItem = QAction("&Edit Item", self)
menuItem.setStatusTip("Change item settings") self.aEditItem.setStatusTip("Change item settings")
menuItem.setShortcuts(["Ctrl+E", "F2"]) self.aEditItem.setShortcuts(["Ctrl+E", "F2"])
menuItem.triggered.connect(self.theParent.editItem) self.aEditItem.triggered.connect(self.theParent.editItem)
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aEditItem)
# Project > Delete # Project > Delete
menuItem = QAction("&Delete Item", self) self.aDeleteItem = QAction("&Delete Item", self)
menuItem.setStatusTip("Delete selected item") self.aDeleteItem.setStatusTip("Delete selected item")
menuItem.setShortcut("Ctrl+Del") self.aDeleteItem.setShortcut("Ctrl+Del")
menuItem.triggered.connect(lambda : self.theParent.treeView.deleteItem(None)) self.aDeleteItem.triggered.connect(lambda : self.theParent.treeView.deleteItem(None))
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aDeleteItem)
# Project > Separator # Project > Separator
self.projMenu.addSeparator() self.projMenu.addSeparator()
# Project > Exit # Project > Exit
menuItem = QAction("Exit", self) self.aExitNW = QAction("Exit", self)
menuItem.setStatusTip("Exit %s" % nw.__package__) self.aExitNW.setStatusTip("Exit %s" % nw.__package__)
menuItem.setShortcut("Ctrl+Q") self.aExitNW.setShortcut("Ctrl+Q")
menuItem.triggered.connect(self._menuExit) self.aExitNW.triggered.connect(self._menuExit)
self.projMenu.addAction(menuItem) self.projMenu.addAction(self.aExitNW)
return return
@@ -299,85 +299,75 @@ class GuiMainMenu(QMenuBar):
self.docuMenu = self.addMenu("&Document") self.docuMenu = self.addMenu("&Document")
# Document > New # Document > New
menuItem = QAction("&New Document", self) self.aNewDoc = QAction("&New Document", self)
menuItem.setStatusTip("Create new document") self.aNewDoc.setStatusTip("Create new document")
menuItem.setShortcut("Ctrl+N") self.aNewDoc.setShortcut("Ctrl+N")
menuItem.triggered.connect(lambda : self._newTreeItem(nwItemType.FILE, None)) self.aNewDoc.triggered.connect(lambda : self._newTreeItem(nwItemType.FILE, None))
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aNewDoc)
# Document > Open # Document > Open
menuItem = QAction("&Open Document", self) self.aOpenDoc = QAction("&Open Document", self)
menuItem.setStatusTip("Open selected document") self.aOpenDoc.setStatusTip("Open selected document")
menuItem.setShortcut("Ctrl+O") self.aOpenDoc.setShortcut("Ctrl+O")
menuItem.triggered.connect(self.theParent.openSelectedItem) self.aOpenDoc.triggered.connect(self.theParent.openSelectedItem)
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aOpenDoc)
# Document > Save # Document > Save
menuItem = QAction("&Save Document", self) self.aSaveDoc = QAction("&Save Document", self)
menuItem.setStatusTip("Save current document") self.aSaveDoc.setStatusTip("Save current document")
menuItem.setShortcut("Ctrl+S") self.aSaveDoc.setShortcut("Ctrl+S")
menuItem.triggered.connect(self.theParent.saveDocument) self.aSaveDoc.triggered.connect(self.theParent.saveDocument)
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aSaveDoc)
# Document > Close # Document > Close
menuItem = QAction("Close Document", self) self.aCloseDoc = QAction("Close Document", self)
menuItem.setStatusTip("Close current document") self.aCloseDoc.setStatusTip("Close current document")
menuItem.setShortcut("Ctrl+W") self.aCloseDoc.setShortcut("Ctrl+W")
menuItem.triggered.connect(self.theParent.closeDocEditor) self.aCloseDoc.triggered.connect(self.theParent.closeDocEditor)
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aCloseDoc)
# Document > Separator # Document > Separator
self.docuMenu.addSeparator() self.docuMenu.addSeparator()
# Document > Preview # Document > Preview
menuItem = QAction("View Document", self) self.aViewDoc = QAction("View Document", self)
menuItem.setStatusTip("View document as HTML") self.aViewDoc.setStatusTip("View document as HTML")
menuItem.setShortcut("Ctrl+R") self.aViewDoc.setShortcut("Ctrl+R")
menuItem.triggered.connect(lambda : self.theParent.viewDocument(None)) self.aViewDoc.triggered.connect(lambda : self.theParent.viewDocument(None))
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aViewDoc)
# Document > Close Preview # Document > Close Preview
menuItem = QAction("Close Document View", self) self.aCloseView = QAction("Close Document View", self)
menuItem.setStatusTip("Close document view pane") self.aCloseView.setStatusTip("Close document view pane")
menuItem.setShortcut("Ctrl+Shift+R") self.aCloseView.setShortcut("Ctrl+Shift+R")
menuItem.triggered.connect(self.theParent.closeDocViewer) self.aCloseView.triggered.connect(self.theParent.closeDocViewer)
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aCloseView)
# Document > Toggle View Comments # Document > Toggle View Comments
self.docViewComments = QAction("View Comments", self) self.aViewDocComments = QAction("View Comments", self)
self.docViewComments.setStatusTip("Show comments in view panel") self.aViewDocComments.setStatusTip("Show comments in view panel")
self.docViewComments.setCheckable(True) self.aViewDocComments.setCheckable(True)
self.docViewComments.setChecked(self.mainConf.viewComments) self.aViewDocComments.setChecked(self.mainConf.viewComments)
self.docViewComments.toggled.connect(self._toggleViewComments) self.aViewDocComments.toggled.connect(self._toggleViewComments)
self.docuMenu.addAction(self.docViewComments) self.docuMenu.addAction(self.aViewDocComments)
# Document > Separator # Document > Separator
self.docuMenu.addSeparator() self.docuMenu.addSeparator()
# Document > Show File Details # Document > Show File Details
menuItem = QAction("Show File Details", self) self.aFileDetails = QAction("Show File Details", self)
menuItem.setStatusTip( self.aFileDetails.setStatusTip(
"Shows a message box with the document location in the project folder" "Shows a message box with the document location in the project folder"
) )
menuItem.triggered.connect(self._showDocumentLocation) self.aFileDetails.triggered.connect(self._showDocumentLocation)
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aFileDetails)
# Document > Import From File # Document > Import From File
menuItem = QAction("Import from File", self) self.aImportFile = QAction("Import from File", self)
menuItem.setStatusTip("Import document from a text or markdown file") self.aImportFile.setStatusTip("Import document from a text or markdown file")
menuItem.setShortcut("Ctrl+Shift+I") self.aImportFile.setShortcut("Ctrl+Shift+I")
menuItem.triggered.connect(self.theParent.importDocument) self.aImportFile.triggered.connect(self.theParent.importDocument)
self.docuMenu.addAction(menuItem) self.docuMenu.addAction(self.aImportFile)
# # Document > Split
# menuItem = QAction("Split Document", self)
# menuItem.setStatusTip("Split Selected Document")
# self.docuMenu.addAction(menuItem)
# # Document > Merge
# menuItem = QAction("Merge Document", self)
# menuItem.setStatusTip("Merge Selected Documents")
# self.docuMenu.addAction(menuItem)
return return
@@ -387,54 +377,54 @@ class GuiMainMenu(QMenuBar):
self.viewMenu = self.addMenu("&View") self.viewMenu = self.addMenu("&View")
# View > TreeView # View > TreeView
menuItem = QAction("TreeView", self) self.aFocusTree = QAction("TreeView", self)
menuItem.setStatusTip("Move focus to project tree") self.aFocusTree.setStatusTip("Move focus to project tree")
menuItem.setShortcut("Ctrl+1") self.aFocusTree.setShortcut("Ctrl+1")
menuItem.triggered.connect(lambda : self.theParent.setFocus(1)) self.aFocusTree.triggered.connect(lambda : self.theParent.setFocus(1))
self.viewMenu.addAction(menuItem) self.viewMenu.addAction(self.aFocusTree)
# View > Document Pane 1 # View > Document Pane 1
menuItem = QAction("Left Document Pane", self) self.aFocusEditor = QAction("Left Document Pane", self)
menuItem.setStatusTip("Move focus to left document pane") self.aFocusEditor.setStatusTip("Move focus to left document pane")
menuItem.setShortcut("Ctrl+2") self.aFocusEditor.setShortcut("Ctrl+2")
menuItem.triggered.connect(lambda : self.theParent.setFocus(2)) self.aFocusEditor.triggered.connect(lambda : self.theParent.setFocus(2))
self.viewMenu.addAction(menuItem) self.viewMenu.addAction(self.aFocusEditor)
# View > Document Pane 2 # View > Document Pane 2
menuItem = QAction("Right Document Pane", self) self.aFocusView = QAction("Right Document Pane", self)
menuItem.setStatusTip("Move focus to right document pane") self.aFocusView.setStatusTip("Move focus to right document pane")
menuItem.setShortcut("Ctrl+3") self.aFocusView.setShortcut("Ctrl+3")
menuItem.triggered.connect(lambda : self.theParent.setFocus(3)) self.aFocusView.triggered.connect(lambda : self.theParent.setFocus(3))
self.viewMenu.addAction(menuItem) self.viewMenu.addAction(self.aFocusView)
# View > Separator # View > Separator
self.viewMenu.addSeparator() self.viewMenu.addSeparator()
# View > Toggle Distraction Free Mode # View > Toggle Distraction Free Mode
menuItem = QAction("Zen Mode", self) self.aZenMode = QAction("Zen Mode", self)
menuItem.setStatusTip("Toggles distraction free mode, only showing text editor") self.aZenMode.setStatusTip("Toggles distraction free mode, only showing text editor")
menuItem.setShortcut("F8") self.aZenMode.setShortcut("F8")
menuItem.setCheckable(True) self.aZenMode.setCheckable(True)
menuItem.setChecked(self.theParent.isZenMode) self.aZenMode.setChecked(self.theParent.isZenMode)
menuItem.toggled.connect(self.theParent.toggleZenMode) self.aZenMode.toggled.connect(self.theParent.toggleZenMode)
self.viewMenu.addAction(menuItem) self.viewMenu.addAction(self.aZenMode)
# View > Toggle Full Screen # View > Toggle Full Screen
menuItem = QAction("Full Screen Mode", self) self.aFullScreen = QAction("Full Screen Mode", self)
menuItem.setStatusTip("Maximises the main window") self.aFullScreen.setStatusTip("Maximises the main window")
menuItem.setShortcut("F11") self.aFullScreen.setShortcut("F11")
menuItem.triggered.connect(self.theParent.toggleFullScreenMode) self.aFullScreen.triggered.connect(self.theParent.toggleFullScreenMode)
self.viewMenu.addAction(menuItem) self.viewMenu.addAction(self.aFullScreen)
# View > Separator # View > Separator
self.viewMenu.addSeparator() self.viewMenu.addSeparator()
# View > Project Timeline # View > Project Timeline
menuItem = QAction("Show Project Timeline", self) self.aViewTimeLine = QAction("Show Project Timeline", self)
menuItem.setStatusTip("Open the project timeline window") self.aViewTimeLine.setStatusTip("Open the project timeline window")
menuItem.setShortcut("Ctrl+T") self.aViewTimeLine.setShortcut("Ctrl+T")
menuItem.triggered.connect(self.theParent.showTimeLineDialog) self.aViewTimeLine.triggered.connect(self.theParent.showTimeLineDialog)
self.viewMenu.addAction(menuItem) self.viewMenu.addAction(self.aViewTimeLine)
return return
@@ -444,106 +434,106 @@ class GuiMainMenu(QMenuBar):
self.editMenu = self.addMenu("&Edit") self.editMenu = self.addMenu("&Edit")
# Edit > Undo # Edit > Undo
menuItem = QAction("Undo", self) self.aEditUndo = QAction("Undo", self)
menuItem.setStatusTip("Undo last change") self.aEditUndo.setStatusTip("Undo last change")
menuItem.setShortcut("Ctrl+Z") self.aEditUndo.setShortcut("Ctrl+Z")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.UNDO)) self.aEditUndo.triggered.connect(lambda: self._docAction(nwDocAction.UNDO))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditUndo)
# Edit > Redo # Edit > Redo
menuItem = QAction("Redo", self) self.aEditRedo = QAction("Redo", self)
menuItem.setStatusTip("Redo last change") self.aEditRedo.setStatusTip("Redo last change")
menuItem.setShortcut("Ctrl+Y") self.aEditRedo.setShortcut("Ctrl+Y")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.REDO)) self.aEditRedo.triggered.connect(lambda: self._docAction(nwDocAction.REDO))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditRedo)
# Edit > Separator # Edit > Separator
self.editMenu.addSeparator() self.editMenu.addSeparator()
# Edit > Cut # Edit > Cut
menuItem = QAction("Cut", self) self.aEditCut = QAction("Cut", self)
menuItem.setStatusTip("Cut selected text") self.aEditCut.setStatusTip("Cut selected text")
menuItem.setShortcut("Ctrl+X") self.aEditCut.setShortcut("Ctrl+X")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.CUT)) self.aEditCut.triggered.connect(lambda: self._docAction(nwDocAction.CUT))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditCut)
# Edit > Copy # Edit > Copy
menuItem = QAction("Copy", self) self.aEditCopy = QAction("Copy", self)
menuItem.setStatusTip("Copy selected text") self.aEditCopy.setStatusTip("Copy selected text")
menuItem.setShortcut("Ctrl+C") self.aEditCopy.setShortcut("Ctrl+C")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.COPY)) self.aEditCopy.triggered.connect(lambda: self._docAction(nwDocAction.COPY))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditCopy)
# Edit > Paste # Edit > Paste
menuItem = QAction("Paste", self) self.aEditPaste = QAction("Paste", self)
menuItem.setStatusTip("Paste text from clipboard") self.aEditPaste.setStatusTip("Paste text from clipboard")
menuItem.setShortcut("Ctrl+V") self.aEditPaste.setShortcut("Ctrl+V")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.PASTE)) self.aEditPaste.triggered.connect(lambda: self._docAction(nwDocAction.PASTE))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditPaste)
# Edit > Separator # Edit > Separator
self.editMenu.addSeparator() self.editMenu.addSeparator()
# Edit > Find # Edit > Find
menuItem = QAction("Find", self) self.aEditFind = QAction("Find", self)
menuItem.setStatusTip("Find text in document") self.aEditFind.setStatusTip("Find text in document")
menuItem.setShortcut("Ctrl+F") self.aEditFind.setShortcut("Ctrl+F")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.FIND)) self.aEditFind.triggered.connect(lambda: self._docAction(nwDocAction.FIND))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditFind)
# Edit > Replace # Edit > Replace
menuItem = QAction("Replace", self) self.aEditReplace = QAction("Replace", self)
menuItem.setStatusTip("Replace text in document") self.aEditReplace.setStatusTip("Replace text in document")
if self.mainConf.osDarwin: if self.mainConf.osDarwin:
menuItem.setShortcut("Ctrl+=") self.aEditReplace.setShortcut("Ctrl+=")
else: else:
menuItem.setShortcut("Ctrl+H") self.aEditReplace.setShortcut("Ctrl+H")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.REPLACE)) self.aEditReplace.triggered.connect(lambda: self._docAction(nwDocAction.REPLACE))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aEditReplace)
# Edit > Find Next # Edit > Find Next
menuItem = QAction("Find Next", self) self.aFindNext = QAction("Find Next", self)
menuItem.setStatusTip("Find next occurrence text in document") self.aFindNext.setStatusTip("Find next occurrence text in document")
if self.mainConf.osDarwin: if self.mainConf.osDarwin:
menuItem.setShortcuts(["Ctrl+G","F3"]) self.aFindNext.setShortcuts(["Ctrl+G","F3"])
else: else:
menuItem.setShortcuts(["F3","Ctrl+G"]) self.aFindNext.setShortcuts(["F3","Ctrl+G"])
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.GO_NEXT)) self.aFindNext.triggered.connect(lambda: self._docAction(nwDocAction.GO_NEXT))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aFindNext)
# Edit > Find Prev # Edit > Find Prev
menuItem = QAction("Find Previous", self) self.aFindPrev = QAction("Find Previous", self)
menuItem.setStatusTip("Find previous occurrence text in document") self.aFindPrev.setStatusTip("Find previous occurrence text in document")
if self.mainConf.osDarwin: if self.mainConf.osDarwin:
menuItem.setShortcuts(["Ctrl+Shift+G","Shift+F3"]) self.aFindPrev.setShortcuts(["Ctrl+Shift+G","Shift+F3"])
else: else:
menuItem.setShortcuts(["Shift+F3","Ctrl+Shift+G"]) self.aFindPrev.setShortcuts(["Shift+F3","Ctrl+Shift+G"])
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.GO_PREV)) self.aFindPrev.triggered.connect(lambda: self._docAction(nwDocAction.GO_PREV))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aFindPrev)
# Edit > Replace Next # Edit > Replace Next
menuItem = QAction("Replace Next", self) self.aReplaceNext = QAction("Replace Next", self)
menuItem.setStatusTip("Find and replace next occurrence text in document") self.aReplaceNext.setStatusTip("Find and replace next occurrence text in document")
menuItem.setShortcut("Ctrl+Shift+1") self.aReplaceNext.setShortcut("Ctrl+Shift+1")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.REPL_NEXT)) self.aReplaceNext.triggered.connect(lambda: self._docAction(nwDocAction.REPL_NEXT))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aReplaceNext)
# Edit > Separator # Edit > Separator
self.editMenu.addSeparator() self.editMenu.addSeparator()
# Edit > Select All # Edit > Select All
menuItem = QAction("Select All", self) self.aSelectAll = QAction("Select All", self)
menuItem.setStatusTip("Select all text in document") self.aSelectAll.setStatusTip("Select all text in document")
menuItem.setShortcut("Ctrl+A") self.aSelectAll.setShortcut("Ctrl+A")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.SEL_ALL)) self.aSelectAll.triggered.connect(lambda: self._docAction(nwDocAction.SEL_ALL))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aSelectAll)
# Edit > Select Paragraph # Edit > Select Paragraph
menuItem = QAction("Select Paragraph", self) self.aSelectPar = QAction("Select Paragraph", self)
menuItem.setStatusTip("Select all text in paragraph") self.aSelectPar.setStatusTip("Select all text in paragraph")
menuItem.setShortcut("Ctrl+Shift+A") self.aSelectPar.setShortcut("Ctrl+Shift+A")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.SEL_PARA)) self.aSelectPar.triggered.connect(lambda: self._docAction(nwDocAction.SEL_PARA))
self.editMenu.addAction(menuItem) self.editMenu.addAction(self.aSelectPar)
return return
@@ -553,42 +543,42 @@ class GuiMainMenu(QMenuBar):
self.fmtMenu = self.addMenu("&Format") self.fmtMenu = self.addMenu("&Format")
# Format > Bold Text # Format > Bold Text
menuItem = QAction("Bold Text", self) self.aFmtBold = QAction("Bold Text", self)
menuItem.setStatusTip("Make selected text bold") self.aFmtBold.setStatusTip("Make selected text bold")
menuItem.setShortcut("Ctrl+B") self.aFmtBold.setShortcut("Ctrl+B")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.BOLD)) self.aFmtBold.triggered.connect(lambda: self._docAction(nwDocAction.BOLD))
self.fmtMenu.addAction(menuItem) self.fmtMenu.addAction(self.aFmtBold)
# Format > Italic Text # Format > Italic Text
menuItem = QAction("Italic Text", self) self.aFmtItalic = QAction("Italic Text", self)
menuItem.setStatusTip("Make selected text italic") self.aFmtItalic.setStatusTip("Make selected text italic")
menuItem.setShortcut("Ctrl+I") self.aFmtItalic.setShortcut("Ctrl+I")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.ITALIC)) self.aFmtItalic.triggered.connect(lambda: self._docAction(nwDocAction.ITALIC))
self.fmtMenu.addAction(menuItem) self.fmtMenu.addAction(self.aFmtItalic)
# Format > Underline Text # Format > Underline Text
menuItem = QAction("Underline Text", self) self.aFmtULine = QAction("Underline Text", self)
menuItem.setStatusTip("Underline selected text") self.aFmtULine.setStatusTip("Underline selected text")
menuItem.setShortcut("Ctrl+U") self.aFmtULine.setShortcut("Ctrl+U")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.U_LINE)) self.aFmtULine.triggered.connect(lambda: self._docAction(nwDocAction.U_LINE))
self.fmtMenu.addAction(menuItem) self.fmtMenu.addAction(self.aFmtULine)
# Edit > Separator # Edit > Separator
self.fmtMenu.addSeparator() self.fmtMenu.addSeparator()
# Format > Double Quotes # Format > Double Quotes
menuItem = QAction("Wrap Double Quotes", self) self.aFmtDQuote = QAction("Wrap Double Quotes", self)
menuItem.setStatusTip("Wrap selected text in double quotes") self.aFmtDQuote.setStatusTip("Wrap selected text in double quotes")
menuItem.setShortcut("Ctrl+D") self.aFmtDQuote.setShortcut("Ctrl+D")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.D_QUOTE)) self.aFmtDQuote.triggered.connect(lambda: self._docAction(nwDocAction.D_QUOTE))
self.fmtMenu.addAction(menuItem) self.fmtMenu.addAction(self.aFmtDQuote)
# Format > Single Quotes # Format > Single Quotes
menuItem = QAction("Wrap Single Quotes", self) self.aFmtSQuote = QAction("Wrap Single Quotes", self)
menuItem.setStatusTip("Wrap selected text in single quotes") self.aFmtSQuote.setStatusTip("Wrap selected text in single quotes")
menuItem.setShortcut("Ctrl+Shift+D") self.aFmtSQuote.setShortcut("Ctrl+Shift+D")
menuItem.triggered.connect(lambda: self._docAction(nwDocAction.S_QUOTE)) self.aFmtSQuote.triggered.connect(lambda: self._docAction(nwDocAction.S_QUOTE))
self.fmtMenu.addAction(menuItem) self.fmtMenu.addAction(self.aFmtSQuote)
return return
@@ -598,60 +588,60 @@ class GuiMainMenu(QMenuBar):
self.toolsMenu = self.addMenu("&Tools") self.toolsMenu = self.addMenu("&Tools")
# Tools > Move Up # Tools > Move Up
self.toolsMoveUp = QAction("Move Tree Item Up", self) self.aMoveUp = QAction("Move Tree Item Up", self)
self.toolsMoveUp.setStatusTip("Move item up") self.aMoveUp.setStatusTip("Move item up")
self.toolsMoveUp.setShortcut("Ctrl+Shift+Up") self.aMoveUp.setShortcut("Ctrl+Shift+Up")
self.toolsMoveUp.triggered.connect(lambda : self._moveTreeItem(-1)) self.aMoveUp.triggered.connect(lambda : self._moveTreeItem(-1))
self.toolsMenu.addAction(self.toolsMoveUp) self.toolsMenu.addAction(self.aMoveUp)
# Tools > Move Down # Tools > Move Down
self.toolsMoveDown = QAction("Move Tree Item Down", self) self.aMoveDown = QAction("Move Tree Item Down", self)
self.toolsMoveDown.setStatusTip("Move item down") self.aMoveDown.setStatusTip("Move item down")
self.toolsMoveDown.setShortcut("Ctrl+Shift+Down") self.aMoveDown.setShortcut("Ctrl+Shift+Down")
self.toolsMoveDown.triggered.connect(lambda : self._moveTreeItem(1)) self.aMoveDown.triggered.connect(lambda : self._moveTreeItem(1))
self.toolsMenu.addAction(self.toolsMoveDown) self.toolsMenu.addAction(self.aMoveDown)
# Tools > Separator # Tools > Separator
self.toolsMenu.addSeparator() self.toolsMenu.addSeparator()
# Tools > Toggle Spell Check # Tools > Toggle Spell Check
self.toolsSpellCheck = QAction("Check Spelling", self) self.aSpellCheck = QAction("Check Spelling", self)
self.toolsSpellCheck.setStatusTip("Toggle check spelling") self.aSpellCheck.setStatusTip("Toggle check spelling")
self.toolsSpellCheck.setCheckable(True) self.aSpellCheck.setCheckable(True)
self.toolsSpellCheck.setChecked(self.theProject.spellCheck) self.aSpellCheck.setChecked(self.theProject.spellCheck)
self.toolsSpellCheck.toggled.connect(self._toggleSpellCheck) self.aSpellCheck.toggled.connect(self._toggleSpellCheck)
self.toolsSpellCheck.setShortcut("Ctrl+F7") self.aSpellCheck.setShortcut("Ctrl+F7")
self.toolsMenu.addAction(self.toolsSpellCheck) self.toolsMenu.addAction(self.aSpellCheck)
# Tools > Update Spell Check # Tools > Update Spell Check
menuItem = QAction("Re-Run Spell Check", self) self.aReRunSpell = QAction("Re-Run Spell Check", self)
menuItem.setStatusTip("Run the spell checker on current document") self.aReRunSpell.setStatusTip("Run the spell checker on current document")
menuItem.setShortcut("F7") self.aReRunSpell.setShortcut("F7")
menuItem.triggered.connect(self.theParent.docEditor.updateSpellCheck) self.aReRunSpell.triggered.connect(self.theParent.docEditor.updateSpellCheck)
self.toolsMenu.addAction(menuItem) self.toolsMenu.addAction(self.aReRunSpell)
# Tools > Separator # Tools > Separator
self.toolsMenu.addSeparator() self.toolsMenu.addSeparator()
# Tools > Rebuild Indices # Tools > Rebuild Indices
menuItem = QAction("Rebuild Index", self) self.aRebuildIndex = QAction("Rebuild Index", self)
menuItem.setStatusTip("Rebuild the tag indices and word counts") self.aRebuildIndex.setStatusTip("Rebuild the tag indices and word counts")
menuItem.setShortcut("F9") self.aRebuildIndex.setShortcut("F9")
menuItem.triggered.connect(self.theParent.rebuildIndex) self.aRebuildIndex.triggered.connect(self.theParent.rebuildIndex)
self.toolsMenu.addAction(menuItem) self.toolsMenu.addAction(self.aRebuildIndex)
# Tools > Backup # Tools > Backup
menuItem = QAction("Backup Project", self) self.aBackupProject = QAction("Backup Project", self)
menuItem.setStatusTip("Backup Project") self.aBackupProject.setStatusTip("Backup Project")
menuItem.triggered.connect(self.theParent.backupProject) self.aBackupProject.triggered.connect(self.theParent.backupProject)
self.toolsMenu.addAction(menuItem) self.toolsMenu.addAction(self.aBackupProject)
# Tools > Settings # Tools > Settings
menuItem = QAction("Preferences", self) self.aPreferences = QAction("Preferences", self)
menuItem.setStatusTip("Preferences") self.aPreferences.setStatusTip("Preferences")
menuItem.setShortcut("Ctrl+,") self.aPreferences.setShortcut("Ctrl+,")
menuItem.triggered.connect(self.theParent.editConfigDialog) self.aPreferences.triggered.connect(self.theParent.editConfigDialog)
self.toolsMenu.addAction(menuItem) self.toolsMenu.addAction(self.aPreferences)
return return
@@ -661,26 +651,26 @@ class GuiMainMenu(QMenuBar):
self.helpMenu = self.addMenu("&Help") self.helpMenu = self.addMenu("&Help")
# Help > About # Help > About
menuItem = QAction("About %s" % nw.__package__, self) self.aAboutNW = QAction("About %s" % nw.__package__, self)
menuItem.setStatusTip("About %s" % nw.__package__) self.aAboutNW.setStatusTip("About %s" % nw.__package__)
menuItem.triggered.connect(self._showAbout) self.aAboutNW.triggered.connect(self._showAbout)
self.helpMenu.addAction(menuItem) self.helpMenu.addAction(self.aAboutNW)
# Help > About Qt5 # Help > About Qt5
menuItem = QAction("About Qt5", self) self.aAboutQt = QAction("About Qt5", self)
menuItem.setStatusTip("About Qt5") self.aAboutQt.setStatusTip("About Qt5")
menuItem.triggered.connect(self._showAboutQt) self.aAboutQt.triggered.connect(self._showAboutQt)
self.helpMenu.addAction(menuItem) self.helpMenu.addAction(self.aAboutQt)
# Help > Separator # Help > Separator
self.helpMenu.addSeparator() self.helpMenu.addSeparator()
# Document > Preview # Document > Preview
menuItem = QAction("Documentation", self) self.aHelp = QAction("Documentation", self)
menuItem.setStatusTip("View documentation") self.aHelp.setStatusTip("View documentation")
menuItem.setShortcut("F1") self.aHelp.setShortcut("F1")
menuItem.triggered.connect(self._openHelp) self.aHelp.triggered.connect(self._openHelp)
self.helpMenu.addAction(menuItem) self.helpMenu.addAction(self.aHelp)
return return