Added recent project menu option

This commit is contained in:
Veronica K. B. Olsen
2018-10-25 23:54:56 +02:00
parent 3b90eea7cb
commit 03272183f5
4 changed files with 35 additions and 24 deletions
+2
View File
@@ -33,6 +33,8 @@ class GuiProjectEditor(QDialog):
self.outerBox = QHBoxLayout()
self.innerBox = QVBoxLayout()
self.setWindowTitle("Project Settings")
self.gradPath = path.abspath(path.join(self.mainConf.appPath,"graphics","block.svg"))
self.svgGradient = QSvgWidget(self.gradPath)
self.svgGradient.setFixedWidth(80)
+24 -20
View File
@@ -35,7 +35,7 @@ class GuiMain(QMainWindow):
self.theProject = NWProject()
self.resize(1100,650)
self.setTitle()
self._setWindowTitle()
self.setWindowIcon(QIcon(path.join(self.mainConf.appPath,"..","novelWriter.svg")))
self.docEditor = GuiDocEditor()
@@ -70,26 +70,13 @@ class GuiMain(QMainWindow):
return
#
# Set and Get Methods
#
def setTitle(self, projName=None):
winTitle = "%s [%s]" % (nw.__package__, nw.__version__)
if projName is not None:
winTitle += " - %s" % projName
self.setWindowTitle(winTitle)
return True
#
# Project Actions
#
def newProject(self):
logger.info("Creating new project")
self.docTabs.createTab(tabType=nw.DOCTYPE_PROJECT)
return
def openProject(self):
@@ -99,6 +86,7 @@ class GuiMain(QMainWindow):
self,"Open novelWriter Project","","novelWriter Project File (nwProject.nwx);;All Files (*)", options=dlgOpt)
if projPath:
self.theProject.openProject(projPath)
self._setWindowTitle(self.theProject.projName)
else:
return False
return True
@@ -121,14 +109,18 @@ class GuiMain(QMainWindow):
dlgProj.exec_()
return True
def openRecentProject(self, recentItem):
logger.vverbose("User requested opening recent project #%d" % recentItem)
self.theProject.openProject(self.mainConf.recentList[recentItem])
self._setWindowTitle(self.theProject.projName)
return True
#
# Document Actions
#
def saveDocument(self):
self.docEditor.getText()
return
#
@@ -136,7 +128,7 @@ class GuiMain(QMainWindow):
#
def _buildMenu(self):
menuBar = self.menuBar()
menuBar = self.menuBar()
# File
fileMenu = menuBar.addMenu("&File")
@@ -160,9 +152,14 @@ class GuiMain(QMainWindow):
fileMenu.addAction(menuSaveProject)
# File > Recent Project
menuRecentProject = QAction(QIcon.fromTheme("document-open-recent"), "Open Recent Project", menuBar)
menuRecentProject.setStatusTip("Open Recent Project")
fileMenu.addAction(menuRecentProject)
recentMenu = fileMenu.addMenu(QIcon.fromTheme("document-open-recent"),"Recent Projects")
itemCount = 0
for recentProject in self.mainConf.recentList:
if recentProject == "": continue
menuRecentProject = QAction(QIcon.fromTheme("folder-open"), "%d: %s" % (itemCount,recentProject), fileMenu)
menuRecentProject.triggered.connect(self.openRecentProject, itemCount)
recentMenu.addAction(menuRecentProject)
itemCount += 1
# ---------------------
fileMenu.addSeparator()
@@ -240,6 +237,13 @@ class GuiMain(QMainWindow):
self.mainConf.saveConfig()
return
def _setWindowTitle(self, projName=None):
winTitle = "%s [%s]" % (nw.__package__, nw.__version__)
if projName is not None:
winTitle += " - %s" % projName
self.setWindowTitle(winTitle)
return True
#
# Menu Action
#
+8 -3
View File
@@ -42,8 +42,10 @@ class NWProject():
def openProject(self, fileName):
if not path.isfile(fileName):
logger.error("File not found: %s" % fileName)
return False
fileName = path.join(fileName, "nwProject.nwx")
if not path.isfile(fileName):
logger.error("File not found: %s" % fileName)
return False
self.projPath = path.dirname(fileName)
@@ -66,7 +68,10 @@ class NWProject():
logger.debug("Found book data")
for xItem in xChild:
if xItem.text is None: continue
if xItem.tag == "title":
if xItem.tag == "name":
logger.verbose("Working Title: '%s'" % xItem.text)
self.projName = xItem.text
elif xItem.tag == "title":
logger.verbose("Title is '%s'" % xItem.text)
self.bookTitle = xItem.text
elif xItem.tag == "author":
+1 -1
View File
@@ -4,6 +4,6 @@
<name>Sample Project</name>
<title>Sample Project</title>
<author>Jane Smith</author>
<author>Jane Doh</author>
<author>Jay Doh</author>
</project>
</novelWriterXML>