diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py index 753168c1..d4b923ad 100644 --- a/novelwriter/gui/doceditor.py +++ b/novelwriter/gui/doceditor.py @@ -42,9 +42,9 @@ from PyQt6.QtCore import ( pyqtSlot ) from PyQt6.QtGui import ( - QAction, QColor, QCursor, QDragEnterEvent, QDragMoveEvent, QDropEvent, - QKeyEvent, QKeySequence, QMouseEvent, QPalette, QPixmap, QResizeEvent, - QShortcut, QTextBlock, QTextCursor, QTextDocument, QTextOption + QAction, QCursor, QDragEnterEvent, QDragMoveEvent, QDropEvent, QKeyEvent, + QKeySequence, QMouseEvent, QPalette, QPixmap, QResizeEvent, QShortcut, + QTextBlock, QTextCursor, QTextDocument, QTextOption ) from PyQt6.QtWidgets import ( QApplication, QFrame, QGridLayout, QHBoxLayout, QLabel, QLineEdit, QMenu, @@ -2662,10 +2662,11 @@ class GuiDocEditSearch(QFrame): def updateTheme(self) -> None: """Update theme elements.""" - qPalette = QApplication.palette() - self.setPalette(qPalette) - self.searchBox.setPalette(qPalette) - self.replaceBox.setPalette(qPalette) + palette = QApplication.palette() + + self.setPalette(palette) + self.searchBox.setPalette(palette) + self.replaceBox.setPalette(palette) # Set icons self.toggleCase.setIcon(SHARED.theme.getIcon("search_case")) @@ -2683,21 +2684,9 @@ class GuiDocEditSearch(QFrame): self.showReplace.setStyleSheet("QToolButton {border: none; background: transparent;}") # Construct Box Colours - qPalette = self.searchBox.palette() - baseCol = qPalette.base().color() - rCol = baseCol.redF() + 0.1 - gCol = baseCol.greenF() - 0.1 - bCol = baseCol.blueF() - 0.1 - - mCol = max(rCol, gCol, bCol, 1.0) - errCol = QColor() - errCol.setRedF(rCol/mCol) - errCol.setGreenF(gCol/mCol) - errCol.setBlueF(bCol/mCol) - self.rxCol = { - True: baseCol, - False: errCol + True: palette.base().color(), + False: SHARED.theme.errorText.darker(200), } return diff --git a/novelwriter/gui/sidebar.py b/novelwriter/gui/sidebar.py index be08f86a..8e6d16f6 100644 --- a/novelwriter/gui/sidebar.py +++ b/novelwriter/gui/sidebar.py @@ -28,7 +28,6 @@ import logging from typing import TYPE_CHECKING from PyQt6.QtCore import QEvent, QPoint, QSize, pyqtSignal -from PyQt6.QtGui import QPalette from PyQt6.QtWidgets import QMenu, QVBoxLayout, QWidget from novelwriter import SHARED @@ -125,10 +124,6 @@ class GuiSideBar(QWidget): def updateTheme(self) -> None: """Initialise GUI elements that depend on specific settings.""" - qPalette = self.palette() - qPalette.setBrush(QPalette.ColorRole.Window, qPalette.base()) - self.setPalette(qPalette) - buttonStyle = SHARED.theme.getStyleSheet(STYLES_BIG_TOOLBUTTON) self.tbProject.setStyleSheet(buttonStyle) diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 4dfcbf07..7d15c722 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -1046,8 +1046,6 @@ class GuiMain(QMainWindow): SHARED.project.tree.refreshAllItems() if theme: - # We are doing this manually instead of connecting to - # paletteChanged since the processing order matters SHARED.theme.loadTheme() self.setPalette(QApplication.palette()) self.docEditor.updateTheme()