From 1efd7d03306f108f9ecdc3324e80026d72d8f3d1 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Sat, 28 Oct 2023 16:05:18 +0900 Subject: [PATCH] =?UTF-8?q?[Refactor]=20ColorThemeManager:=20=E3=82=AB?= =?UTF-8?q?=E3=83=A9=E3=83=BC=E3=83=86=E3=83=BC=E3=83=9E=E3=81=94=E3=81=A8?= =?UTF-8?q?=E3=81=AB=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E5=88=86=E3=81=91?= =?UTF-8?q?=E3=80=82ImageFileManager=E5=BB=83=E6=AD=A2=E3=80=81ColorThemeM?= =?UTF-8?q?anager=E3=81=AB=E7=B5=B1=E5=90=88=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view.py | 5 +- vrct_gui/ui_managers/ColorThemeManager.py | 414 ++++----------------- vrct_gui/ui_managers/ImageFileManager.py | 59 --- vrct_gui/ui_managers/Themes/__init__.py | 2 + vrct_gui/ui_managers/Themes/_darkTheme.py | 279 ++++++++++++++ vrct_gui/ui_managers/Themes/_lightTheme.py | 43 +++ vrct_gui/ui_managers/__init__.py | 1 - 7 files changed, 402 insertions(+), 401 deletions(-) delete mode 100644 vrct_gui/ui_managers/ImageFileManager.py create mode 100644 vrct_gui/ui_managers/Themes/__init__.py create mode 100644 vrct_gui/ui_managers/Themes/_darkTheme.py create mode 100644 vrct_gui/ui_managers/Themes/_lightTheme.py diff --git a/view.py b/view.py index 5468c7a3..1565aefa 100644 --- a/view.py +++ b/view.py @@ -8,7 +8,7 @@ import i18n from languages import selectable_languages from customtkinter import StringVar, IntVar, BooleanVar, END as CTK_END, get_appearance_mode -from vrct_gui.ui_managers import ColorThemeManager, ImageFileManager, UiScalingManager +from vrct_gui.ui_managers import ColorThemeManager, UiScalingManager from vrct_gui import vrct_gui from utils import callFunctionIfCallable, generatePercentageStringsList, intToPercentageStringsFormatter @@ -37,10 +37,9 @@ class View(): theme = "Dark" all_ctm = ColorThemeManager(theme) all_uism = UiScalingManager(config.UI_SCALING) - image_file = ImageFileManager(theme) common_args = { - "image_file": image_file, + "image_file": all_ctm.image_file, "FONT_FAMILY": config.FONT_FAMILY, } diff --git a/vrct_gui/ui_managers/ColorThemeManager.py b/vrct_gui/ui_managers/ColorThemeManager.py index a54f0dee..36c3862a 100644 --- a/vrct_gui/ui_managers/ColorThemeManager.py +++ b/vrct_gui/ui_managers/ColorThemeManager.py @@ -1,369 +1,107 @@ -import pprint from types import SimpleNamespace +from .Themes import _darkTheme, _lightTheme + class ColorThemeManager(): def __init__(self, theme): + self.base_color = SimpleNamespace( - # old one. But leave it here for now. - # self.PRIMARY_100_COLOR = "#c4eac1" - # self.PRIMARY_200_COLOR = "#9cdd98" - # self.PRIMARY_300_COLOR = "#70d16c" - # self.PRIMARY_400_COLOR = "#49c649" - # self.PRIMARY_500_COLOR = "#0abb1d" - # self.PRIMARY_600_COLOR = "#00ac11" - # self.PRIMARY_650_COLOR = "#00A309" - # self.PRIMARY_700_COLOR = "#009900" - # self.PRIMARY_800_COLOR = "#008800" - # self.PRIMARY_900_COLOR = "#006900" + PRIMARY_100_COLOR = "#b7ded8", + PRIMARY_200_COLOR = "#8acac0", + PRIMARY_300_COLOR = "#61b4a7", + PRIMARY_400_COLOR = "#48a495", + PRIMARY_450_COLOR = "#429c8c", + PRIMARY_500_COLOR = "#3b9483", + PRIMARY_600_COLOR = "#368777", + PRIMARY_650_COLOR = "#347f6f", + PRIMARY_700_COLOR = "#317767", + PRIMARY_750_COLOR = "#2F6F60", + PRIMARY_800_COLOR = "#2c6759", + PRIMARY_900_COLOR = "#214b3f", - # new one. - self.PRIMARY_100_COLOR = "#b7ded8" - self.PRIMARY_200_COLOR = "#8acac0" - self.PRIMARY_300_COLOR = "#61b4a7" - self.PRIMARY_400_COLOR = "#48a495" - self.PRIMARY_450_COLOR = "#429c8c" - self.PRIMARY_500_COLOR = "#3b9483" - self.PRIMARY_600_COLOR = "#368777" - self.PRIMARY_650_COLOR = "#347f6f" - self.PRIMARY_700_COLOR = "#317767" - self.PRIMARY_750_COLOR = "#2F6F60" - self.PRIMARY_800_COLOR = "#2c6759" - self.PRIMARY_900_COLOR = "#214b3f" + DARK_100_COLOR = "#f5f7fb", + DARK_200_COLOR = "#f1f2f6", + DARK_300_COLOR = "#e9eaee", + DARK_350_COLOR = "#d8d9dd", + DARK_400_COLOR = "#c7c8cc", + DARK_450_COLOR = "#b8b9bd", + DARK_500_COLOR = "#a9aaae", + DARK_600_COLOR = "#7f8084", + DARK_650_COLOR = "#75767a", + DARK_700_COLOR = "#6a6c6f", + DARK_725_COLOR = "#636467", + DARK_750_COLOR = "#5b5c5f", + DARK_775_COLOR = "#535457", + DARK_800_COLOR = "#4b4c4f", + DARK_825_COLOR = "#434447", + DARK_850_COLOR = "#3a3b3e", + DARK_863_COLOR = "#36373a", + DARK_875_COLOR = "#323336", + DARK_888_COLOR = "#2e2f32", + DARK_900_COLOR = "#292a2d", + DARK_925_COLOR = "#242528", + DARK_950_COLOR = "#1f2022", + DARK_975_COLOR = "#1a1b1d", + DARK_1000_COLOR = "#151517", # THE DARKEST COLOR - self.DARK_100_COLOR = "#f5f7fb" - self.DARK_200_COLOR = "#f1f2f6" - self.DARK_300_COLOR = "#e9eaee" - self.DARK_350_COLOR = "#d8d9dd" - self.DARK_400_COLOR = "#c7c8cc" - self.DARK_450_COLOR = "#b8b9bd" - self.DARK_500_COLOR = "#a9aaae" - self.DARK_600_COLOR = "#7f8084" - self.DARK_650_COLOR = "#75767a" - self.DARK_700_COLOR = "#6a6c6f" - self.DARK_725_COLOR = "#636467" - self.DARK_750_COLOR = "#5b5c5f" - self.DARK_775_COLOR = "#535457" - self.DARK_800_COLOR = "#4b4c4f" - self.DARK_825_COLOR = "#434447" - self.DARK_850_COLOR = "#3a3b3e" - self.DARK_863_COLOR = "#36373a" - self.DARK_875_COLOR = "#323336" - self.DARK_888_COLOR = "#2e2f32" - self.DARK_900_COLOR = "#292a2d" - self.DARK_925_COLOR = "#242528" - self.DARK_950_COLOR = "#1f2022" - self.DARK_975_COLOR = "#1a1b1d" - self.DARK_1000_COLOR = "#151517" # THE DARKEST COLOR + LIGHT_100_COLOR = "#f2f2f2", # THE LIGHTEST COLOR, + LIGHT_200_COLOR = "#e9e9e9", + LIGHT_250_COLOR = "#e1e1e1", + LIGHT_300_COLOR = "#d9d9d9", + LIGHT_325_COLOR = "#d0d0d0", + LIGHT_350_COLOR = "#c7c7c7", + LIGHT_375_COLOR = "#bebebe", + LIGHT_400_COLOR = "#b5b5b5", + LIGHT_450_COLOR = "#a5a5a5", + LIGHT_500_COLOR = "#959595", + LIGHT_600_COLOR = "#6d6d6d", + LIGHT_700_COLOR = "#5a5a5a", + LIGHT_750_COLOR = "#515151", + LIGHT_800_COLOR = "#3b3b3b", + LIGHT_850_COLOR = "#323232", + LIGHT_875_COLOR = "#2b2b2b", + LIGHT_900_COLOR = "#1b1b1b", + # LIGHT_925_COLOR = "#121212", + # LIGHT_950_COLOR = "#0c0c0c", + # LIGHT_975_COLOR = "#070707", + LIGHT_1000_COLOR = "#010101", + ) - self.LIGHT_100_COLOR = "#f2f2f2" # THE LIGHTEST COLOR - self.LIGHT_200_COLOR = "#e9e9e9" - self.LIGHT_250_COLOR = "#e1e1e1" - self.LIGHT_300_COLOR = "#d9d9d9" - self.LIGHT_325_COLOR = "#d0d0d0" - self.LIGHT_350_COLOR = "#c7c7c7" - self.LIGHT_375_COLOR = "#bebebe" - self.LIGHT_400_COLOR = "#b5b5b5" - self.LIGHT_450_COLOR = "#a5a5a5" - self.LIGHT_500_COLOR = "#959595" - self.LIGHT_600_COLOR = "#6d6d6d" - self.LIGHT_700_COLOR = "#5a5a5a" - self.LIGHT_750_COLOR = "#515151" - self.LIGHT_800_COLOR = "#3b3b3b" - self.LIGHT_850_COLOR = "#323232" - self.LIGHT_875_COLOR = "#2b2b2b" - self.LIGHT_900_COLOR = "#1b1b1b" - # self.LIGHT_925_COLOR = "#121212" - # self.LIGHT_950_COLOR = "#0c0c0c" - # self.LIGHT_975_COLOR = "#070707" - self.LIGHT_1000_COLOR = "#010101" + # It's actually meaningless to separate it from __init__. but it's just set to use the dark theme by default, so I did it just in case to change the default theme. + selected_color_theme = _darkTheme(self.base_color) + for each_key in selected_color_theme.__dict__.keys(): + setattr(self, each_key, getattr(selected_color_theme, each_key)) - self._createDarkModeColor__Default() if theme == "Dark": pass elif theme == "Light": - color = self._createLightModeColor() - for c in color.__dict__.keys(): - s = getattr(self, c) - s_dict = s.__dict__ - data = getattr(color, c) - data_dict = data.__dict__ + selected_color_theme = _lightTheme(self.base_color) + self._colorThemeDictsMerger(selected_color_theme) - self.mergeNestedDicts(s_dict, data_dict) - def _createDarkModeColor__Default(self): - self.main = SimpleNamespace( - # Common - BASIC_TEXT_COLOR = self.LIGHT_100_COLOR, - LABELS_TEXT_COLOR = self.LIGHT_100_COLOR, - # Main - MAIN_BG_COLOR = self.DARK_888_COLOR, + def _colorThemeDictsMerger(self, selected_color_theme): + # Each section(main, selectable_language_window, config_window...) marge to default theme. + for selected_theme_section_key in selected_color_theme.__dict__.keys(): + # Get same section data by section key from default theme. + default_theme_target_section_data = getattr(self, selected_theme_section_key) - TEXTBOX_BG_COLOR = self.DARK_900_COLOR, - TEXTBOX_TEXT_COLOR = self.LIGHT_100_COLOR, - TEXTBOX_TEXT_SUB_COLOR = self.DARK_450_COLOR, - TEXTBOX_SYSTEM_TAG_TEXT_COLOR = self.PRIMARY_300_COLOR, - TEXTBOX_SENT_TAG_TEXT_COLOR = "#6197b4", - TEXTBOX_RECEIVED_TAG_TEXT_COLOR = "#a861b4", - TEXTBOX_ERROR_TAG_TEXT_COLOR = "#c27583", - TEXTBOX_TIMESTAMP_TEXT_COLOR = self.DARK_600_COLOR, + selected_theme_section_data = getattr(selected_color_theme, selected_theme_section_key) + self._mergeNestedDicts(default_theme_target_section_data.__dict__, selected_theme_section_data.__dict__) - TEXTBOX_TAB_BG_PASSIVE_COLOR = self.DARK_850_COLOR, - TEXTBOX_TAB_BG_ACTIVE_COLOR = self.DARK_900_COLOR, - TEXTBOX_TAB_BG_HOVERED_COLOR = self.DARK_800_COLOR, - TEXTBOX_TAB_BG_CLICKED_COLOR = self.DARK_925_COLOR, - TEXTBOX_TAB_TEXT_ACTIVE_COLOR = self.LIGHT_100_COLOR, - TEXTBOX_TAB_TEXT_PASSIVE_COLOR = self.DARK_500_COLOR, - TEXTBOX_ENTRY_TEXT_COLOR = self.DARK_300_COLOR, - TEXTBOX_ENTRY_TEXT_DISABLED_COLOR = self.DARK_500_COLOR, - TEXTBOX_ENTRY_BG_COLOR = self.DARK_875_COLOR, - TEXTBOX_ENTRY_BORDER_COLOR = self.DARK_750_COLOR, - TEXTBOX_ENTRY_PLACEHOLDER_COLOR = self.DARK_500_COLOR, - TEXTBOX_ENTRY_PLACEHOLDER_DISABLED_COLOR = self.DARK_700_COLOR, - - # Sidebar - SIDEBAR_BG_COLOR = self.DARK_850_COLOR, - - # Sidebar Features - SF__BG_COLOR = self.DARK_825_COLOR, - SF__HOVERED_BG_COLOR = self.DARK_800_COLOR, - SF__CLICKED_BG_COLOR = self.DARK_875_COLOR, - SF__TEXT_DISABLED_COLOR = self.DARK_500_COLOR, - - SF__SWITCH_BOX_BG_COLOR = self.DARK_775_COLOR, - SF__SWITCH_BOX_HOVERED_BG_COLOR = self.DARK_725_COLOR, - SF__SWITCH_BOX_CLICKED_BG_COLOR = self.DARK_825_COLOR, - SF__SWITCH_BOX_ACTIVE_BG_COLOR = self.PRIMARY_500_COLOR, - SF__SWITCH_BOX_ACTIVE_HOVERED_BG_COLOR = self.PRIMARY_400_COLOR, - SF__SWITCH_BOX_ACTIVE_CLICKED_BG_COLOR = self.PRIMARY_700_COLOR, - SF__SWITCH_BOX_DISABLE_BG_COLOR = self.PRIMARY_800_COLOR, - - SF__SWITCH_BOX_BUTTON_COLOR = self.DARK_400_COLOR, - # It's not working because It overrode internally. - SF__SWITCH_BOX_BUTTON_HOVERED_COLOR = self.DARK_350_COLOR, - - SF__SELECTED_MARK_ACTIVE_BG_COLOR = self.PRIMARY_500_COLOR, - SF__SELECTED_MARK_ACTIVE_HOVERED_BG_COLOR = self.PRIMARY_400_COLOR, - SF__SELECTED_MARK_ACTIVE_CLICKED_BG_COLOR = self.PRIMARY_700_COLOR, - SF__SELECTED_MARK_DISABLE_BG_COLOR = self.PRIMARY_800_COLOR, - - - # Sidebar Languages Settings - SLS__TITLE_TEXT_COLOR = self.DARK_400_COLOR, - - SLS__BG_COLOR = self.DARK_800_COLOR, - - SLS__PRESETS_TAB_BG_HOVERED_COLOR = self.DARK_825_COLOR, - SLS__PRESETS_TAB_BG_CLICKED_COLOR = self.DARK_875_COLOR, - SLS__PRESETS_TAB_BG_PASSIVE_COLOR = self.DARK_850_COLOR, - SLS__PRESETS_TAB_BG_ACTIVE_COLOR = self.DARK_800_COLOR, - SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR_PASSIVE = self.DARK_600_COLOR, - SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR = self.LIGHT_100_COLOR, - - SLS__BOX_BG_COLOR = self.DARK_825_COLOR, - SLS__BOX_SECTION_TITLE_TEXT_COLOR = self.DARK_400_COLOR, - SLS__BOX_ARROWS_TEXT_COLOR = self.DARK_500_COLOR, - - SLS__OPTIONMENU_BG_COLOR = self.DARK_888_COLOR, - SLS__OPTIONMENU_HOVERED_BG_COLOR = self.DARK_875_COLOR, - SLS__OPTIONMENU_CLICKED_BG_COLOR = self.DARK_900_COLOR, - - - CONFIG_BUTTON_BG_COLOR = self.DARK_850_COLOR, - CONFIG_BUTTON_HOVERED_BG_COLOR = self.DARK_800_COLOR, - CONFIG_BUTTON_CLICKED_BG_COLOR = self.DARK_875_COLOR, - - MINIMIZE_SIDEBAR_BUTTON_BG_COLOR = self.DARK_850_COLOR, - MINIMIZE_SIDEBAR_BUTTON_HOVERED_BG_COLOR = self.DARK_800_COLOR, - MINIMIZE_SIDEBAR_BUTTON_CLICKED_BG_COLOR = self.DARK_900_COLOR, - - - - TOP_BAR_BUTTON_BG_COLOR = self.DARK_888_COLOR, - TOP_BAR_BUTTON_HOVERED_BG_COLOR = self.DARK_850_COLOR, - TOP_BAR_BUTTON_CLICKED_BG_COLOR = self.DARK_900_COLOR, - - UPDATE_AVAILABLE_BUTTON_BG_COLOR = self.DARK_888_COLOR, - UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR = self.DARK_850_COLOR, - UPDATE_AVAILABLE_BUTTON_CLICKED_BG_COLOR = self.DARK_900_COLOR, - UPDATE_AVAILABLE_BUTTON_TEXT_COLOR = self.PRIMARY_300_COLOR, - - HELP_AND_INFO_BUTTON_BG_COLOR = self.DARK_888_COLOR, - HELP_AND_INFO_BUTTON_HOVERED_BG_COLOR = self.DARK_850_COLOR, - HELP_AND_INFO_BUTTON_CLICKED_BG_COLOR = self.DARK_900_COLOR, - ) - - - self.selectable_language_window = SimpleNamespace( - # Selectable Language Window - BASIC_TEXT_COLOR = self.LIGHT_100_COLOR, - - MAIN_BG_COLOR = self.DARK_875_COLOR, - - GO_BACK_BUTTON_BG_COLOR = self.DARK_800_COLOR, - GO_BACK_BUTTON_BG_HOVERED_COLOR = self.DARK_750_COLOR, - GO_BACK_BUTTON_BG_CLICKED_COLOR = self.DARK_875_COLOR, - - TOP_BG_COLOR = self.DARK_850_COLOR, - TITLE_TEXT_COLOR = self.DARK_400_COLOR, - LANGUAGE_BUTTON_BG_COLOR = self.DARK_875_COLOR, - LANGUAGE_BUTTON_BG_HOVERED_COLOR = self.DARK_825_COLOR, - LANGUAGE_BUTTON_BG_CLICKED_COLOR = self.DARK_888_COLOR, - ) - - - - # Modal Window (Main Window) - self.main_window_cover = SimpleNamespace( - TEXT_COLOR = self.LIGHT_100_COLOR, - ) - - - self.confirmation_modal = SimpleNamespace( - MESSAGE_TEXT_COLOR = self.LIGHT_100_COLOR, - FAKE_BORDER_COLOR = self.DARK_600_COLOR, - BG_COLOR = self.DARK_800_COLOR, - CONFIRMATION_BUTTONS_TEXT_COLOR = self.LIGHT_100_COLOR, - - ACCEPT_BUTTON_BG_COLOR = self.PRIMARY_600_COLOR, - ACCEPT_BUTTON_HOVERED_BG_COLOR = self.PRIMARY_450_COLOR, - ACCEPT_BUTTON_CLICKED_BG_COLOR = self.PRIMARY_750_COLOR, - DENY_BUTTON_BG_COLOR = self.DARK_750_COLOR, - DENY_BUTTON_HOVERED_BG_COLOR = self.DARK_700_COLOR, - DENY_BUTTON_CLICKED_BG_COLOR = self.DARK_825_COLOR, - ) - - - self.config_window = SimpleNamespace( - # Common - BASIC_TEXT_COLOR = self.LIGHT_100_COLOR, - LABELS_TEXT_COLOR = self.LIGHT_100_COLOR, - LABELS_DESC_TEXT_COLOR = self.DARK_500_COLOR, - - LABELS_TEXT_DISABLED_COLOR = self.DARK_600_COLOR, - - - # Top bar - TOP_BAR_BG_COLOR = self.DARK_850_COLOR, - - # Restart Button - RESTART_BUTTON_BG_COLOR = self.PRIMARY_600_COLOR, - RESTART_BUTTON_HOVERED_BG_COLOR = self.PRIMARY_500_COLOR, - RESTART_BUTTON_CLICKED_BG_COLOR = self.PRIMARY_700_COLOR, - - - # Compact Mode - COMPACT_MODE_SWITCH_BOX_BG_COLOR = self.DARK_775_COLOR, - COMPACT_MODE_SWITCH_BOX_ACTIVE_BG_COLOR = self.PRIMARY_500_COLOR, - COMPACT_MODE_SWITCH_BOX_BUTTON_COLOR = self.DARK_350_COLOR, - COMPACT_MODE_SWITCH_BOX_BUTTON_HOVERED_COLOR = self.DARK_300_COLOR, - - # Main - MAIN_BG_COLOR = self.DARK_950_COLOR, - - # This is for fake border color - SB__WRAPPER_BG_COLOR = self.DARK_750_COLOR, - - SB__BG_COLOR = self.DARK_888_COLOR, - - SB__OPTIONMENU_BG_COLOR = self.DARK_925_COLOR, - SB__OPTIONMENU_HOVERED_BG_COLOR = self.DARK_850_COLOR, - SB__OPTIONMENU_CLICKED_BG_COLOR = self.DARK_950_COLOR, - SB__DROPDOWN_MENU_WINDOW_BG_COLOR = self.DARK_950_COLOR, - SB__DROPDOWN_MENU_WINDOW_BORDER_COLOR = self.DARK_600_COLOR, - SB__DROPDOWN_MENU_BG_COLOR = self.DARK_875_COLOR, - SB__DROPDOWN_MENU_HOVERED_BG_COLOR = self.DARK_800_COLOR, - SB__DROPDOWN_MENU_CLICKED_BG_COLOR = self.DARK_900_COLOR, - - SB__SLIDER_BG_COLOR = self.DARK_700_COLOR, - SB__SLIDER_PROGRESS_BG_COLOR = self.DARK_500_COLOR, - SB__SLIDER_BUTTON_COLOR = self.DARK_700_COLOR, - SB__SLIDER_BUTTON_HOVERED_COLOR = self.DARK_600_COLOR, - SB__SLIDER_TOOLTIP_BG_COLOR = self.DARK_850_COLOR, - SB__SLIDER_TOOLTIP_TEXT_COLOR = self.DARK_200_COLOR, - - SB__SWITCH_BOX_BG_COLOR = self.DARK_800_COLOR, - SB__SWITCH_BOX_ACTIVE_BG_COLOR = self.PRIMARY_500_COLOR, - SB__SWITCH_BOX_BUTTON_COLOR = self.DARK_400_COLOR, - SB__SWITCH_BOX_BUTTON_HOVERED_COLOR = self.DARK_350_COLOR, - - SB__CHECKBOX_BORDER_COLOR = self.DARK_600_COLOR, - SB__CHECKBOX_HOVER_COLOR = self.DARK_800_COLOR, - SB__CHECKBOX_CHECKED_COLOR = self.PRIMARY_700_COLOR, - SB__CHECKBOX_CHECKMARK_COLOR = self.LIGHT_100_COLOR, - - SB__ENTRY_TEXT_COLOR = self.DARK_300_COLOR, - SB__ENTRY_BG_COLOR = self.DARK_863_COLOR, - SB__ENTRY_BORDER_COLOR = self.DARK_775_COLOR, - - - SB__PROGRESSBAR_X_SLIDER__PROGRESSBAR_BG_COLOR = self.DARK_800_COLOR, - SB__PROGRESSBAR_X_SLIDER__PROGRESSBAR_PROGRESS_BG_COLOR = self.PRIMARY_750_COLOR, - SB__PROGRESSBAR_X_SLIDER__PROGRESSBAR_PROGRESS_EXCEED_THRESHOLD_BG_COLOR = self.PRIMARY_400_COLOR, - - SB__PROGRESSBAR_X_SLIDER__SLIDER_BUTTON_COLOR = self.PRIMARY_600_COLOR, - SB__PROGRESSBAR_X_SLIDER__SLIDER_BUTTON_HOVERED_COLOR = self.PRIMARY_400_COLOR, - - SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_COLOR = self.DARK_800_COLOR, - SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_HOVERED_COLOR = self.DARK_700_COLOR, - SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_CLICKED_COLOR = self.DARK_900_COLOR, - SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_DISABLED_COLOR = self.DARK_850_COLOR, - - SB__PROGRESSBAR_X_SLIDER__ACTIVE_BUTTON_COLOR = self.PRIMARY_600_COLOR, - SB__PROGRESSBAR_X_SLIDER__ACTIVE_BUTTON_HOVERED_COLOR = self.PRIMARY_500_COLOR, - SB__PROGRESSBAR_X_SLIDER__ACTIVE_BUTTON_CLICKED_COLOR = self.PRIMARY_800_COLOR, - - - # Side menu - SIDE_MENU_BG_COLOR = self.DARK_950_COLOR, - - SIDE_MENU_LABELS_BG_COLOR = self.DARK_950_COLOR, - SIDE_MENU_LABELS_BG_FOR_FAKE_BORDER_COLOR = self.DARK_950_COLOR, - SIDE_MENU_LABELS_HOVERED_BG_COLOR = self.DARK_850_COLOR, - SIDE_MENU_LABELS_CLICKED_BG_COLOR = self.PRIMARY_750_COLOR, - SIDE_MENU_LABELS_SELECTED_TEXT_COLOR = self.PRIMARY_200_COLOR, - - SIDE_MENU_SELECTED_MARK_ACTIVE_BG_COLOR = self.PRIMARY_500_COLOR, - - NOW_VERSION_TEXT_COLOR = self.DARK_300_COLOR, - - # Error Message Window for Config Window - # The color code [#bb4448] is a mixture of [#a9555c] and [#cc3333] (for a redder shade). - SB__ERROR_MESSAGE_BG_COLOR = "#bb4448", - SB__ERROR_MESSAGE_TEXT_COLOR = "#fff", - ) - - def _createLightModeColor(self): - color = SimpleNamespace( - main = SimpleNamespace( - # Main - MAIN_BG_COLOR = self.DARK_200_COLOR, - ), - - config_window = SimpleNamespace( - # Common - BASIC_TEXT_COLOR = self.LIGHT_100_COLOR, - ), - ) - - return color - - - - @staticmethod - def mergeNestedDicts(d1, d2): + def _mergeNestedDicts(self, d1, d2): for key, value in d2.items(): if key in d1 and isinstance(d1[key], dict) and isinstance(value, dict): - mergeNestedDicts(d1[key], value) + self._mergeNestedDicts(d1[key], value) else: d1[key] = value diff --git a/vrct_gui/ui_managers/ImageFileManager.py b/vrct_gui/ui_managers/ImageFileManager.py deleted file mode 100644 index 2de42c52..00000000 --- a/vrct_gui/ui_managers/ImageFileManager.py +++ /dev/null @@ -1,59 +0,0 @@ -from ..ui_utils import getImageFileFromUiUtils - - -class ImageFileManager(): - def __init__(self, theme:str ="Dark"): - self._createDarkModeImages() - if theme == "Dark": - pass - elif theme == "Light": - self._createLightModeImages() - - - def _createDarkModeImages(self): - self.VRCT_LOGO = getImageFileFromUiUtils("vrct_logo_for_dark_mode.png") - self.VRCT_LOGO_MARK = getImageFileFromUiUtils("vrct_logo_mark_white.png") - - self.TRANSLATION_ICON = getImageFileFromUiUtils("translation_icon_white.png") - self.TRANSLATION_ICON_DISABLED = getImageFileFromUiUtils("translation_icon_disabled.png") - self.MIC_ICON = getImageFileFromUiUtils("mic_icon_white.png") - self.MIC_ICON_DISABLED = getImageFileFromUiUtils("mic_icon_disabled.png") - self.HEADPHONES_ICON = getImageFileFromUiUtils("headphones_icon_white.png") - self.HEADPHONES_ICON_DISABLED = getImageFileFromUiUtils("headphones_icon_disabled.png") - self.FOREGROUND_ICON = getImageFileFromUiUtils("foreground_icon_white.png") - self.FOREGROUND_ICON_DISABLED = getImageFileFromUiUtils("foreground_icon_disabled.png") - - self.NARROW_ARROW_DOWN = getImageFileFromUiUtils("narrow_arrow_down.png") - - self.CONFIGURATION_ICON = getImageFileFromUiUtils("configuration_icon_white.png") - self.CONFIGURATION_ICON_DISABLED = getImageFileFromUiUtils("configuration_icon_disabled.png") - - self.ARROW_LEFT = getImageFileFromUiUtils("arrow_left_white.png") - self.ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png") - - self.REFRESH_ICON = getImageFileFromUiUtils("refresh_icon.png") - self.HELP_ICON = getImageFileFromUiUtils("help_icon_white.png") - - def _createLightModeImages(self): - self.VRCT_LOGO = getImageFileFromUiUtils("vrct_logo_for_light_mode.png") - self.VRCT_LOGO_MARK = getImageFileFromUiUtils("vrct_logo_mark_black.png") - - - self.TRANSLATION_ICON = getImageFileFromUiUtils("translation_icon_white.png") - self.TRANSLATION_ICON_DISABLED = getImageFileFromUiUtils("translation_icon_disabled.png") - self.MIC_ICON = getImageFileFromUiUtils("mic_icon_white.png") - self.MIC_ICON_DISABLED = getImageFileFromUiUtils("mic_icon_disabled.png") - self.HEADPHONES_ICON = getImageFileFromUiUtils("headphones_icon_white.png") - self.HEADPHONES_ICON_DISABLED = getImageFileFromUiUtils("headphones_icon_disabled.png") - self.FOREGROUND_ICON = getImageFileFromUiUtils("foreground_icon_white.png") - self.FOREGROUND_ICON_DISABLED = getImageFileFromUiUtils("foreground_icon_disabled.png") - - self.NARROW_ARROW_DOWN = getImageFileFromUiUtils("narrow_arrow_down.png") - - self.CONFIGURATION_ICON = getImageFileFromUiUtils("configuration_icon_white.png") - self.CONFIGURATION_ICON_DISABLED = getImageFileFromUiUtils("configuration_icon_disabled.png") - - self.ARROW_LEFT = getImageFileFromUiUtils("arrow_left_white.png") - self.ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png") - - self.HELP_ICON = getImageFileFromUiUtils("help_icon_white.png") \ No newline at end of file diff --git a/vrct_gui/ui_managers/Themes/__init__.py b/vrct_gui/ui_managers/Themes/__init__.py new file mode 100644 index 00000000..fb61579d --- /dev/null +++ b/vrct_gui/ui_managers/Themes/__init__.py @@ -0,0 +1,2 @@ +from ._darkTheme import _darkTheme +from ._lightTheme import _lightTheme \ No newline at end of file diff --git a/vrct_gui/ui_managers/Themes/_darkTheme.py b/vrct_gui/ui_managers/Themes/_darkTheme.py new file mode 100644 index 00000000..cd8ec6a7 --- /dev/null +++ b/vrct_gui/ui_managers/Themes/_darkTheme.py @@ -0,0 +1,279 @@ +from types import SimpleNamespace +from ...ui_utils import getImageFileFromUiUtils + +def _darkTheme(base_color): + theme_settings = SimpleNamespace( + main = SimpleNamespace( + # Common + BASIC_TEXT_COLOR = base_color.LIGHT_100_COLOR, + LABELS_TEXT_COLOR = base_color.LIGHT_100_COLOR, + + # Main + MAIN_BG_COLOR = base_color.DARK_888_COLOR, + + + TEXTBOX_BG_COLOR = base_color.DARK_900_COLOR, + TEXTBOX_TEXT_COLOR = base_color.LIGHT_100_COLOR, + TEXTBOX_TEXT_SUB_COLOR = base_color.DARK_450_COLOR, + TEXTBOX_SYSTEM_TAG_TEXT_COLOR = base_color.PRIMARY_300_COLOR, + TEXTBOX_SENT_TAG_TEXT_COLOR = "#6197b4", + TEXTBOX_RECEIVED_TAG_TEXT_COLOR = "#a861b4", + TEXTBOX_ERROR_TAG_TEXT_COLOR = "#c27583", + TEXTBOX_TIMESTAMP_TEXT_COLOR = base_color.DARK_600_COLOR, + + TEXTBOX_TAB_BG_PASSIVE_COLOR = base_color.DARK_850_COLOR, + TEXTBOX_TAB_BG_ACTIVE_COLOR = base_color.DARK_900_COLOR, + TEXTBOX_TAB_BG_HOVERED_COLOR = base_color.DARK_800_COLOR, + TEXTBOX_TAB_BG_CLICKED_COLOR = base_color.DARK_925_COLOR, + TEXTBOX_TAB_TEXT_ACTIVE_COLOR = base_color.LIGHT_100_COLOR, + TEXTBOX_TAB_TEXT_PASSIVE_COLOR = base_color.DARK_500_COLOR, + + TEXTBOX_ENTRY_TEXT_COLOR = base_color.DARK_300_COLOR, + TEXTBOX_ENTRY_TEXT_DISABLED_COLOR = base_color.DARK_500_COLOR, + TEXTBOX_ENTRY_BG_COLOR = base_color.DARK_875_COLOR, + TEXTBOX_ENTRY_BORDER_COLOR = base_color.DARK_750_COLOR, + TEXTBOX_ENTRY_PLACEHOLDER_COLOR = base_color.DARK_500_COLOR, + TEXTBOX_ENTRY_PLACEHOLDER_DISABLED_COLOR = base_color.DARK_700_COLOR, + + + # Sidebar + SIDEBAR_BG_COLOR = base_color.DARK_850_COLOR, + + # Sidebar Features + SF__BG_COLOR = base_color.DARK_825_COLOR, + SF__HOVERED_BG_COLOR = base_color.DARK_800_COLOR, + SF__CLICKED_BG_COLOR = base_color.DARK_875_COLOR, + SF__TEXT_DISABLED_COLOR = base_color.DARK_500_COLOR, + + SF__SWITCH_BOX_BG_COLOR = base_color.DARK_775_COLOR, + SF__SWITCH_BOX_HOVERED_BG_COLOR = base_color.DARK_725_COLOR, + SF__SWITCH_BOX_CLICKED_BG_COLOR = base_color.DARK_825_COLOR, + SF__SWITCH_BOX_ACTIVE_BG_COLOR = base_color.PRIMARY_500_COLOR, + SF__SWITCH_BOX_ACTIVE_HOVERED_BG_COLOR = base_color.PRIMARY_400_COLOR, + SF__SWITCH_BOX_ACTIVE_CLICKED_BG_COLOR = base_color.PRIMARY_700_COLOR, + SF__SWITCH_BOX_DISABLE_BG_COLOR = base_color.PRIMARY_800_COLOR, + + SF__SWITCH_BOX_BUTTON_COLOR = base_color.DARK_400_COLOR, + # It's not working because It overrode internally. + SF__SWITCH_BOX_BUTTON_HOVERED_COLOR = base_color.DARK_350_COLOR, + + SF__SELECTED_MARK_ACTIVE_BG_COLOR = base_color.PRIMARY_500_COLOR, + SF__SELECTED_MARK_ACTIVE_HOVERED_BG_COLOR = base_color.PRIMARY_400_COLOR, + SF__SELECTED_MARK_ACTIVE_CLICKED_BG_COLOR = base_color.PRIMARY_700_COLOR, + SF__SELECTED_MARK_DISABLE_BG_COLOR = base_color.PRIMARY_800_COLOR, + + + # Sidebar Languages Settings + SLS__TITLE_TEXT_COLOR = base_color.DARK_400_COLOR, + + SLS__BG_COLOR = base_color.DARK_800_COLOR, + + SLS__PRESETS_TAB_BG_HOVERED_COLOR = base_color.DARK_825_COLOR, + SLS__PRESETS_TAB_BG_CLICKED_COLOR = base_color.DARK_875_COLOR, + SLS__PRESETS_TAB_BG_PASSIVE_COLOR = base_color.DARK_850_COLOR, + SLS__PRESETS_TAB_BG_ACTIVE_COLOR = base_color.DARK_800_COLOR, + SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR_PASSIVE = base_color.DARK_600_COLOR, + SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR = base_color.LIGHT_100_COLOR, + + SLS__BOX_BG_COLOR = base_color.DARK_825_COLOR, + SLS__BOX_SECTION_TITLE_TEXT_COLOR = base_color.DARK_400_COLOR, + SLS__BOX_ARROWS_TEXT_COLOR = base_color.DARK_500_COLOR, + + SLS__OPTIONMENU_BG_COLOR = base_color.DARK_888_COLOR, + SLS__OPTIONMENU_HOVERED_BG_COLOR = base_color.DARK_875_COLOR, + SLS__OPTIONMENU_CLICKED_BG_COLOR = base_color.DARK_900_COLOR, + + + CONFIG_BUTTON_BG_COLOR = base_color.DARK_850_COLOR, + CONFIG_BUTTON_HOVERED_BG_COLOR = base_color.DARK_800_COLOR, + CONFIG_BUTTON_CLICKED_BG_COLOR = base_color.DARK_875_COLOR, + + MINIMIZE_SIDEBAR_BUTTON_BG_COLOR = base_color.DARK_850_COLOR, + MINIMIZE_SIDEBAR_BUTTON_HOVERED_BG_COLOR = base_color.DARK_800_COLOR, + MINIMIZE_SIDEBAR_BUTTON_CLICKED_BG_COLOR = base_color.DARK_900_COLOR, + + + + TOP_BAR_BUTTON_BG_COLOR = base_color.DARK_888_COLOR, + TOP_BAR_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR, + TOP_BAR_BUTTON_CLICKED_BG_COLOR = base_color.DARK_900_COLOR, + + UPDATE_AVAILABLE_BUTTON_BG_COLOR = base_color.DARK_888_COLOR, + UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR, + UPDATE_AVAILABLE_BUTTON_CLICKED_BG_COLOR = base_color.DARK_900_COLOR, + UPDATE_AVAILABLE_BUTTON_TEXT_COLOR = base_color.PRIMARY_300_COLOR, + + HELP_AND_INFO_BUTTON_BG_COLOR = base_color.DARK_888_COLOR, + HELP_AND_INFO_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR, + HELP_AND_INFO_BUTTON_CLICKED_BG_COLOR = base_color.DARK_900_COLOR, + ), + + + selectable_language_window = SimpleNamespace( + # Selectable Language Window + BASIC_TEXT_COLOR = base_color.LIGHT_100_COLOR, + + MAIN_BG_COLOR = base_color.DARK_875_COLOR, + + GO_BACK_BUTTON_BG_COLOR = base_color.DARK_800_COLOR, + GO_BACK_BUTTON_BG_HOVERED_COLOR = base_color.DARK_750_COLOR, + GO_BACK_BUTTON_BG_CLICKED_COLOR = base_color.DARK_875_COLOR, + + TOP_BG_COLOR = base_color.DARK_850_COLOR, + TITLE_TEXT_COLOR = base_color.DARK_400_COLOR, + LANGUAGE_BUTTON_BG_COLOR = base_color.DARK_875_COLOR, + LANGUAGE_BUTTON_BG_HOVERED_COLOR = base_color.DARK_825_COLOR, + LANGUAGE_BUTTON_BG_CLICKED_COLOR = base_color.DARK_888_COLOR, + ), + + + + # Modal Window (Main Window) + main_window_cover = SimpleNamespace( + TEXT_COLOR = base_color.LIGHT_100_COLOR, + ), + + + confirmation_modal = SimpleNamespace( + MESSAGE_TEXT_COLOR = base_color.LIGHT_100_COLOR, + FAKE_BORDER_COLOR = base_color.DARK_600_COLOR, + BG_COLOR = base_color.DARK_800_COLOR, + CONFIRMATION_BUTTONS_TEXT_COLOR = base_color.LIGHT_100_COLOR, + + ACCEPT_BUTTON_BG_COLOR = base_color.PRIMARY_600_COLOR, + ACCEPT_BUTTON_HOVERED_BG_COLOR = base_color.PRIMARY_450_COLOR, + ACCEPT_BUTTON_CLICKED_BG_COLOR = base_color.PRIMARY_750_COLOR, + DENY_BUTTON_BG_COLOR = base_color.DARK_750_COLOR, + DENY_BUTTON_HOVERED_BG_COLOR = base_color.DARK_700_COLOR, + DENY_BUTTON_CLICKED_BG_COLOR = base_color.DARK_825_COLOR, + ), + + + config_window = SimpleNamespace( + # Common + BASIC_TEXT_COLOR = base_color.LIGHT_100_COLOR, + LABELS_TEXT_COLOR = base_color.LIGHT_100_COLOR, + LABELS_DESC_TEXT_COLOR = base_color.DARK_500_COLOR, + + LABELS_TEXT_DISABLED_COLOR = base_color.DARK_600_COLOR, + + + # Top bar + TOP_BAR_BG_COLOR = base_color.DARK_850_COLOR, + + # Restart Button + RESTART_BUTTON_BG_COLOR = base_color.PRIMARY_600_COLOR, + RESTART_BUTTON_HOVERED_BG_COLOR = base_color.PRIMARY_500_COLOR, + RESTART_BUTTON_CLICKED_BG_COLOR = base_color.PRIMARY_700_COLOR, + + + # Compact Mode + COMPACT_MODE_SWITCH_BOX_BG_COLOR = base_color.DARK_775_COLOR, + COMPACT_MODE_SWITCH_BOX_ACTIVE_BG_COLOR = base_color.PRIMARY_500_COLOR, + COMPACT_MODE_SWITCH_BOX_BUTTON_COLOR = base_color.DARK_350_COLOR, + COMPACT_MODE_SWITCH_BOX_BUTTON_HOVERED_COLOR = base_color.DARK_300_COLOR, + + # Main + MAIN_BG_COLOR = base_color.DARK_950_COLOR, + + # This is for fake border color + SB__WRAPPER_BG_COLOR = base_color.DARK_750_COLOR, + + SB__BG_COLOR = base_color.DARK_888_COLOR, + + SB__OPTIONMENU_BG_COLOR = base_color.DARK_925_COLOR, + SB__OPTIONMENU_HOVERED_BG_COLOR = base_color.DARK_850_COLOR, + SB__OPTIONMENU_CLICKED_BG_COLOR = base_color.DARK_950_COLOR, + SB__DROPDOWN_MENU_WINDOW_BG_COLOR = base_color.DARK_950_COLOR, + SB__DROPDOWN_MENU_WINDOW_BORDER_COLOR = base_color.DARK_600_COLOR, + SB__DROPDOWN_MENU_BG_COLOR = base_color.DARK_875_COLOR, + SB__DROPDOWN_MENU_HOVERED_BG_COLOR = base_color.DARK_800_COLOR, + SB__DROPDOWN_MENU_CLICKED_BG_COLOR = base_color.DARK_900_COLOR, + + SB__SLIDER_BG_COLOR = base_color.DARK_700_COLOR, + SB__SLIDER_PROGRESS_BG_COLOR = base_color.DARK_500_COLOR, + SB__SLIDER_BUTTON_COLOR = base_color.DARK_700_COLOR, + SB__SLIDER_BUTTON_HOVERED_COLOR = base_color.DARK_600_COLOR, + SB__SLIDER_TOOLTIP_BG_COLOR = base_color.DARK_850_COLOR, + SB__SLIDER_TOOLTIP_TEXT_COLOR = base_color.DARK_200_COLOR, + + SB__SWITCH_BOX_BG_COLOR = base_color.DARK_800_COLOR, + SB__SWITCH_BOX_ACTIVE_BG_COLOR = base_color.PRIMARY_500_COLOR, + SB__SWITCH_BOX_BUTTON_COLOR = base_color.DARK_400_COLOR, + SB__SWITCH_BOX_BUTTON_HOVERED_COLOR = base_color.DARK_350_COLOR, + + SB__CHECKBOX_BORDER_COLOR = base_color.DARK_600_COLOR, + SB__CHECKBOX_HOVER_COLOR = base_color.DARK_800_COLOR, + SB__CHECKBOX_CHECKED_COLOR = base_color.PRIMARY_700_COLOR, + SB__CHECKBOX_CHECKMARK_COLOR = base_color.LIGHT_100_COLOR, + + SB__ENTRY_TEXT_COLOR = base_color.DARK_300_COLOR, + SB__ENTRY_BG_COLOR = base_color.DARK_863_COLOR, + SB__ENTRY_BORDER_COLOR = base_color.DARK_775_COLOR, + + + SB__PROGRESSBAR_X_SLIDER__PROGRESSBAR_BG_COLOR = base_color.DARK_800_COLOR, + SB__PROGRESSBAR_X_SLIDER__PROGRESSBAR_PROGRESS_BG_COLOR = base_color.PRIMARY_750_COLOR, + SB__PROGRESSBAR_X_SLIDER__PROGRESSBAR_PROGRESS_EXCEED_THRESHOLD_BG_COLOR = base_color.PRIMARY_400_COLOR, + + SB__PROGRESSBAR_X_SLIDER__SLIDER_BUTTON_COLOR = base_color.PRIMARY_600_COLOR, + SB__PROGRESSBAR_X_SLIDER__SLIDER_BUTTON_HOVERED_COLOR = base_color.PRIMARY_400_COLOR, + + SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_COLOR = base_color.DARK_800_COLOR, + SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_HOVERED_COLOR = base_color.DARK_700_COLOR, + SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_CLICKED_COLOR = base_color.DARK_900_COLOR, + SB__PROGRESSBAR_X_SLIDER__PASSIVE_BUTTON_DISABLED_COLOR = base_color.DARK_850_COLOR, + + SB__PROGRESSBAR_X_SLIDER__ACTIVE_BUTTON_COLOR = base_color.PRIMARY_600_COLOR, + SB__PROGRESSBAR_X_SLIDER__ACTIVE_BUTTON_HOVERED_COLOR = base_color.PRIMARY_500_COLOR, + SB__PROGRESSBAR_X_SLIDER__ACTIVE_BUTTON_CLICKED_COLOR = base_color.PRIMARY_800_COLOR, + + + # Side menu + SIDE_MENU_BG_COLOR = base_color.DARK_950_COLOR, + + SIDE_MENU_LABELS_BG_COLOR = base_color.DARK_950_COLOR, + SIDE_MENU_LABELS_BG_FOR_FAKE_BORDER_COLOR = base_color.DARK_950_COLOR, + SIDE_MENU_LABELS_HOVERED_BG_COLOR = base_color.DARK_850_COLOR, + SIDE_MENU_LABELS_CLICKED_BG_COLOR = base_color.PRIMARY_750_COLOR, + SIDE_MENU_LABELS_SELECTED_TEXT_COLOR = base_color.PRIMARY_200_COLOR, + + SIDE_MENU_SELECTED_MARK_ACTIVE_BG_COLOR = base_color.PRIMARY_500_COLOR, + + NOW_VERSION_TEXT_COLOR = base_color.DARK_300_COLOR, + + # Error Message Window for Config Window + # The color code [#bb4448] is a mixture of [#a9555c] and [#cc3333] (for a redder shade). + SB__ERROR_MESSAGE_BG_COLOR = "#bb4448", + SB__ERROR_MESSAGE_TEXT_COLOR = "#fff", + ), + + + + image_file = SimpleNamespace( + VRCT_LOGO = getImageFileFromUiUtils("vrct_logo_for_dark_mode.png"), + VRCT_LOGO_MARK = getImageFileFromUiUtils("vrct_logo_mark_white.png"), + + TRANSLATION_ICON = getImageFileFromUiUtils("translation_icon_white.png"), + TRANSLATION_ICON_DISABLED = getImageFileFromUiUtils("translation_icon_disabled.png"), + MIC_ICON = getImageFileFromUiUtils("mic_icon_white.png"), + MIC_ICON_DISABLED = getImageFileFromUiUtils("mic_icon_disabled.png"), + HEADPHONES_ICON = getImageFileFromUiUtils("headphones_icon_white.png"), + HEADPHONES_ICON_DISABLED = getImageFileFromUiUtils("headphones_icon_disabled.png"), + FOREGROUND_ICON = getImageFileFromUiUtils("foreground_icon_white.png"), + FOREGROUND_ICON_DISABLED = getImageFileFromUiUtils("foreground_icon_disabled.png"), + + NARROW_ARROW_DOWN = getImageFileFromUiUtils("narrow_arrow_down.png"), + + CONFIGURATION_ICON = getImageFileFromUiUtils("configuration_icon_white.png"), + CONFIGURATION_ICON_DISABLED = getImageFileFromUiUtils("configuration_icon_disabled.png"), + + ARROW_LEFT = getImageFileFromUiUtils("arrow_left_white.png"), + ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png"), + + REFRESH_ICON = getImageFileFromUiUtils("refresh_icon.png"), + HELP_ICON = getImageFileFromUiUtils("help_icon_white.png"), + ), + ) + + return theme_settings \ No newline at end of file diff --git a/vrct_gui/ui_managers/Themes/_lightTheme.py b/vrct_gui/ui_managers/Themes/_lightTheme.py new file mode 100644 index 00000000..835a3210 --- /dev/null +++ b/vrct_gui/ui_managers/Themes/_lightTheme.py @@ -0,0 +1,43 @@ +from types import SimpleNamespace +from ...ui_utils import getImageFileFromUiUtils + +def _lightTheme(base_color): + theme_settings = SimpleNamespace( + main = SimpleNamespace( + # Main + MAIN_BG_COLOR = base_color.DARK_200_COLOR, + ), + + config_window = SimpleNamespace( + # Common + BASIC_TEXT_COLOR = base_color.LIGHT_100_COLOR, + ), + + + image_file = SimpleNamespace( + VRCT_LOGO = getImageFileFromUiUtils("vrct_logo_for_light_mode.png"), + VRCT_LOGO_MARK = getImageFileFromUiUtils("vrct_logo_mark_black.png"), + + + TRANSLATION_ICON = getImageFileFromUiUtils("translation_icon_white.png"), + TRANSLATION_ICON_DISABLED = getImageFileFromUiUtils("translation_icon_disabled.png"), + MIC_ICON = getImageFileFromUiUtils("mic_icon_white.png"), + MIC_ICON_DISABLED = getImageFileFromUiUtils("mic_icon_disabled.png"), + HEADPHONES_ICON = getImageFileFromUiUtils("headphones_icon_white.png"), + HEADPHONES_ICON_DISABLED = getImageFileFromUiUtils("headphones_icon_disabled.png"), + FOREGROUND_ICON = getImageFileFromUiUtils("foreground_icon_white.png"), + FOREGROUND_ICON_DISABLED = getImageFileFromUiUtils("foreground_icon_disabled.png"), + + NARROW_ARROW_DOWN = getImageFileFromUiUtils("narrow_arrow_down.png"), + + CONFIGURATION_ICON = getImageFileFromUiUtils("configuration_icon_white.png"), + CONFIGURATION_ICON_DISABLED = getImageFileFromUiUtils("configuration_icon_disabled.png"), + + ARROW_LEFT = getImageFileFromUiUtils("arrow_left_white.png"), + ARROW_LEFT_DISABLED = getImageFileFromUiUtils("arrow_left_disabled.png"), + + HELP_ICON = getImageFileFromUiUtils("help_icon_white.png"), + ), + ) + + return theme_settings \ No newline at end of file diff --git a/vrct_gui/ui_managers/__init__.py b/vrct_gui/ui_managers/__init__.py index f0dd1edb..6304cb9e 100644 --- a/vrct_gui/ui_managers/__init__.py +++ b/vrct_gui/ui_managers/__init__.py @@ -1,3 +1,2 @@ from .ColorThemeManager import ColorThemeManager -from .ImageFileManager import ImageFileManager from .UiScalingManager import UiScalingManager \ No newline at end of file