From ac1f9569e600e0c04b67bbc6edfd6cbefafd46c2 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 18 May 2019 17:09:03 +0200 Subject: [PATCH 1/6] Document editor and document viewer are now in different panes --- nw/config.py | 4 ++-- nw/gui/doceditor.py | 13 ++++++++++--- nw/gui/docviewer.py | 2 ++ nw/gui/winmain.py | 7 ++++--- tests/reference/novelwriter.conf | 2 +- tests/test_config.py | 2 +- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/nw/config.py b/nw/config.py index 5805396b..94eb21bd 100644 --- a/nw/config.py +++ b/nw/config.py @@ -48,7 +48,7 @@ class Config: self.guiTheme = "default" self.winGeometry = [1100, 650] self.treeColWidth = [120, 30, 50] - self.mainPanePos = [300, 800] + self.mainPanePos = [300, 400, 400] ## Project self.autoSaveProj = 60 @@ -138,7 +138,7 @@ class Config: ) if confParser.has_option(cnfSec,"mainpane"): self.mainPanePos = self.unpackList( - confParser.get(cnfSec,"mainpane"), 2, self.mainPanePos + confParser.get(cnfSec,"mainpane"), 3, self.mainPanePos ) ## Project diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index ad90fe13..9842d03c 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -79,7 +79,7 @@ class GuiDocEditor(QTextEdit): if self.mainConf.doJustify: self.theDoc.setDefaultTextOption(QTextOption(Qt.AlignJustify)) - self.setMinimumWidth(400) + self.setMinimumWidth(300) self.setAcceptRichText(False) self.setFontPointSize(self.mainConf.textSize) @@ -165,11 +165,18 @@ class GuiDocEditor(QTextEdit): set to True. """ if self.mainConf.textFixedW: + vBar = self.verticalScrollBar() + if vBar.isVisible(): + sW = vBar.width() + else: + sW = 0 tW = self.width() - sW = self.verticalScrollBar().width() tM = int((tW - sW - self.mainConf.textWidth)/2) mTB = self.mainConf.textMargin[0] - self.setViewportMargins(tM,mTB,0,mTB) + if tM > 0: + self.setViewportMargins(tM,mTB,0,mTB) + else: + self.setViewportMargins(0,mTB,0,mTB) return def docAction(self, theAction): diff --git a/nw/gui/docviewer.py b/nw/gui/docviewer.py index 9aa654ab..1a795b29 100644 --- a/nw/gui/docviewer.py +++ b/nw/gui/docviewer.py @@ -28,6 +28,8 @@ class GuiDocViewer(QTextBrowser): self.mainConf = nw.CONFIG self.theParent = theParent + self.setMinimumWidth(300) + logger.debug("DocViewer initialisation complete") return diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index 72aa6977..7beb5bbe 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -66,8 +66,8 @@ class GuiMain(QMainWindow): # Assemble Main Window self.stackPane = QStackedWidget() self.stackNone = self.stackPane.addWidget(QWidget()) - self.stackDoc = self.stackPane.addWidget(self.docEditor) - self.stackView = self.stackPane.addWidget(self.docViewer) + self.stackDoc = self.stackPane.addWidget(QWidget()) + self.stackView = self.stackPane.addWidget(QWidget()) self.stackPane.setCurrentIndex(self.stackNone) self.treePane = QFrame() @@ -78,7 +78,8 @@ class GuiMain(QMainWindow): self.splitMain = QSplitter(Qt.Horizontal) self.splitMain.addWidget(self.treePane) - self.splitMain.addWidget(self.stackPane) + self.splitMain.addWidget(self.docEditor) + self.splitMain.addWidget(self.docViewer) self.splitMain.setSizes(self.mainConf.mainPanePos) self.splitMain.splitterMoved.connect(self._splitMainMove) diff --git a/tests/reference/novelwriter.conf b/tests/reference/novelwriter.conf index 5b27daa9..f11f5904 100644 --- a/tests/reference/novelwriter.conf +++ b/tests/reference/novelwriter.conf @@ -4,7 +4,7 @@ timestamp = 2019-05-18 15:06:44 [Sizes] geometry = 1100, 650 treecols = 120, 30, 50 -mainpane = 300, 800 +mainpane = 300, 400, 400 [Project] autosaveproject = 60 diff --git a/tests/test_config.py b/tests/test_config.py index 528b7dcf..a46c3c41 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -70,7 +70,7 @@ def testConfigSetMainPanePos(nwTemp,nwRef): refConf = path.join(nwRef, "novelwriter.conf") assert theConf.setMainPanePos([0, 0]) assert theConf.confChanged - assert theConf.setMainPanePos([300, 800]) + assert theConf.setMainPanePos([300, 400, 400]) assert theConf.saveConfig() assert cmpFiles(tmpConf, refConf, [2]) assert not theConf.confChanged From 76a4e6499bdf133ba3d43a59d3ea2077df2d1e1f Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 18 May 2019 17:50:56 +0200 Subject: [PATCH 2/6] Fix margins for viewer, and handle split positions properly --- nw/gui/doceditor.py | 6 ++++-- nw/gui/docviewer.py | 3 +++ nw/gui/mainmenu.py | 10 +++++----- nw/gui/winmain.py | 27 +++++++++++++++++++++++++-- nw/themes/default.css | 2 +- 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index 9842d03c..b7c6a7d5 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -79,6 +79,7 @@ class GuiDocEditor(QTextEdit): if self.mainConf.doJustify: self.theDoc.setDefaultTextOption(QTextOption(Qt.AlignJustify)) + self.setReadOnly(True) self.setMinimumWidth(300) self.setAcceptRichText(False) self.setFontPointSize(self.mainConf.textSize) @@ -173,10 +174,11 @@ class GuiDocEditor(QTextEdit): tW = self.width() tM = int((tW - sW - self.mainConf.textWidth)/2) mTB = self.mainConf.textMargin[0] - if tM > 0: + if tM >= 10: self.setViewportMargins(tM,mTB,0,mTB) else: - self.setViewportMargins(0,mTB,0,mTB) + self.setViewportMargins(10,mTB,0,mTB) + self.setLineWrapColumnOrWidth(tW - sW - 20) return def docAction(self, theAction): diff --git a/nw/gui/docviewer.py b/nw/gui/docviewer.py index 1a795b29..b6f3d666 100644 --- a/nw/gui/docviewer.py +++ b/nw/gui/docviewer.py @@ -28,6 +28,9 @@ class GuiDocViewer(QTextBrowser): self.mainConf = nw.CONFIG self.theParent = theParent + self.theDoc = self.document() + + self.theDoc.setDocumentMargin(self.mainConf.textMargin[0]) self.setMinimumWidth(300) logger.debug("DocViewer initialisation complete") diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index 8ee7605f..92c7e85c 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -292,11 +292,11 @@ class GuiMainMenu(QMenuBar): self.viewMenu.addAction(menuItem) # # View > Document Pane 2 - # menuItem = QAction(QIcon.fromTheme("go-last"), "Right Document Pane", self) - # menuItem.setStatusTip("Move to Right Document Pane") - # menuItem.setShortcut("Ctrl+3") - # menuItem.triggered.connect(lambda : self.theParent.setFocus(3)) - # self.viewMenu.addAction(menuItem) + menuItem = QAction(QIcon.fromTheme("go-last"), "Right Document Pane", self) + menuItem.setStatusTip("Move to Right Document Pane") + menuItem.setShortcut("Ctrl+3") + menuItem.triggered.connect(lambda : self.theParent.setFocus(3)) + self.viewMenu.addAction(menuItem) return diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index 7beb5bbe..e0313709 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -85,6 +85,19 @@ class GuiMain(QMainWindow): self.setCentralWidget(self.splitMain) + self.idxTree = self.splitMain.indexOf(self.treePane) + self.idxEditor = self.splitMain.indexOf(self.docEditor) + self.idxViewer = self.splitMain.indexOf(self.docViewer) + + self.splitMain.setCollapsible(self.idxTree, False) + self.splitMain.setCollapsible(self.idxEditor, False) + self.splitMain.setCollapsible(self.idxViewer, True) + + self.docViewer.setVisible(False) + pPos = self.mainConf.mainPanePos + tPos = [pPos[0], pPos[1]+pPos[2]] + self.splitMain.setSizes(tPos) + # Build GUI Elements self.treeView.itemSelectionChanged.connect(self._treeSingleClick) self.treeView.itemDoubleClicked.connect(self._treeDoubleClick) @@ -207,6 +220,7 @@ class GuiMain(QMainWindow): self.saveDocument() self.stackPane.setCurrentIndex(self.stackDoc) self.docEditor.setText(self.theDocument.openDocument(tHandle)) + self.docEditor.setReadOnly(False) self.docEditor.setCursorPosition(self.theDocument.theItem.cursorPos) self.docEditor.changeWidth() self.docEditor.setFocus() @@ -240,6 +254,14 @@ class GuiMain(QMainWindow): aDoc.tokenizeText() aDoc.doConvert() self.docViewer.setHtml(aDoc.theResult) + bPos = self.splitMain.sizes() + self.docViewer.setVisible(True) + if bPos[2] == 0: + bWidth = bPos[1]+bPos[2] + bPos[1] = int(bWidth/2) + bPos[2] = bWidth-bPos[1] + self.splitMain.setSizes(bPos) + self.docEditor.changeWidth() return @@ -327,8 +349,9 @@ class GuiMain(QMainWindow): if paneNo == 1: self.treeView.setFocus() elif paneNo == 2: - if self.stackPane.currentIndex() == self.stackDoc: - self.docEditor.setFocus() + self.docEditor.setFocus() + elif paneNo == 3: + self.docViewer.setFocus() return ## diff --git a/nw/themes/default.css b/nw/themes/default.css index e8ca8b82..1d78fe66 100644 --- a/nw/themes/default.css +++ b/nw/themes/default.css @@ -10,7 +10,7 @@ QTextEdit { QTextBrowser { background-color: #141414; color: #c7cfd0; - padding: 40px; + /* padding: 40px; */ } QTreeView, QHeaderView { From 2bbadcb3bdc1057c492e4357324faf1afca5b7b9 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 18 May 2019 18:03:23 +0200 Subject: [PATCH 3/6] Open last edited and viewed document when opening project --- nw/gui/mainmenu.py | 6 +++--- nw/gui/winmain.py | 14 +++++++++++--- nw/project/project.py | 20 +++++++++++++++++++- sample/sampleNovel/nwProject.nwx | 4 +++- 4 files changed, 36 insertions(+), 8 deletions(-) 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 From bf1b4d5d3b9a48556a8e1f0198b5009c965292a5 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 18 May 2019 18:13:25 +0200 Subject: [PATCH 4/6] Fixed tests, some resize issues, and cleaned out some unneeded code. --- nw/gui/doceditor.py | 1 + nw/gui/winmain.py | 16 ++-------------- sample/sampleNovel/nwProject.nwx | 2 +- tests/reference/gui/1_nwProject.nwx | 2 ++ tests/reference/gui/2_nwProject.nwx | 2 ++ tests/reference/gui/3_nwProject.nwx | 2 ++ tests/reference/proj/1_nwProject.nwx | 2 ++ tests/reference/proj/2_nwProject.nwx | 2 ++ 8 files changed, 14 insertions(+), 15 deletions(-) diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index b7c6a7d5..11acf866 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -176,6 +176,7 @@ class GuiDocEditor(QTextEdit): mTB = self.mainConf.textMargin[0] if tM >= 10: self.setViewportMargins(tM,mTB,0,mTB) + self.setLineWrapColumnOrWidth(self.mainConf.textWidth) else: self.setViewportMargins(10,mTB,0,mTB) self.setLineWrapColumnOrWidth(tW - sW - 20) diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index e7af4666..02318a1e 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -64,12 +64,6 @@ class GuiMain(QMainWindow): self.importLabels = [] # Assemble Main Window - self.stackPane = QStackedWidget() - self.stackNone = self.stackPane.addWidget(QWidget()) - self.stackDoc = self.stackPane.addWidget(QWidget()) - self.stackView = self.stackPane.addWidget(QWidget()) - self.stackPane.setCurrentIndex(self.stackNone) - self.treePane = QFrame() self.treeBox = QVBoxLayout() self.treeBox.addWidget(self.treeView) @@ -222,7 +216,6 @@ class GuiMain(QMainWindow): def openDocument(self, tHandle): if self._takeDocumentAction(): self.saveDocument() - self.stackPane.setCurrentIndex(self.stackDoc) self.docEditor.setText(self.theDocument.openDocument(tHandle)) self.docEditor.setReadOnly(False) self.docEditor.setCursorPosition(self.theDocument.theItem.cursorPos) @@ -254,7 +247,6 @@ class GuiMain(QMainWindow): tItem = self.theProject.getItem(tHandle) if tItem.itemType == nwItemType.FILE: logger.debug("Generating preview for item %s" % tHandle) - self.stackPane.setCurrentIndex(self.stackView) aDoc = ToHtml(self.theProject, self) aDoc.setText(tHandle) aDoc.tokenizeText() @@ -393,8 +385,6 @@ class GuiMain(QMainWindow): return True def _takeDocumentAction(self): - if self.stackPane.currentIndex() != self.stackDoc: - return False if self.theDocument.theItem is None: return False if not self.docEditor.docChanged: @@ -429,8 +419,7 @@ class GuiMain(QMainWindow): """Extend QMainWindow.resizeEvent to signal dependent GUI elements that its pane may have changed size. """ QMainWindow.resizeEvent(self,theEvent) - if self.stackPane.currentIndex() == self.stackDoc: - self.docEditor.changeWidth() + self.docEditor.changeWidth() return def closeEvent(self, theEvent): @@ -473,8 +462,7 @@ class GuiMain(QMainWindow): def _splitMainMove(self, pWidth, pHeight): """Alert dependent GUI elements that the main pane splitter has been moved. """ - if self.stackPane.currentIndex() == self.stackDoc: - self.docEditor.changeWidth() + self.docEditor.changeWidth() return # END Class GuiMain diff --git a/sample/sampleNovel/nwProject.nwx b/sample/sampleNovel/nwProject.nwx index 4b1a3cb9..0e68ae5c 100644 --- a/sample/sampleNovel/nwProject.nwx +++ b/sample/sampleNovel/nwProject.nwx @@ -1,5 +1,5 @@ - + Sample Project Sample Project diff --git a/tests/reference/gui/1_nwProject.nwx b/tests/reference/gui/1_nwProject.nwx index 75ab919f..cf0b0f54 100644 --- a/tests/reference/gui/1_nwProject.nwx +++ b/tests/reference/gui/1_nwProject.nwx @@ -6,6 +6,8 @@ False + None + None diff --git a/tests/reference/gui/2_nwProject.nwx b/tests/reference/gui/2_nwProject.nwx index 74949967..33070870 100644 --- a/tests/reference/gui/2_nwProject.nwx +++ b/tests/reference/gui/2_nwProject.nwx @@ -8,6 +8,8 @@ False + None + None diff --git a/tests/reference/gui/3_nwProject.nwx b/tests/reference/gui/3_nwProject.nwx index 632419cb..ecc54350 100644 --- a/tests/reference/gui/3_nwProject.nwx +++ b/tests/reference/gui/3_nwProject.nwx @@ -6,6 +6,8 @@ False + None + None diff --git a/tests/reference/proj/1_nwProject.nwx b/tests/reference/proj/1_nwProject.nwx index 91f8998d..181e1166 100644 --- a/tests/reference/proj/1_nwProject.nwx +++ b/tests/reference/proj/1_nwProject.nwx @@ -6,6 +6,8 @@ False + None + None diff --git a/tests/reference/proj/2_nwProject.nwx b/tests/reference/proj/2_nwProject.nwx index 8a101717..f9dbdef1 100644 --- a/tests/reference/proj/2_nwProject.nwx +++ b/tests/reference/proj/2_nwProject.nwx @@ -6,6 +6,8 @@ False + None + None From 8c4927928042437e337c376799cfc229c88eb68e Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 18 May 2019 18:20:01 +0200 Subject: [PATCH 5/6] The GUI test now covers the spell checker as well --- nw/gui/mainmenu.py | 2 +- tests/test_gui.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index f17b9418..399e6d1b 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -98,7 +98,7 @@ class GuiMainMenu(QMenuBar): self.theProject.setSpellCheck(self.toolsSpellCheck.isChecked()) self.theParent.docEditor.setSpellCheck(self.toolsSpellCheck.isChecked()) logger.verbose("Spell check is set to %s" % str(self.theProject.spellCheck)) - return + return True def _showAbout(self): msgBox = QMessageBox() diff --git a/tests/test_gui.py b/tests/test_gui.py index c9655a0a..4f098b6c 100644 --- a/tests/test_gui.py +++ b/tests/test_gui.py @@ -47,6 +47,8 @@ def testMainWindows(qtbot, nwTempGUI, nwRef): nwGUI.treeView._getTreeItem("25fc0e7096fc6").setExpanded(True) nwGUI.treeView._getTreeItem("31489056e0916").setSelected(True) assert nwGUI.openSelectedItem() + nwGUI.mainMenu.toolsSpellCheck.setChecked(True) + assert nwGUI.mainMenu._toggleSpellCheck() # Type something into the document nwGUI.docEditor.setFocus() From 9e42e014887c1b1b2fffd822e2e9a1bc1462d80c Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 18 May 2019 18:23:44 +0200 Subject: [PATCH 6/6] Trigger the viewDocument call in gui test, which tests the tokenizer and converter as well --- nw/gui/winmain.py | 4 ++-- tests/test_gui.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index 02318a1e..b7b20578 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -242,7 +242,7 @@ class GuiMain(QMainWindow): tHandle = self.treeView.getSelectedHandle() if tHandle is None: logger.warning("No document selected") - return + return False tItem = self.theProject.getItem(tHandle) if tItem.itemType == nwItemType.FILE: @@ -263,7 +263,7 @@ class GuiMain(QMainWindow): self.splitMain.setSizes(bPos) self.docEditor.changeWidth() - return + return True ## # Tree Item Actions diff --git a/tests/test_gui.py b/tests/test_gui.py index 4f098b6c..681c2116 100644 --- a/tests/test_gui.py +++ b/tests/test_gui.py @@ -105,6 +105,10 @@ def testMainWindows(qtbot, nwTempGUI, nwRef): assert nwGUI.saveDocument() qtbot.wait(stepDelay) + # Open and view the edited document + assert nwGUI.openDocument("31489056e0916") + assert nwGUI.viewDocument("31489056e0916") + # Check the files projFile = path.join(nwTempGUI,"nwProject.nwx") assert cmpFiles(projFile, path.join(nwRef,"gui","1_nwProject.nwx"), [2])