[gnome-tweak-tool] Convert tweak_interface to new TweakGroup API



commit da0e7deee688ef5f95e15b832e7cf8ebe21f1282
Author: Alex Muñoz <alexmudoz gmail com>
Date:   Tue Aug 6 02:54:28 2013 -0400

    Convert tweak_interface to new TweakGroup API

 ...tweak_interface.py => tweak_group_interface.py} |   47 +++++++++++++++-----
 1 files changed, 35 insertions(+), 12 deletions(-)
---
diff --git a/gtweak/tweaks/tweak_interface.py b/gtweak/tweaks/tweak_group_interface.py
similarity index 76%
rename from gtweak/tweaks/tweak_interface.py
rename to gtweak/tweaks/tweak_group_interface.py
index ee55647..5121a77 100644
--- a/gtweak/tweaks/tweak_interface.py
+++ b/gtweak/tweaks/tweak_group_interface.py
@@ -22,8 +22,8 @@ from gi.repository import GLib
 
 import gtweak
 from gtweak.utils import walk_directories, make_combo_list_with_default
-from gtweak.tweakmodel import TWEAK_GROUP_APPEARANCE, TWEAK_GROUP_KEYBOARD, TWEAK_SORT_FIRST
-from gtweak.widgets import GSettingsSwitchTweak, GSettingsComboTweak, DarkThemeSwitcher, Title
+from gtweak.tweakmodel import TWEAK_GROUP_APPEARANCE, TWEAK_GROUP_KEYBOARD
+from gtweak.widgets import ListBoxTweakGroup, GSettingsSwitchTweak, GSettingsComboTweak, DarkThemeSwitcher, 
Title
 
 class GtkThemeSwitcher(GSettingsComboTweak):
     def __init__(self, **options):
@@ -101,13 +101,36 @@ class KeyThemeSwitcher(GSettingsComboTweak):
                     os.path.isfile(os.path.join(d, "gtk-2.0-key", "gtkrc")))
         return valid
 
-TWEAKS = (
-    #GSettingsSwitchTweak("Buttons Icons","org.gnome.desktop.interface", "buttons-have-icons", 
group_name=TWEAK_GROUP_APPEARANCE),
-       #GSettingsSwitchTweak("Menu Icons","org.gnome.desktop.interface", "menus-have-icons", 
group_name=TWEAK_GROUP_APPEARANCE),
-    DarkThemeSwitcher(group_name=TWEAK_GROUP_APPEARANCE),
-       Title("Theme", "", group_name=TWEAK_GROUP_APPEARANCE),     
-    KeyThemeSwitcher(group_name=TWEAK_GROUP_KEYBOARD),
-    GtkThemeSwitcher(group_name=TWEAK_GROUP_APPEARANCE),
-       IconThemeSwitcher(group_name=TWEAK_GROUP_APPEARANCE),
-    CursorThemeSwitcher(group_name=TWEAK_GROUP_APPEARANCE),
-)
+class WindowThemeSwitcher(GSettingsComboTweak):
+    def __init__(self, **options):
+        GSettingsComboTweak.__init__(self,
+                       "Window",
+            "org.gnome.desktop.wm.preferences",
+            "theme",
+            make_combo_list_with_default(self._get_valid_themes(), "Adwaita"),
+            **options)
+
+    def _get_valid_themes(self):
+        dirs = ( os.path.join(gtweak.DATA_DIR, "themes"),
+                 os.path.join(GLib.get_user_data_dir(), "themes"))
+        valid = walk_directories(dirs, lambda d:
+                    os.path.exists(os.path.join(d, "metacity-1")))
+        return valid
+
+
+
+TWEAK_GROUPS = [
+    ListBoxTweakGroup(TWEAK_GROUP_APPEARANCE,
+        #GSettingsSwitchTweak("Buttons Icons","org.gnome.desktop.interface", "buttons-have-icons"),
+        #GSettingsSwitchTweak("Menu Icons","org.gnome.desktop.interface", "menus-have-icons"),
+        DarkThemeSwitcher(),
+        Title("Theme", ""),
+        WindowThemeSwitcher(),
+        GtkThemeSwitcher(),
+       IconThemeSwitcher(),
+        CursorThemeSwitcher(),
+    ),
+    ListBoxTweakGroup(TWEAK_GROUP_KEYBOARD,
+        KeyThemeSwitcher(),
+    ),
+]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]