[gnome-tweak-tool] keymouse: Move xkb panel to Additional Layout Options dialog
- From: Jeremy Bicha <jbicha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-tweak-tool] keymouse: Move xkb panel to Additional Layout Options dialog
- Date: Sat, 10 Jun 2017 13:05:03 +0000 (UTC)
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]