Add updateTheme functions to remaining GUI components
This commit is contained in:
@@ -34,7 +34,6 @@ from PyQt5.QtWidgets import (
|
|||||||
QLineEdit, QFileDialog, QFontDialog, QDoubleSpinBox
|
QLineEdit, QFileDialog, QFontDialog, QDoubleSpinBox
|
||||||
)
|
)
|
||||||
|
|
||||||
from novelwriter.enum import nwAlert
|
|
||||||
from novelwriter.custom import QSwitch, QConfigLayout, PagedDialog
|
from novelwriter.custom import QSwitch, QConfigLayout, PagedDialog
|
||||||
from novelwriter.dialogs.quotes import GuiQuoteSelect
|
from novelwriter.dialogs.quotes import GuiQuoteSelect
|
||||||
|
|
||||||
@@ -78,6 +77,12 @@ class GuiPreferences(PagedDialog):
|
|||||||
|
|
||||||
self.resize(*self.mainConf.getPreferencesSize())
|
self.resize(*self.mainConf.getPreferencesSize())
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
self.updateTheme = False
|
||||||
|
self.updateSyntax = False
|
||||||
|
self.needsRestart = False
|
||||||
|
self.refreshTree = False
|
||||||
|
|
||||||
logger.debug("GuiPreferences initialisation complete")
|
logger.debug("GuiPreferences initialisation complete")
|
||||||
|
|
||||||
return
|
return
|
||||||
@@ -92,8 +97,7 @@ class GuiPreferences(PagedDialog):
|
|||||||
"""
|
"""
|
||||||
logger.debug("Saving new preferences")
|
logger.debug("Saving new preferences")
|
||||||
|
|
||||||
needsRestart, refreshTree = self.tabGeneral.saveValues()
|
self.tabGeneral.saveValues()
|
||||||
|
|
||||||
self.tabProjects.saveValues()
|
self.tabProjects.saveValues()
|
||||||
self.tabDocs.saveValues()
|
self.tabDocs.saveValues()
|
||||||
self.tabEditor.saveValues()
|
self.tabEditor.saveValues()
|
||||||
@@ -101,14 +105,6 @@ class GuiPreferences(PagedDialog):
|
|||||||
self.tabAuto.saveValues()
|
self.tabAuto.saveValues()
|
||||||
self.tabQuote.saveValues()
|
self.tabQuote.saveValues()
|
||||||
|
|
||||||
if needsRestart:
|
|
||||||
self.mainGui.makeAlert(self.tr(
|
|
||||||
"Some changes will not be applied until novelWriter has been restarted."
|
|
||||||
), nwAlert.INFO)
|
|
||||||
|
|
||||||
if refreshTree:
|
|
||||||
self.mainGui.projView.populateTree()
|
|
||||||
|
|
||||||
self._saveWindowSize()
|
self._saveWindowSize()
|
||||||
self.accept()
|
self.accept()
|
||||||
|
|
||||||
@@ -140,6 +136,7 @@ class GuiPreferencesGeneral(QWidget):
|
|||||||
super().__init__(parent=prefsGui)
|
super().__init__(parent=prefsGui)
|
||||||
|
|
||||||
self.mainConf = novelwriter.CONFIG
|
self.mainConf = novelwriter.CONFIG
|
||||||
|
self.prefsGui = prefsGui
|
||||||
self.mainGui = prefsGui.mainGui
|
self.mainGui = prefsGui.mainGui
|
||||||
self.mainTheme = prefsGui.mainGui.mainTheme
|
self.mainTheme = prefsGui.mainGui.mainTheme
|
||||||
|
|
||||||
@@ -277,16 +274,13 @@ class GuiPreferencesGeneral(QWidget):
|
|||||||
guiFontSize = self.guiFontSize.value()
|
guiFontSize = self.guiFontSize.value()
|
||||||
emphLabels = self.emphLabels.isChecked()
|
emphLabels = self.emphLabels.isChecked()
|
||||||
|
|
||||||
# Check if restart is needed
|
# Update Flags
|
||||||
needsRestart = False
|
self.prefsGui.updateTheme |= self.mainConf.guiTheme != guiTheme
|
||||||
needsRestart |= self.mainConf.guiLang != guiLang
|
self.prefsGui.updateSyntax |= self.mainConf.guiSyntax != guiSyntax
|
||||||
needsRestart |= self.mainConf.guiTheme != guiTheme
|
self.prefsGui.needsRestart |= self.mainConf.guiLang != guiLang
|
||||||
needsRestart |= self.mainConf.guiFont != guiFont
|
self.prefsGui.needsRestart |= self.mainConf.guiFont != guiFont
|
||||||
needsRestart |= self.mainConf.guiFontSize != guiFontSize
|
self.prefsGui.needsRestart |= self.mainConf.guiFontSize != guiFontSize
|
||||||
|
self.prefsGui.refreshTree |= self.mainConf.emphLabels != emphLabels
|
||||||
# Check if refreshing project tree is needed
|
|
||||||
refreshTree = False
|
|
||||||
refreshTree |= self.mainConf.emphLabels != emphLabels
|
|
||||||
|
|
||||||
self.mainConf.guiLang = guiLang
|
self.mainConf.guiLang = guiLang
|
||||||
self.mainConf.guiTheme = guiTheme
|
self.mainConf.guiTheme = guiTheme
|
||||||
@@ -300,7 +294,7 @@ class GuiPreferencesGeneral(QWidget):
|
|||||||
|
|
||||||
self.mainConf.confChanged = True
|
self.mainConf.confChanged = True
|
||||||
|
|
||||||
return needsRestart, refreshTree
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
# Slots
|
# Slots
|
||||||
|
|||||||
@@ -2650,17 +2650,11 @@ class GuiDocEditHeader(QWidget):
|
|||||||
lblFont.setPointSizeF(0.9*self.mainTheme.fontPointSize)
|
lblFont.setPointSizeF(0.9*self.mainTheme.fontPointSize)
|
||||||
self.theTitle.setFont(lblFont)
|
self.theTitle.setFont(lblFont)
|
||||||
|
|
||||||
buttonStyle = (
|
|
||||||
"QToolButton {{border: none; background: transparent;}} "
|
|
||||||
"QToolButton:hover {{border: none; background: rgba({0},{1},{2},0.2);}}"
|
|
||||||
).format(*self.mainTheme.colText)
|
|
||||||
|
|
||||||
# Buttons
|
# Buttons
|
||||||
self.editButton = QToolButton(self)
|
self.editButton = QToolButton(self)
|
||||||
self.editButton.setContentsMargins(0, 0, 0, 0)
|
self.editButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.editButton.setIconSize(QSize(fPx, fPx))
|
self.editButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.editButton.setFixedSize(fPx, fPx)
|
self.editButton.setFixedSize(fPx, fPx)
|
||||||
self.editButton.setStyleSheet(buttonStyle)
|
|
||||||
self.editButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.editButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.editButton.setVisible(False)
|
self.editButton.setVisible(False)
|
||||||
self.editButton.setToolTip(self.tr("Edit document label"))
|
self.editButton.setToolTip(self.tr("Edit document label"))
|
||||||
@@ -2670,7 +2664,6 @@ class GuiDocEditHeader(QWidget):
|
|||||||
self.searchButton.setContentsMargins(0, 0, 0, 0)
|
self.searchButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.searchButton.setIconSize(QSize(fPx, fPx))
|
self.searchButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.searchButton.setFixedSize(fPx, fPx)
|
self.searchButton.setFixedSize(fPx, fPx)
|
||||||
self.searchButton.setStyleSheet(buttonStyle)
|
|
||||||
self.searchButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.searchButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.searchButton.setVisible(False)
|
self.searchButton.setVisible(False)
|
||||||
self.searchButton.setToolTip(self.tr("Search document"))
|
self.searchButton.setToolTip(self.tr("Search document"))
|
||||||
@@ -2680,7 +2673,6 @@ class GuiDocEditHeader(QWidget):
|
|||||||
self.minmaxButton.setContentsMargins(0, 0, 0, 0)
|
self.minmaxButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.minmaxButton.setIconSize(QSize(fPx, fPx))
|
self.minmaxButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.minmaxButton.setFixedSize(fPx, fPx)
|
self.minmaxButton.setFixedSize(fPx, fPx)
|
||||||
self.minmaxButton.setStyleSheet(buttonStyle)
|
|
||||||
self.minmaxButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.minmaxButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.minmaxButton.setVisible(False)
|
self.minmaxButton.setVisible(False)
|
||||||
self.minmaxButton.setToolTip(self.tr("Toggle Focus Mode"))
|
self.minmaxButton.setToolTip(self.tr("Toggle Focus Mode"))
|
||||||
@@ -2690,7 +2682,6 @@ class GuiDocEditHeader(QWidget):
|
|||||||
self.closeButton.setContentsMargins(0, 0, 0, 0)
|
self.closeButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.closeButton.setIconSize(QSize(fPx, fPx))
|
self.closeButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.closeButton.setFixedSize(fPx, fPx)
|
self.closeButton.setFixedSize(fPx, fPx)
|
||||||
self.closeButton.setStyleSheet(buttonStyle)
|
|
||||||
self.closeButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.closeButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.closeButton.setVisible(False)
|
self.closeButton.setVisible(False)
|
||||||
self.closeButton.setToolTip(self.tr("Close the document"))
|
self.closeButton.setToolTip(self.tr("Close the document"))
|
||||||
@@ -2713,9 +2704,7 @@ class GuiDocEditHeader(QWidget):
|
|||||||
self.outerBox.setContentsMargins(cM, cM, cM, cM)
|
self.outerBox.setContentsMargins(cM, cM, cM, cM)
|
||||||
self.setMinimumHeight(fPx + 2*cM)
|
self.setMinimumHeight(fPx + 2*cM)
|
||||||
|
|
||||||
# Fix the Colours
|
|
||||||
self.updateTheme()
|
self.updateTheme()
|
||||||
self.matchColours()
|
|
||||||
|
|
||||||
logger.debug("GuiDocEditHeader initialisation complete")
|
logger.debug("GuiDocEditHeader initialisation complete")
|
||||||
|
|
||||||
@@ -2732,6 +2721,19 @@ class GuiDocEditHeader(QWidget):
|
|||||||
self.searchButton.setIcon(self.mainTheme.getIcon("search"))
|
self.searchButton.setIcon(self.mainTheme.getIcon("search"))
|
||||||
self.minmaxButton.setIcon(self.mainTheme.getIcon("maximise"))
|
self.minmaxButton.setIcon(self.mainTheme.getIcon("maximise"))
|
||||||
self.closeButton.setIcon(self.mainTheme.getIcon("close"))
|
self.closeButton.setIcon(self.mainTheme.getIcon("close"))
|
||||||
|
|
||||||
|
buttonStyle = (
|
||||||
|
"QToolButton {{border: none; background: transparent;}} "
|
||||||
|
"QToolButton:hover {{border: none; background: rgba({0},{1},{2},0.2);}}"
|
||||||
|
).format(*self.mainTheme.colText)
|
||||||
|
|
||||||
|
self.editButton.setStyleSheet(buttonStyle)
|
||||||
|
self.searchButton.setStyleSheet(buttonStyle)
|
||||||
|
self.minmaxButton.setStyleSheet(buttonStyle)
|
||||||
|
self.closeButton.setStyleSheet(buttonStyle)
|
||||||
|
|
||||||
|
self.matchColours()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def matchColours(self):
|
def matchColours(self):
|
||||||
@@ -2942,7 +2944,6 @@ class GuiDocEditFooter(QWidget):
|
|||||||
|
|
||||||
# Fix the Colours
|
# Fix the Colours
|
||||||
self.updateTheme()
|
self.updateTheme()
|
||||||
self.matchColours()
|
|
||||||
self.updateLineCount()
|
self.updateLineCount()
|
||||||
self.updateCounts()
|
self.updateCounts()
|
||||||
|
|
||||||
@@ -2959,6 +2960,9 @@ class GuiDocEditFooter(QWidget):
|
|||||||
"""
|
"""
|
||||||
self.linesIcon.setPixmap(self.mainTheme.getPixmap("status_lines", (self.sPx, self.sPx)))
|
self.linesIcon.setPixmap(self.mainTheme.getPixmap("status_lines", (self.sPx, self.sPx)))
|
||||||
self.wordsIcon.setPixmap(self.mainTheme.getPixmap("status_stats", (self.sPx, self.sPx)))
|
self.wordsIcon.setPixmap(self.mainTheme.getPixmap("status_stats", (self.sPx, self.sPx)))
|
||||||
|
|
||||||
|
self.matchColours()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def matchColours(self):
|
def matchColours(self):
|
||||||
|
|||||||
@@ -742,17 +742,11 @@ class GuiDocViewHeader(QWidget):
|
|||||||
lblFont.setPointSizeF(0.9*self.mainTheme.fontPointSize)
|
lblFont.setPointSizeF(0.9*self.mainTheme.fontPointSize)
|
||||||
self.theTitle.setFont(lblFont)
|
self.theTitle.setFont(lblFont)
|
||||||
|
|
||||||
buttonStyle = (
|
|
||||||
"QToolButton {{border: none; background: transparent;}} "
|
|
||||||
"QToolButton:hover {{border: none; background: rgba({0},{1},{2},0.2);}}"
|
|
||||||
).format(*self.mainTheme.colText)
|
|
||||||
|
|
||||||
# Buttons
|
# Buttons
|
||||||
self.backButton = QToolButton(self)
|
self.backButton = QToolButton(self)
|
||||||
self.backButton.setContentsMargins(0, 0, 0, 0)
|
self.backButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.backButton.setIconSize(QSize(fPx, fPx))
|
self.backButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.backButton.setFixedSize(fPx, fPx)
|
self.backButton.setFixedSize(fPx, fPx)
|
||||||
self.backButton.setStyleSheet(buttonStyle)
|
|
||||||
self.backButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.backButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.backButton.setVisible(False)
|
self.backButton.setVisible(False)
|
||||||
self.backButton.setToolTip(self.tr("Go backward"))
|
self.backButton.setToolTip(self.tr("Go backward"))
|
||||||
@@ -762,7 +756,6 @@ class GuiDocViewHeader(QWidget):
|
|||||||
self.forwardButton.setContentsMargins(0, 0, 0, 0)
|
self.forwardButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.forwardButton.setIconSize(QSize(fPx, fPx))
|
self.forwardButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.forwardButton.setFixedSize(fPx, fPx)
|
self.forwardButton.setFixedSize(fPx, fPx)
|
||||||
self.forwardButton.setStyleSheet(buttonStyle)
|
|
||||||
self.forwardButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.forwardButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.forwardButton.setVisible(False)
|
self.forwardButton.setVisible(False)
|
||||||
self.forwardButton.setToolTip(self.tr("Go forward"))
|
self.forwardButton.setToolTip(self.tr("Go forward"))
|
||||||
@@ -772,7 +765,6 @@ class GuiDocViewHeader(QWidget):
|
|||||||
self.refreshButton.setContentsMargins(0, 0, 0, 0)
|
self.refreshButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.refreshButton.setIconSize(QSize(fPx, fPx))
|
self.refreshButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.refreshButton.setFixedSize(fPx, fPx)
|
self.refreshButton.setFixedSize(fPx, fPx)
|
||||||
self.refreshButton.setStyleSheet(buttonStyle)
|
|
||||||
self.refreshButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.refreshButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.refreshButton.setVisible(False)
|
self.refreshButton.setVisible(False)
|
||||||
self.refreshButton.setToolTip(self.tr("Reload the document"))
|
self.refreshButton.setToolTip(self.tr("Reload the document"))
|
||||||
@@ -782,7 +774,6 @@ class GuiDocViewHeader(QWidget):
|
|||||||
self.closeButton.setContentsMargins(0, 0, 0, 0)
|
self.closeButton.setContentsMargins(0, 0, 0, 0)
|
||||||
self.closeButton.setIconSize(QSize(fPx, fPx))
|
self.closeButton.setIconSize(QSize(fPx, fPx))
|
||||||
self.closeButton.setFixedSize(fPx, fPx)
|
self.closeButton.setFixedSize(fPx, fPx)
|
||||||
self.closeButton.setStyleSheet(buttonStyle)
|
|
||||||
self.closeButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
self.closeButton.setToolButtonStyle(Qt.ToolButtonIconOnly)
|
||||||
self.closeButton.setVisible(False)
|
self.closeButton.setVisible(False)
|
||||||
self.closeButton.setToolTip(self.tr("Close the document"))
|
self.closeButton.setToolTip(self.tr("Close the document"))
|
||||||
@@ -807,7 +798,6 @@ class GuiDocViewHeader(QWidget):
|
|||||||
|
|
||||||
# Fix the Colours
|
# Fix the Colours
|
||||||
self.updateTheme()
|
self.updateTheme()
|
||||||
self.matchColours()
|
|
||||||
|
|
||||||
logger.debug("GuiDocViewHeader initialisation complete")
|
logger.debug("GuiDocViewHeader initialisation complete")
|
||||||
|
|
||||||
@@ -824,6 +814,19 @@ class GuiDocViewHeader(QWidget):
|
|||||||
self.forwardButton.setIcon(self.mainTheme.getIcon("forward"))
|
self.forwardButton.setIcon(self.mainTheme.getIcon("forward"))
|
||||||
self.refreshButton.setIcon(self.mainTheme.getIcon("refresh"))
|
self.refreshButton.setIcon(self.mainTheme.getIcon("refresh"))
|
||||||
self.closeButton.setIcon(self.mainTheme.getIcon("close"))
|
self.closeButton.setIcon(self.mainTheme.getIcon("close"))
|
||||||
|
|
||||||
|
buttonStyle = (
|
||||||
|
"QToolButton {{border: none; background: transparent;}} "
|
||||||
|
"QToolButton:hover {{border: none; background: rgba({0},{1},{2},0.2);}}"
|
||||||
|
).format(*self.mainTheme.colText)
|
||||||
|
|
||||||
|
self.backButton.setStyleSheet(buttonStyle)
|
||||||
|
self.forwardButton.setStyleSheet(buttonStyle)
|
||||||
|
self.refreshButton.setStyleSheet(buttonStyle)
|
||||||
|
self.closeButton.setStyleSheet(buttonStyle)
|
||||||
|
|
||||||
|
self.matchColours()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def matchColours(self):
|
def matchColours(self):
|
||||||
@@ -1051,7 +1054,6 @@ class GuiDocViewFooter(QWidget):
|
|||||||
|
|
||||||
# Fix the Colours
|
# Fix the Colours
|
||||||
self.updateTheme()
|
self.updateTheme()
|
||||||
self.matchColours()
|
|
||||||
|
|
||||||
logger.debug("GuiDocViewFooter initialisation complete")
|
logger.debug("GuiDocViewFooter initialisation complete")
|
||||||
|
|
||||||
@@ -1097,6 +1099,8 @@ class GuiDocViewFooter(QWidget):
|
|||||||
self.showComments.setStyleSheet(buttonStyle)
|
self.showComments.setStyleSheet(buttonStyle)
|
||||||
self.showSynopsis.setStyleSheet(buttonStyle)
|
self.showSynopsis.setStyleSheet(buttonStyle)
|
||||||
|
|
||||||
|
self.matchColours()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def matchColours(self):
|
def matchColours(self):
|
||||||
|
|||||||
@@ -53,12 +53,8 @@ class GuiItemDetails(QWidget):
|
|||||||
hSp = self.mainConf.pxInt(6)
|
hSp = self.mainConf.pxInt(6)
|
||||||
vSp = self.mainConf.pxInt(1)
|
vSp = self.mainConf.pxInt(1)
|
||||||
mPx = self.mainConf.pxInt(6)
|
mPx = self.mainConf.pxInt(6)
|
||||||
iPx = self.mainTheme.baseIconSize
|
|
||||||
fPt = self.mainTheme.fontPointSize
|
fPt = self.mainTheme.fontPointSize
|
||||||
|
|
||||||
self._expCheck = self.mainTheme.getPixmap("check", (iPx, iPx))
|
|
||||||
self._expCross = self.mainTheme.getPixmap("cross", (iPx, iPx))
|
|
||||||
|
|
||||||
fntLabel = QFont()
|
fntLabel = QFont()
|
||||||
fntLabel.setBold(True)
|
fntLabel.setBold(True)
|
||||||
fntLabel.setPointSizeF(0.9*fPt)
|
fntLabel.setPointSizeF(0.9*fPt)
|
||||||
@@ -179,6 +175,8 @@ class GuiItemDetails(QWidget):
|
|||||||
|
|
||||||
self.setLayout(self.mainBox)
|
self.setLayout(self.mainBox)
|
||||||
|
|
||||||
|
self.updateTheme()
|
||||||
|
|
||||||
# Make sure the columns for flags and counts don't resize too often
|
# Make sure the columns for flags and counts don't resize too often
|
||||||
flagWidth = self.mainTheme.getTextWidth("Mm", fntValue)
|
flagWidth = self.mainTheme.getTextWidth("Mm", fntValue)
|
||||||
countWidth = self.mainTheme.getTextWidth("99,999", fntValue)
|
countWidth = self.mainTheme.getTextWidth("99,999", fntValue)
|
||||||
@@ -219,6 +217,15 @@ class GuiItemDetails(QWidget):
|
|||||||
"""
|
"""
|
||||||
self.updateViewBox(self._itemHandle)
|
self.updateViewBox(self._itemHandle)
|
||||||
|
|
||||||
|
def updateTheme(self):
|
||||||
|
"""Update theme elements.
|
||||||
|
"""
|
||||||
|
iPx = self.mainTheme.baseIconSize
|
||||||
|
self._expCheck = self.mainTheme.getPixmap("check", (iPx, iPx))
|
||||||
|
self._expCross = self.mainTheme.getPixmap("cross", (iPx, iPx))
|
||||||
|
self.updateViewBox(self._itemHandle)
|
||||||
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
# Public Slots
|
# Public Slots
|
||||||
##
|
##
|
||||||
|
|||||||
@@ -252,7 +252,6 @@ class GuiNovelToolBar(QWidget):
|
|||||||
"""Update theme elements.
|
"""Update theme elements.
|
||||||
"""
|
"""
|
||||||
# Icons
|
# Icons
|
||||||
|
|
||||||
self.tbRefresh.setIcon(self.mainTheme.getIcon("refresh"))
|
self.tbRefresh.setIcon(self.mainTheme.getIcon("refresh"))
|
||||||
self.tbRoot.setIcon(self.mainTheme.getIcon(nwLabels.CLASS_ICON[nwItemClass.NOVEL]))
|
self.tbRoot.setIcon(self.mainTheme.getIcon(nwLabels.CLASS_ICON[nwItemClass.NOVEL]))
|
||||||
self.tbMore.setIcon(self.mainTheme.getIcon("menu"))
|
self.tbMore.setIcon(self.mainTheme.getIcon("menu"))
|
||||||
@@ -262,7 +261,6 @@ class GuiNovelToolBar(QWidget):
|
|||||||
self.setPalette(qPalette)
|
self.setPalette(qPalette)
|
||||||
|
|
||||||
# StyleSheets
|
# StyleSheets
|
||||||
|
|
||||||
fadeCol = qPalette.text().color()
|
fadeCol = qPalette.text().color()
|
||||||
buttonStyle = (
|
buttonStyle = (
|
||||||
"QToolButton {{padding: {0}px; border: none; background: transparent;}} "
|
"QToolButton {{padding: {0}px; border: none; background: transparent;}} "
|
||||||
|
|||||||
@@ -97,6 +97,13 @@ class GuiOutlineView(QWidget):
|
|||||||
# Methods
|
# Methods
|
||||||
##
|
##
|
||||||
|
|
||||||
|
def updateTheme(self):
|
||||||
|
"""Update theme elements.
|
||||||
|
"""
|
||||||
|
self.outlineBar.updateTheme()
|
||||||
|
self.refreshTree()
|
||||||
|
return
|
||||||
|
|
||||||
def initSettings(self):
|
def initSettings(self):
|
||||||
"""Initialise GUI elements that depend on specific settings.
|
"""Initialise GUI elements that depend on specific settings.
|
||||||
"""
|
"""
|
||||||
@@ -213,7 +220,6 @@ class GuiOutlineToolBar(QToolBar):
|
|||||||
self.setMovable(False)
|
self.setMovable(False)
|
||||||
self.setIconSize(QSize(iPx, iPx))
|
self.setIconSize(QSize(iPx, iPx))
|
||||||
self.setContentsMargins(0, 0, 0, 0)
|
self.setContentsMargins(0, 0, 0, 0)
|
||||||
self.setStyleSheet("QToolBar {border: 0px;}")
|
|
||||||
|
|
||||||
stretch = QWidget(self)
|
stretch = QWidget(self)
|
||||||
stretch.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
|
stretch.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
|
||||||
@@ -228,7 +234,6 @@ class GuiOutlineToolBar(QToolBar):
|
|||||||
|
|
||||||
# Actions
|
# Actions
|
||||||
self.aRefresh = QAction(self.tr("Refresh"), self)
|
self.aRefresh = QAction(self.tr("Refresh"), self)
|
||||||
self.aRefresh.setIcon(self.mainTheme.getIcon("refresh"))
|
|
||||||
self.aRefresh.triggered.connect(self._refreshRequested)
|
self.aRefresh.triggered.connect(self._refreshRequested)
|
||||||
|
|
||||||
# Column Menu
|
# Column Menu
|
||||||
@@ -238,7 +243,6 @@ class GuiOutlineToolBar(QToolBar):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.tbColumns = QToolButton(self)
|
self.tbColumns = QToolButton(self)
|
||||||
self.tbColumns.setIcon(self.mainTheme.getIcon("menu"))
|
|
||||||
self.tbColumns.setMenu(self.mColumns)
|
self.tbColumns.setMenu(self.mColumns)
|
||||||
self.tbColumns.setPopupMode(QToolButton.InstantPopup)
|
self.tbColumns.setPopupMode(QToolButton.InstantPopup)
|
||||||
|
|
||||||
@@ -258,6 +262,16 @@ class GuiOutlineToolBar(QToolBar):
|
|||||||
# Methods
|
# Methods
|
||||||
##
|
##
|
||||||
|
|
||||||
|
def updateTheme(self):
|
||||||
|
"""Update theme elements.
|
||||||
|
"""
|
||||||
|
self.setStyleSheet("QToolBar {border: 0px;}")
|
||||||
|
|
||||||
|
self.aRefresh.setIcon(self.mainTheme.getIcon("refresh"))
|
||||||
|
self.tbColumns.setIcon(self.mainTheme.getIcon("menu"))
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
def populateNovelList(self):
|
def populateNovelList(self):
|
||||||
"""Fill the novel combo box with a list of all novel folders.
|
"""Fill the novel combo box with a list of all novel folders.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ class GuiMainStatus(QStatusBar):
|
|||||||
# The Spell Checker Language
|
# The Spell Checker Language
|
||||||
self.langIcon = QLabel("")
|
self.langIcon = QLabel("")
|
||||||
self.langText = QLabel(self.tr("None"))
|
self.langText = QLabel(self.tr("None"))
|
||||||
self.langIcon.setPixmap(self.mainTheme.getPixmap("status_lang", (iPx, iPx)))
|
|
||||||
self.langIcon.setContentsMargins(0, 0, 0, 0)
|
self.langIcon.setContentsMargins(0, 0, 0, 0)
|
||||||
self.langText.setContentsMargins(0, 0, xM, 0)
|
self.langText.setContentsMargins(0, 0, xM, 0)
|
||||||
self.addPermanentWidget(self.langIcon)
|
self.addPermanentWidget(self.langIcon)
|
||||||
@@ -91,7 +90,6 @@ class GuiMainStatus(QStatusBar):
|
|||||||
# The Project and Session Stats
|
# The Project and Session Stats
|
||||||
self.statsIcon = QLabel()
|
self.statsIcon = QLabel()
|
||||||
self.statsText = QLabel("")
|
self.statsText = QLabel("")
|
||||||
self.statsIcon.setPixmap(self.mainTheme.getPixmap("status_stats", (iPx, iPx)))
|
|
||||||
self.statsIcon.setContentsMargins(0, 0, 0, 0)
|
self.statsIcon.setContentsMargins(0, 0, 0, 0)
|
||||||
self.statsText.setContentsMargins(0, 0, xM, 0)
|
self.statsText.setContentsMargins(0, 0, xM, 0)
|
||||||
self.addPermanentWidget(self.statsIcon)
|
self.addPermanentWidget(self.statsIcon)
|
||||||
@@ -99,12 +97,8 @@ class GuiMainStatus(QStatusBar):
|
|||||||
|
|
||||||
# The Session Clock
|
# The Session Clock
|
||||||
# Set the mimimum width so the label doesn't rescale every second
|
# Set the mimimum width so the label doesn't rescale every second
|
||||||
self.timePixmap = self.mainTheme.getPixmap("status_time", (iPx, iPx))
|
|
||||||
self.idlePixmap = self.mainTheme.getPixmap("status_idle", (iPx, iPx))
|
|
||||||
|
|
||||||
self.timeIcon = QLabel()
|
self.timeIcon = QLabel()
|
||||||
self.timeText = QLabel("")
|
self.timeText = QLabel("")
|
||||||
self.timeIcon.setPixmap(self.timePixmap)
|
|
||||||
self.timeText.setToolTip(self.tr("Session Time"))
|
self.timeText.setToolTip(self.tr("Session Time"))
|
||||||
self.timeText.setMinimumWidth(self.mainTheme.getTextWidth("00:00:00:"))
|
self.timeText.setMinimumWidth(self.mainTheme.getTextWidth("00:00:00:"))
|
||||||
self.timeIcon.setContentsMargins(0, 0, 0, 0)
|
self.timeIcon.setContentsMargins(0, 0, 0, 0)
|
||||||
@@ -117,6 +111,7 @@ class GuiMainStatus(QStatusBar):
|
|||||||
|
|
||||||
logger.debug("GuiMainStatus initialisation complete")
|
logger.debug("GuiMainStatus initialisation complete")
|
||||||
|
|
||||||
|
self.updateTheme()
|
||||||
self.clearStatus()
|
self.clearStatus()
|
||||||
|
|
||||||
return
|
return
|
||||||
@@ -132,6 +127,21 @@ class GuiMainStatus(QStatusBar):
|
|||||||
self.updateTime()
|
self.updateTime()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def updateTheme(self):
|
||||||
|
"""Update theme elements.
|
||||||
|
"""
|
||||||
|
iPx = self.mainTheme.baseIconSize
|
||||||
|
|
||||||
|
self.langIcon.setPixmap(self.mainTheme.getPixmap("status_lang", (iPx, iPx)))
|
||||||
|
self.statsIcon.setPixmap(self.mainTheme.getPixmap("status_stats", (iPx, iPx)))
|
||||||
|
|
||||||
|
self.timePixmap = self.mainTheme.getPixmap("status_time", (iPx, iPx))
|
||||||
|
self.idlePixmap = self.mainTheme.getPixmap("status_idle", (iPx, iPx))
|
||||||
|
|
||||||
|
self.timeIcon.setPixmap(self.timePixmap)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
# Setters
|
# Setters
|
||||||
##
|
##
|
||||||
|
|||||||
+22
-6
@@ -909,18 +909,34 @@ class GuiMain(QMainWindow):
|
|||||||
self.initMain()
|
self.initMain()
|
||||||
self.saveDocument()
|
self.saveDocument()
|
||||||
|
|
||||||
self.mainTheme.updateTheme()
|
if dlgConf.needsRestart:
|
||||||
self.viewsBar.updateTheme()
|
self.makeAlert(self.tr(
|
||||||
self.projView.updateTheme()
|
"Some changes will not be applied until novelWriter has been restarted."
|
||||||
self.novelView.updateTheme()
|
), nwAlert.INFO)
|
||||||
self.docEditor.updateTheme()
|
|
||||||
self.docViewer.updateTheme()
|
if dlgConf.refreshTree:
|
||||||
|
self.projView.populateTree()
|
||||||
|
|
||||||
|
if dlgConf.updateTheme:
|
||||||
|
self.mainTheme.updateTheme()
|
||||||
|
self.docEditor.updateTheme()
|
||||||
|
self.docViewer.updateTheme()
|
||||||
|
self.viewsBar.updateTheme()
|
||||||
|
self.projView.updateTheme()
|
||||||
|
self.novelView.updateTheme()
|
||||||
|
self.outlineView.updateTheme()
|
||||||
|
self.itemDetails.updateTheme()
|
||||||
|
self.mainStatus.updateTheme()
|
||||||
|
|
||||||
|
if dlgConf.updateSyntax:
|
||||||
|
pass
|
||||||
|
|
||||||
self.docEditor.initEditor()
|
self.docEditor.initEditor()
|
||||||
self.docViewer.initViewer()
|
self.docViewer.initViewer()
|
||||||
self.projView.initSettings()
|
self.projView.initSettings()
|
||||||
self.novelView.initSettings()
|
self.novelView.initSettings()
|
||||||
self.outlineView.initSettings()
|
self.outlineView.initSettings()
|
||||||
|
|
||||||
self._updateStatusWordCount()
|
self._updateStatusWordCount()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user