[gnome-tweak-tool] keymouse: Move xkb panel to Additional Layout Options dialog



commit 510862153d0a6c6561ba57f169b7f8cf2b247220
Author: Jeremy Bicha <jbicha ubuntu com>
Date:   Fri Jun 9 23:52:48 2017 -0400

    keymouse: Move xkb panel to Additional Layout Options dialog
    
    https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/tweak-tool/tweak-tool-wires.png
    
    https://bugzilla.gnome.org/show_bug.cgi?id=783176

 gtweak/tweaks/tweak_group_keymouse.py |   43 +++++++++++++++++++++++++++++++-
 gtweak/tweaks/tweak_group_xkb.py      |   15 +++--------
 2 files changed, 45 insertions(+), 13 deletions(-)
---
diff --git a/gtweak/tweaks/tweak_group_keymouse.py b/gtweak/tweaks/tweak_group_keymouse.py
index ffd4067..4c87f7d 100644
--- a/gtweak/tweaks/tweak_group_keymouse.py
+++ b/gtweak/tweaks/tweak_group_keymouse.py
@@ -17,10 +17,12 @@
 
 import os.path
 
-from gi.repository import GLib, Gtk
+from gi.repository import GLib, Gtk, Gdk
 
 import gtweak
-from gtweak.widgets import ListBoxTweakGroup, GSettingsComboTweak, GSettingsSwitchTweak, 
GSettingsSwitchTweakValue, _GSettingsTweak, GetterSetterSwitchTweak, Title, GSettingsComboEnumTweak, 
build_label_beside_widget
+from gtweak.widgets import ListBoxTweakGroup, GSettingsSwitchTweak, GSettingsSwitchTweakValue, 
_GSettingsTweak, Title, GSettingsComboEnumTweak, build_label_beside_widget, Tweak
+
+from gtweak.tweaks.tweak_group_xkb import TypingTweakGroup
 
 class KeyThemeSwitcher(GSettingsSwitchTweakValue):
     def __init__(self, **options):
@@ -68,8 +70,44 @@ class OverviewShortcutTweak(Gtk.Box, _GSettingsTweak):
     def on_button_toggled(self, button, key):
         self.settings[self.key_name] = key
 
+
+class AdditionalLayoutButton(Gtk.Box, Tweak):
+
+    def __init__(self):
+        Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=18,
+                               valign=Gtk.Align.CENTER)
+        Tweak.__init__(self, 'extensions', '')
+
+        btn = Gtk.Button(label=_("Additional Layout Options"),halign=Gtk.Align.END)
+        btn.connect("clicked", self._on_browse_clicked)
+        self.add(btn)
+
+        self.show_all()
+
+    def _on_browse_clicked(self, btn):
+        dialog = Gtk.Window()
+        dialog.set_title(_("Additional Layout Options"))
+        dialog.set_type_hint(Gdk.WindowTypeHint.DIALOG)
+        dialog.set_transient_for(self.main_window)
+        dialog.set_modal(True)
+
+        dialog.set_size_request(500,500)
+        geometry = Gdk.Geometry()
+        geometry.max_height = 500
+        dialog.set_geometry_hints(None, geometry, Gdk.WindowHints.MAX_SIZE)
+
+        scrolled_window = Gtk.ScrolledWindow()
+        scrolled_window.set_border_width(10)
+        box = TypingTweakGroup()
+        scrolled_window.add_with_viewport(box)
+
+        dialog.add(scrolled_window)
+        dialog.show_all()
+
+
 TWEAK_GROUPS = [
     ListBoxTweakGroup(_("Keyboard & Mouse"),
+        Title(_("Keyboard"), ""),
         GSettingsSwitchTweak(_("Show Extended Input Sources"),
                               "org.gnome.desktop.input-sources",
                               "show-all-sources",
@@ -77,6 +115,7 @@ TWEAK_GROUPS = [
                               logout_required=True,),
         KeyThemeSwitcher(),
         OverviewShortcutTweak(),
+        AdditionalLayoutButton(),
         Title(_("Mouse"), ""),
         GSettingsComboEnumTweak(_("Acceleration Profile"),
                                 "org.gnome.desktop.peripherals.mouse",
diff --git a/gtweak/tweaks/tweak_group_xkb.py b/gtweak/tweaks/tweak_group_xkb.py
index 51bcdef..3386466 100644
--- a/gtweak/tweaks/tweak_group_xkb.py
+++ b/gtweak/tweaks/tweak_group_xkb.py
@@ -21,14 +21,11 @@ import logging
 
 import gi
 gi.require_version("GnomeDesktop", "3.0")
-from gi.repository import Pango, Gtk, GnomeDesktop
-from gtweak.gshellwrapper import GnomeShellFactory
+from gi.repository import Gtk, GnomeDesktop
 from gtweak.tweakmodel import Tweak, TweakGroup
-from gtweak.widgets import GSettingsSwitchTweak, build_label_beside_widget, GSettingsComboEnumTweak, 
GSettingsComboTweak, build_horizontal_sizegroup, ListBoxTweakGroup, Title
-from gtweak.gsettings import GSettingsSetting, GSettingsMissingError, GSettingsFakeSetting
+from gtweak.widgets import GSettingsSwitchTweak, build_label_beside_widget, GSettingsComboEnumTweak, 
GSettingsComboTweak, build_horizontal_sizegroup, ListBoxTweakGroup
+from gtweak.gsettings import GSettingsSetting, GSettingsMissingError
 
-_shell = GnomeShellFactory().get_shell()
-_shell_loaded = _shell is not None
 
 class _XkbOption(Gtk.Expander, Tweak):
     def __init__(self, group_id, parent_settings, xkb_info, **options):
@@ -150,7 +147,7 @@ class _XkbOption(Gtk.Expander, Tweak):
         elif active and not w._val in self._values and w._val:
             self._parent_settings.setting_add_to_list(TypingTweakGroup.XKB_GSETTINGS_NAME, w._val)
 
-class TypingTweakGroup(Gtk.Box, TweakGroup):
+class TypingTweakGroup(Gtk.Box):
 
     XKB_GSETTINGS_SCHEMA = "org.gnome.desktop.input-sources"
     XKB_GSETTINGS_NAME = "xkb-options"
@@ -184,7 +181,3 @@ class TypingTweakGroup(Gtk.Box, TweakGroup):
     def _on_changed(self, *args):
         for obj in self._option_objects:
             obj.reload()
-
-TWEAK_GROUPS = [
-    TypingTweakGroup(),
-]


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