diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py index 64c2b73d..98648ab6 100644 --- a/novelwriter/gui/doceditor.py +++ b/novelwriter/gui/doceditor.py @@ -131,8 +131,9 @@ class GuiDocEditor(QTextEdit): # Editor Settings self.setMinimumWidth(self.mainConf.pxInt(300)) - self.setAutoFillBackground(True) self.setAcceptRichText(False) + self.setAutoFillBackground(True) + self.setFrameStyle(QFrame.NoFrame) # Custom Shortcuts QShortcut( diff --git a/novelwriter/gui/docviewer.py b/novelwriter/gui/docviewer.py index 4ec59570..4c293da5 100644 --- a/novelwriter/gui/docviewer.py +++ b/novelwriter/gui/docviewer.py @@ -36,7 +36,7 @@ from PyQt5.QtGui import ( ) from PyQt5.QtWidgets import ( qApp, QTextBrowser, QWidget, QScrollArea, QLabel, QHBoxLayout, QToolButton, - QAction, QMenu + QAction, QMenu, QFrame ) from novelwriter.core import ToHtml @@ -68,6 +68,7 @@ class GuiDocViewer(QTextBrowser): self.setAutoFillBackground(True) self.setOpenExternalLinks(False) self.setFocusPolicy(Qt.StrongFocus) + self.setFrameStyle(QFrame.NoFrame) # Document Header and Footer self.docHeader = GuiDocViewHeader(self) @@ -1185,6 +1186,7 @@ class GuiDocViewDetails(QScrollArea): self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.setWidgetResizable(True) self.setMinimumHeight(self.mainConf.pxInt(50)) + self.setFrameStyle(QFrame.NoFrame) logger.debug("GuiDocViewDetails initialisation complete") diff --git a/novelwriter/gui/noveltree.py b/novelwriter/gui/noveltree.py index 0f7ac02f..d0732abe 100644 --- a/novelwriter/gui/noveltree.py +++ b/novelwriter/gui/noveltree.py @@ -29,7 +29,9 @@ import novelwriter from time import time from PyQt5.QtCore import Qt, QSize -from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QAbstractItemView +from PyQt5.QtWidgets import ( + QTreeWidget, QTreeWidgetItem, QAbstractItemView, QFrame +) from novelwriter.common import checkInt from novelwriter.constants import nwKeyWords @@ -60,6 +62,7 @@ class GuiNovelTree(QTreeWidget): # Build GUI iPx = self.theTheme.baseIconSize + self.setFrameStyle(QFrame.NoFrame) self.setIconSize(QSize(iPx, iPx)) self.setIndentation(iPx) self.setColumnCount(3) diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py index 1ac83ff1..4028ccf6 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -30,7 +30,7 @@ from time import time from PyQt5.QtCore import Qt, QSize, pyqtSlot from PyQt5.QtWidgets import ( - QTreeWidget, QTreeWidgetItem, QMenu, QAction, QAbstractItemView + QTreeWidget, QTreeWidgetItem, QMenu, QAction, QAbstractItemView, QFrame ) from novelwriter.enum import nwItemLayout, nwItemType, nwOutline @@ -95,6 +95,7 @@ class GuiOutline(QTreeWidget): self.optState = theParent.theProject.optState self.headerMenu = GuiOutlineHeaderMenu(self) + self.setFrameStyle(QFrame.NoFrame) self.setSelectionBehavior(QAbstractItemView.SelectRows) self.setSelectionMode(QAbstractItemView.SingleSelection) self.setExpandsOnDoubleClick(False) diff --git a/novelwriter/gui/outlinedetails.py b/novelwriter/gui/outlinedetails.py index 358a6531..00c20e44 100644 --- a/novelwriter/gui/outlinedetails.py +++ b/novelwriter/gui/outlinedetails.py @@ -28,7 +28,7 @@ import novelwriter from PyQt5.QtCore import Qt, QT_TRANSLATE_NOOP, pyqtSignal from PyQt5.QtWidgets import ( - QScrollArea, QWidget, QGridLayout, QHBoxLayout, QGroupBox, QLabel + QScrollArea, QWidget, QGridLayout, QHBoxLayout, QGroupBox, QLabel, QFrame ) from novelwriter.enum import nwView @@ -233,6 +233,7 @@ class GuiOutlineDetails(QScrollArea): self.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.setWidgetResizable(True) + self.setFrameStyle(QFrame.NoFrame) self.initDetails() diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py index 5d40aeae..b134b901 100644 --- a/novelwriter/gui/projtree.py +++ b/novelwriter/gui/projtree.py @@ -32,7 +32,7 @@ from time import time from PyQt5.QtCore import Qt, QSize, pyqtSignal, pyqtSlot from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import ( - QTreeWidget, QTreeWidgetItem, QAbstractItemView, QMenu, QAction + QTreeWidget, QTreeWidgetItem, QAbstractItemView, QMenu, QAction, QFrame ) from novelwriter.core import NWDoc @@ -81,6 +81,7 @@ class GuiProjectTree(QTreeWidget): # Tree Settings iPx = self.theTheme.baseIconSize self.setIconSize(QSize(iPx, iPx)) + self.setFrameStyle(QFrame.NoFrame) self.setExpandsOnDoubleClick(False) self.setIndentation(iPx) self.setColumnCount(4) diff --git a/novelwriter/gui/viewsbar.py b/novelwriter/gui/viewsbar.py index fd7293d3..e5b627b2 100644 --- a/novelwriter/gui/viewsbar.py +++ b/novelwriter/gui/viewsbar.py @@ -55,44 +55,50 @@ class GuiViewsBar(QToolBar): lblFont = self.theTheme.guiFont lblFont.setPointSizeF(0.65*self.theTheme.fontPointSize) - self.setFont(lblFont) self.setMovable(False) self.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) self.setIconSize(QSize(iPx, iPx)) self.setMaximumWidth(mPx) self.setContentsMargins(0, 0, 0, 0) + self.setStyleSheet("QToolBar {border: 0px;}") stretch = QWidget(self) stretch.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # Actions self.aProject = QAction(self.tr("Project")) + self.aProject.setFont(lblFont) self.aProject.setToolTip(self.tr("Show project tree and editor")) self.aProject.setIcon(self.theTheme.getIcon("view_editor")) self.aProject.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.PROJECT)) self.aNovel = QAction(self.tr("Novel")) + self.aNovel.setFont(lblFont) self.aNovel.setToolTip(self.tr("Show novel tree and editor")) self.aNovel.setIcon(self.theTheme.getIcon("view_novel")) self.aNovel.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.NOVEL)) self.aOutline = QAction(self.tr("Outline")) + self.aOutline.setFont(lblFont) self.aOutline.setToolTip(self.tr("Show novel outline")) self.aOutline.setIcon(self.theTheme.getIcon("view_outline")) self.aOutline.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.OUTLINE)) self.aBuild = QAction(self.tr("Build")) + self.aBuild.setFont(lblFont) self.aBuild.setToolTip(self.tr("Build novel project")) self.aBuild.setIcon(self.theTheme.getIcon("view_build")) self.aBuild.triggered.connect(lambda: self.theParent.showBuildProjectDialog()) self.aDetails = QAction(self.tr("Details")) + self.aDetails.setFont(lblFont) self.aDetails.setToolTip(self.tr("Show project details")) self.aDetails.setIcon(self.theTheme.getIcon("proj_details")) self.aDetails.triggered.connect(lambda: self.theParent.showProjectDetailsDialog()) self.aStats = QAction(self.tr("Stats")) + self.aStats.setFont(lblFont) self.aStats.setToolTip(self.tr("Show project statistics")) self.aStats.setIcon(self.theTheme.getIcon("proj_stats")) self.aStats.triggered.connect(lambda: self.theParent.showWritingStatsDialog()) @@ -109,8 +115,9 @@ class GuiViewsBar(QToolBar): self.mSettings.addAction(self.aPreferences) self.tbSettings = QToolButton(self) - self.tbSettings.setIcon(self.theTheme.getIcon("settings")) + self.tbSettings.setFont(lblFont) self.tbSettings.setText(self.tr("Settings")) + self.tbSettings.setIcon(self.theTheme.getIcon("settings")) self.tbSettings.setMenu(self.mSettings) self.tbSettings.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) self.tbSettings.setPopupMode(QToolButton.InstantPopup) diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index bf1475b7..a759972a 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -102,6 +102,7 @@ class GuiMain(QMainWindow): # Sizes mPx = self.mainConf.pxInt(4) + hWd = self.mainConf.pxInt(4) # Main GUI Elements self.statusBar = GuiMainStatus(self) @@ -149,12 +150,14 @@ class GuiMain(QMainWindow): self.splitView = QSplitter(Qt.Vertical) self.splitView.addWidget(self.docViewer) self.splitView.addWidget(self.viewMeta) + self.splitView.setHandleWidth(hWd) self.splitView.setSizes(self.mainConf.getViewPanePos()) # Splitter : Document Editor / Document Viewer self.splitDocs = QSplitter(Qt.Horizontal) self.splitDocs.addWidget(self.docEditor) self.splitDocs.addWidget(self.splitView) + self.splitDocs.setHandleWidth(hWd) # Splitter : Project Outlie / Outline Details self.splitOutline = QSplitter(Qt.Vertical) @@ -164,9 +167,10 @@ class GuiMain(QMainWindow): # Splitter : Project Tree / Main Tabs self.splitMain = QSplitter(Qt.Horizontal) - self.splitMain.setContentsMargins(0, 0, mPx, 0) + self.splitMain.setContentsMargins(0, 0, 0, 0) self.splitMain.addWidget(self.treePane) self.splitMain.addWidget(self.splitDocs) + self.splitMain.setHandleWidth(hWd) self.splitMain.setSizes(self.mainConf.getMainPanePos()) # Main Stack : Editor / Outline