diff --git a/src/main/python/keyboard_widget.py b/src/main/python/keyboard_widget.py index 9e92ccb..9d21986 100644 --- a/src/main/python/keyboard_widget.py +++ b/src/main/python/keyboard_widget.py @@ -237,10 +237,10 @@ class KeyboardWidget(QWidget): # for currently selected keycap active_pen = qp.pen() - active_pen.setColor(QApplication.palette().color(QPalette.Button)) + active_pen.setColor(QApplication.palette().color(QPalette.HighlightedText)) active_brush = QBrush() - active_brush.setColor(QApplication.palette().color(QPalette.ButtonText)) + active_brush.setColor(QApplication.palette().color(QPalette.Highlight)) active_brush.setStyle(Qt.SolidPattern) mask_font = qp.font() diff --git a/src/main/python/main_window.py b/src/main/python/main_window.py index e26b647..cd84bca 100644 --- a/src/main/python/main_window.py +++ b/src/main/python/main_window.py @@ -149,13 +149,23 @@ class MainWindow(QMainWindow): theme_set_dark.triggered.connect(lambda: self.set_theme("dark")) theme_set_arc = QAction(tr("MenuTheme", "Arc"), self) - theme_set_arc.triggered.connect(lambda: self.set_theme("arc")) + theme_set_arc.triggered.connect(lambda: self.set_theme("arc")) + + theme_set_nord = QAction(tr("MenuTheme", "Nord"), self) + theme_set_nord.triggered.connect(lambda: self.set_theme("nord")) + + theme_set_olivia = QAction(tr("MenuTheme", "Olivia"), self) + theme_set_olivia.triggered.connect(lambda: self.set_theme("olivia")) + self.theme_menu = self.menuBar().addMenu(tr("Menu", "Theme")) self.theme_menu.addAction(theme_set_default) self.theme_menu.addAction(theme_set_light) self.theme_menu.addAction(theme_set_dark) self.theme_menu.addAction(theme_set_arc) + self.theme_menu.addAction(theme_set_nord) + self.theme_menu.addAction(theme_set_olivia) + def on_layout_load(self): dialog = QFileDialog() diff --git a/src/main/python/themes.py b/src/main/python/themes.py index 0dce972..385406d 100644 --- a/src/main/python/themes.py +++ b/src/main/python/themes.py @@ -45,6 +45,47 @@ arc_palette.setColor(QPalette.Disabled, QPalette.Text, QColor("#d3dae3")) arc_palette.setColor(QPalette.Disabled, QPalette.Light, QColor("#404552")) +nord_palette = QPalette() +nord_palette.setColor(QPalette.Window, QColor("#2e3440")) +nord_palette.setColor(QPalette.WindowText, QColor("#eceff4")) +nord_palette.setColor(QPalette.Base, QColor("#2e3440")) +nord_palette.setColor(QPalette.AlternateBase, QColor("#434c5e")) +nord_palette.setColor(QPalette.ToolTipBase, QColor("#4c566a")) +nord_palette.setColor(QPalette.ToolTipText, QColor("#eceff4")) +nord_palette.setColor(QPalette.Text, QColor("#eceff4")) +nord_palette.setColor(QPalette.Button, QColor("#2e3440")) +nord_palette.setColor(QPalette.ButtonText, QColor("#eceff4")) +nord_palette.setColor(QPalette.BrightText, QColor("#88c0d0")) +nord_palette.setColor(QPalette.Link, QColor("#88c0d0")) +nord_palette.setColor(QPalette.Highlight, QColor("#88c0d0")) +nord_palette.setColor(QPalette.HighlightedText, QColor("#eceff4")) +nord_palette.setColor(QPalette.Active, QPalette.Button, QColor("#2e3440")) +nord_palette.setColor(QPalette.Disabled, QPalette.ButtonText, QColor("#eceff4")) +nord_palette.setColor(QPalette.Disabled, QPalette.WindowText, QColor("#eceff4")) +nord_palette.setColor(QPalette.Disabled, QPalette.Text, QColor("#eceff4")) +nord_palette.setColor(QPalette.Disabled, QPalette.Light, QColor("#88c0d0")) + + +olivia_palette = QPalette() +olivia_palette.setColor(QPalette.Window, QColor("#181818")) +olivia_palette.setColor(QPalette.WindowText, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.Base, QColor("#181818")) +olivia_palette.setColor(QPalette.AlternateBase, QColor("#2c2c2c")) +olivia_palette.setColor(QPalette.ToolTipBase, QColor("#363636 ")) +olivia_palette.setColor(QPalette.ToolTipText, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.Text, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.Button, QColor("#181818")) +olivia_palette.setColor(QPalette.ButtonText, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.BrightText, QColor("#fabcad")) +olivia_palette.setColor(QPalette.Link, QColor("#fabcad")) +olivia_palette.setColor(QPalette.Highlight, QColor("#fabcad")) +olivia_palette.setColor(QPalette.HighlightedText, QColor("#2c2c2c")) +olivia_palette.setColor(QPalette.Active, QPalette.Button, QColor("#181818")) +olivia_palette.setColor(QPalette.Disabled, QPalette.ButtonText, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.Disabled, QPalette.WindowText, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.Disabled, QPalette.Text, QColor("#d9d9d9")) +olivia_palette.setColor(QPalette.Disabled, QPalette.Light, QColor("#fabcad")) + def set_theme(theme): if theme == "light": QApplication.setPalette(QApplication.style().standardPalette()) @@ -55,5 +96,11 @@ def set_theme(theme): elif theme == "arc": QApplication.setPalette(arc_palette) QApplication.setStyle("Fusion") + elif theme == "nord": + QApplication.setPalette(nord_palette) + QApplication.setStyle("Fusion") + elif theme == "olivia": + QApplication.setPalette(olivia_palette) + QApplication.setStyle("Fusion") # For default/system theme, do nothing # User will have to restart the application for it to be applied