Make the dark theme an option

This commit is contained in:
Mathieu Comandon 2016-08-03 21:30:11 -07:00
parent 58b6528df3
commit 46d2dd4e71
2 changed files with 27 additions and 3 deletions

View file

@ -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('')

View file

@ -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>