diff --git a/nw/gui/projecteditor.py b/nw/gui/projecteditor.py
index d0737b10..291ae00b 100644
--- a/nw/gui/projecteditor.py
+++ b/nw/gui/projecteditor.py
@@ -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)
diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py
index b3daf676..59de525a 100644
--- a/nw/gui/winmain.py
+++ b/nw/gui/winmain.py
@@ -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
#
diff --git a/nw/project/project.py b/nw/project/project.py
index 2e912283..1fa354dd 100644
--- a/nw/project/project.py
+++ b/nw/project/project.py
@@ -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":
diff --git a/sample/sampleNovel/nwProject.nwx b/sample/sampleNovel/nwProject.nwx
index d0072fed..fffe3249 100644
--- a/sample/sampleNovel/nwProject.nwx
+++ b/sample/sampleNovel/nwProject.nwx
@@ -4,6 +4,6 @@