diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index 92c7e85c..f17b9418 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -251,10 +251,10 @@ class GuiMainMenu(QMenuBar): self.docuMenu.addSeparator() # Document > Preview - menuItem = QAction(QIcon.fromTheme("text-html"), "Preview Document", self) - menuItem.setStatusTip("Preview Document") + menuItem = QAction(QIcon.fromTheme("text-html"), "View Document", self) + menuItem.setStatusTip("View Document in HTML") menuItem.setShortcut("Ctrl+R") - menuItem.triggered.connect(self.theParent._previewDocument) + menuItem.triggered.connect(self.theParent.viewDocument) self.docuMenu.addAction(menuItem) # # Document > Separator diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index e0313709..e7af4666 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -200,6 +200,10 @@ class GuiMain(QMainWindow): self.docEditor.setPwl(path.join(self.theProject.projMeta,"wordlist.txt")) self.docEditor.setSpellCheck(self.theProject.spellCheck) self.mainMenu.updateMenu() + if self.theProject.lastEdited is not None: + self.openDocument(self.theProject.lastEdited) + if self.theProject.lastViewed is not None: + self.viewDocument(self.theProject.lastViewed) return True def saveProject(self): @@ -224,6 +228,7 @@ class GuiMain(QMainWindow): self.docEditor.setCursorPosition(self.theDocument.theItem.cursorPos) self.docEditor.changeWidth() self.docEditor.setFocus() + self.theProject.setLastEdited(tHandle) return True def saveDocument(self): @@ -238,9 +243,10 @@ class GuiMain(QMainWindow): self.docEditor.setDocumentChanged(False) return True - def _previewDocument(self): + def viewDocument(self, tHandle=None): - tHandle = self.treeView.getSelectedHandle() + if tHandle is None: + tHandle = self.treeView.getSelectedHandle() if tHandle is None: logger.warning("No document selected") return @@ -254,6 +260,8 @@ class GuiMain(QMainWindow): aDoc.tokenizeText() aDoc.doConvert() self.docViewer.setHtml(aDoc.theResult) + self.theProject.setLastViewed(tHandle) + bPos = self.splitMain.sizes() self.docViewer.setVisible(True) if bPos[2] == 0: @@ -261,7 +269,7 @@ class GuiMain(QMainWindow): bPos[1] = int(bWidth/2) bPos[2] = bWidth-bPos[1] self.splitMain.setSizes(bPos) - self.docEditor.changeWidth() + self.docEditor.changeWidth() return diff --git a/nw/project/project.py b/nw/project/project.py index da1af818..f468e73d 100644 --- a/nw/project/project.py +++ b/nw/project/project.py @@ -56,6 +56,8 @@ class NWProject(): self.spellCheck = False self.statusCols = None self.importCols = None + self.lastEdited = None + self.lastViewed = None # Set Defaults self.clearProject() @@ -209,6 +211,10 @@ class NWProject(): if xItem.text is None: continue if xItem.tag == "spellCheck": self.spellCheck = checkBool(xItem.text,False) + if xItem.tag == "lastEdited": + self.lastEdited = checkString(xItem.text,None,True) + if xItem.tag == "lastViewed": + self.lastViewed = checkString(xItem.text,None,True) elif xChild.tag == "content": logger.debug("Found project content") for xItem in xChild: @@ -267,6 +273,8 @@ class NWProject(): # Save Project Settings xSettings = etree.SubElement(nwXML,"settings") self._saveProjectValue(xSettings,"spellCheck",self.spellCheck) + self._saveProjectValue(xSettings,"lastEdited",self.lastEdited) + self._saveProjectValue(xSettings,"lastViewed",self.lastViewed) # Save Tree Content logger.debug("Writing project content") @@ -335,10 +343,20 @@ class NWProject(): self.setProjectChanged(True) return True + def setLastEdited(self, tHandle): + self.lastEdited = tHandle + self.setProjectChanged(True) + return True + + def setLastViewed(self, tHandle): + self.lastViewed = tHandle + self.setProjectChanged(True) + return True + def setProjectChanged(self, bValue): self.projChanged = bValue self.theParent.setProjectStatus(self.projChanged) - return + return self.projChanged ## # Get Functions diff --git a/sample/sampleNovel/nwProject.nwx b/sample/sampleNovel/nwProject.nwx index acaad669..4b1a3cb9 100644 --- a/sample/sampleNovel/nwProject.nwx +++ b/sample/sampleNovel/nwProject.nwx @@ -1,5 +1,5 @@ - + Sample Project Sample Project @@ -8,6 +8,8 @@ False + 96b68994dfa3d + 96b68994dfa3d