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] 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 {