Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.

Feat/switch state #792

Merged
merged 5 commits into from
Jun 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions data/ui/preferences_window.blp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ template GradiencePreferencesWindow : Adw.PreferencesWindow {
Adw.ActionRow jsdeliver_row {
title: _("Use an alternative server for downloading presets");
subtitle: _("JSDelivr will be used instead of direct preset fetching from GitHub");
activatable-widget: jsdeliver_switch;
Gtk.Switch jsdeliver_switch {
valign: center;
}
Expand Down
89 changes: 32 additions & 57 deletions gradience/frontend/views/preferences_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,32 +74,21 @@ def setup_reset_preset_group(self):
self.theming_page.add(self.reset_preset_group)

def setup_jsdeliver(self):
if self.app.use_jsdeliver:
self.jsdeliver_switch.set_state(True)
else:
self.jsdeliver_switch.set_state(False)

self.jsdeliver_switch.set_active(self.app.use_jsdeliver)
self.jsdeliver_switch.connect(
"state-set", self.on_jsdeliver_switch_toggled
"notify::active", self.on_jsdeliver_switch_toggled
)

def setup_theme_engines_group(self):
if "shell" in self.win.enabled_theme_engines:
self.gnome_shell_engine_switch.set_state(True)
else:
self.gnome_shell_engine_switch.set_state(False)

if "monet" in self.win.enabled_theme_engines:
self.monet_engine_switch.set_state(True)
else:
self.monet_engine_switch.set_state(False)
self.gnome_shell_engine_switch.set_active("shell" in self.win.enabled_theme_engines)
self.monet_engine_switch.set_active("monet" in self.win.enabled_theme_engines)

self.gnome_shell_engine_switch.connect(
"state-set", self.on_gnome_shell_engine_switch_toggled
"notify::active", self.on_gnome_shell_engine_switch_toggled
)

self.monet_engine_switch.connect(
"state-set", self.on_monet_engine_switch_toggled
"notify::active", self.on_monet_engine_switch_toggled
)

def setup_flatpak_group(self):
Expand All @@ -111,54 +100,48 @@ def setup_flatpak_group(self):
"user-flatpak-theming-gtk3"
)

self.gtk4_user_theming_switch.set_state(
self.gtk4_user_theming_switch.set_active(
user_flatpak_theming_gtk4
)

# self.gtk4_global_theming_switch.set_state(global_flatpak_theming_gtk4)
# self.gtk4_global_theming_switch.set_active(global_flatpak_theming_gtk4)

self.gtk3_user_theming_switch.set_state(
self.gtk3_user_theming_switch.set_active(
user_flatpak_theming_gtk3
)

# self.gtk3_global_theming_switch.set_state(global_flatpak_theming_gtk3)
# self.gtk3_global_theming_switch.set_active(global_flatpak_theming_gtk3)

self.gtk4_user_theming_switch.connect(
"state-set", self.on_gtk4_user_theming_switch_toggled
"notify::active", self.on_gtk4_user_theming_switch_toggled
)

self.gtk3_user_theming_switch.connect(
"state-set", self.on_gtk3_user_theming_switch_toggled
"notify::active", self.on_gtk3_user_theming_switch_toggled
)

def on_gtk4_user_theming_switch_toggled(self, *args):
state = self.gtk4_user_theming_switch.props.state

if not state:
def on_gtk4_user_theming_switch_toggled(self, widget, *args):
if widget.get_active():
create_gtk_user_override(self.settings, "gtk4", self)
else:
remove_gtk_user_override(self.settings, "gtk4", self)

logging.debug(
f"user-flatpak-theming-gtk4: {self.settings.get_boolean('user-flatpak-theming-gtk4')}"
)

def on_gtk3_user_theming_switch_toggled(self, *args):
state = self.gtk3_user_theming_switch.props.state
logging.debug(
f"user-flatpak-theming-gtk4: {self.settings.get_boolean('user-flatpak-theming-gtk4')}"
)

if not state:
def on_gtk3_user_theming_switch_toggled(self, widget, *args):
if widget.get_active():
create_gtk_user_override(self.settings, "gtk3", self)
else:
remove_gtk_user_override(self.settings, "gtk3", self)

logging.debug(
f"user-flatpak-theming-gtk3: {self.settings.get_boolean('user-flatpak-theming-gtk3')}"
)

def on_gtk4_global_theming_switch_toggled(self, *args):
state = self.gtk4_global_theming_switch.props.state
logging.debug(
f"user-flatpak-theming-gtk3: {self.settings.get_boolean('user-flatpak-theming-gtk3')}"
)

if not state:
def on_gtk4_global_theming_switch_toggled(self, widget, *args):
if widget.get_active():
create_gtk_global_override(self.settings, "gtk4", self)
else:
remove_gtk_global_override(self.settings, "gtk4", self)
Expand All @@ -167,10 +150,8 @@ def on_gtk4_global_theming_switch_toggled(self, *args):
f"global-flatpak-theming-gtk4: {self.settings.get_boolean('global-flatpak-theming-gtk4')}"
)

def on_gtk3_global_theming_switch_toggled(self, *args):
state = self.gtk3_global_theming_switch.props.state

if not state:
def on_gtk3_global_theming_switch_toggled(self, widget, *args):
if widget.get_active():
create_gtk_global_override(self.settings, "gtk3", self)
else:
remove_gtk_global_override(self.settings, "gtk3", self)
Expand All @@ -179,10 +160,8 @@ def on_gtk3_global_theming_switch_toggled(self, *args):
f"global-flatpak-theming-gtk3: {self.settings.get_boolean('global-flatpak-theming-gtk3')}"
)

def on_gnome_shell_engine_switch_toggled(self, *args):
state = self.gnome_shell_engine_switch.props.state

if not state:
def on_gnome_shell_engine_switch_toggled(self, widget, *args):
if widget.get_active():
self.win.enabled_theme_engines.add("shell")
else:
self.win.enabled_theme_engines.remove("shell")
Expand All @@ -196,10 +175,8 @@ def on_gnome_shell_engine_switch_toggled(self, *args):
f"enabled-theme-engines: {self.settings.get_value('enabled-theme-engines')}"
)

def on_monet_engine_switch_toggled(self, *args):
state = self.monet_engine_switch.props.state

if not state:
def on_monet_engine_switch_toggled(self, widget, *args):
if widget.get_active():
self.win.enabled_theme_engines.add("monet")
else:
self.win.enabled_theme_engines.remove("monet")
Expand All @@ -213,10 +190,8 @@ def on_monet_engine_switch_toggled(self, *args):
f"enabled-theme-engines: {self.settings.get_value('enabled-theme-engines')}"
)

def on_jsdeliver_switch_toggled(self, *args):
state = self.jsdeliver_switch.props.state

if not state:
def on_jsdeliver_switch_toggled(self, widget, *args):
if widget.get_active():
self.app.use_jsdeliver = True
else:
self.app.use_jsdeliver = False
Expand Down