mirror of
https://github.com/lutris/lutris
synced 2024-10-06 07:50:16 +00:00
Make the dark theme an option
This commit is contained in:
parent
58b6528df3
commit
46d2dd4e71
|
@ -78,9 +78,11 @@ class LutrisWindow(Gtk.Application):
|
|||
self.sidebar_visible = \
|
||||
settings.read_setting('sidebar_visible') in ['true', None]
|
||||
|
||||
# Set GTK to prefer dark theme
|
||||
gtksettings = Gtk.Settings.get_default()
|
||||
gtksettings.set_property("gtk-application-prefer-dark-theme", True)
|
||||
# Set theme to dark if set in the settings
|
||||
dark_theme_menuitem = self.builder.get_object('dark_theme_menuitem')
|
||||
use_dark_theme = settings.read_setting('dark_theme') == 'true'
|
||||
dark_theme_menuitem.set_active(use_dark_theme)
|
||||
self.set_dark_theme(use_dark_theme)
|
||||
|
||||
# Load view
|
||||
logger.debug("Loading view")
|
||||
|
@ -224,6 +226,10 @@ class LutrisWindow(Gtk.Application):
|
|||
game_info)
|
||||
self.add_game_to_view(game_id)
|
||||
|
||||
def set_dark_theme(self, is_dark):
|
||||
gtksettings = Gtk.Settings.get_default()
|
||||
gtksettings.set_property("gtk-application-prefer-dark-theme", is_dark)
|
||||
|
||||
def init_game_store(self):
|
||||
logger.debug("Getting game list")
|
||||
game_list = get_game_list()
|
||||
|
@ -386,6 +392,13 @@ class LutrisWindow(Gtk.Application):
|
|||
# Callbacks
|
||||
# ---------
|
||||
|
||||
def on_dark_theme_toggled(self, widget):
|
||||
use_dark_theme = widget.get_active()
|
||||
setting_value = 'true' if use_dark_theme else 'false'
|
||||
logger.debug("Dark theme now %s", setting_value)
|
||||
settings.write_setting('dark_theme', setting_value)
|
||||
self.set_dark_theme(use_dark_theme)
|
||||
|
||||
def on_clear_search(self, widget, icon_pos, event):
|
||||
if icon_pos == Gtk.EntryIconPosition.SECONDARY:
|
||||
widget.set_text('')
|
||||
|
|
|
@ -238,6 +238,15 @@
|
|||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckMenuItem" id="dark_theme_menuitem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Use _dark theme</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="toggled" handler="on_dark_theme_toggled" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem2">
|
||||
<property name="visible">True</property>
|
||||
|
@ -473,6 +482,7 @@
|
|||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Grid view</property>
|
||||
<property name="image">view_grid_symbolic</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<signal name="toggled" handler="on_viewbtn_toggled" swapped="no"/>
|
||||
|
@ -490,6 +500,7 @@
|
|||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">List view</property>
|
||||
<property name="image">view_list_symbolic</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">switch_grid_view_btn</property>
|
||||
|
|
Loading…
Reference in a new issue