From 1cd16fa05c05e64bf5ee89c92a02fe4323e1de2b Mon Sep 17 00:00:00 2001 From: fujiwarat Date: Thu, 24 May 2012 17:49:19 +0900 Subject: [PATCH] Disabled to show non-used GUI. --- setup/main.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++------ setup/setup.ui | 33 +++++++++++++++++-------------- 2 files changed, 72 insertions(+), 21 deletions(-) diff --git a/setup/main.py b/setup/main.py index 0e4c83d..fda20ea 100644 --- a/setup/main.py +++ b/setup/main.py @@ -77,22 +77,30 @@ class Setup(object): self.__init_ui() def __init_hotkey(self): + ''' default_values = { "trigger" : (N_("trigger"), ["Control+space"]), "enable_unconditional" : (N_("enable"), []), "disable_unconditional" : (N_("disable"), []) } + ''' + default_values = { + 'trigger_accel' : ('trigger', ['space']), + } values = dict(self.__config.get_values("general/hotkey")) - for name, (label, shortcuts) in default_values.items(): + for name, (id, shortcuts) in default_values.items(): shortcuts = values.get(name, shortcuts) - button = self.__builder.get_object("button_%s" % name) - entry = self.__builder.get_object("entry_%s" % name) + button = self.__builder.get_object("button_%s" % id) + entry = self.__builder.get_object("entry_%s" % id) entry.set_text("; ".join(shortcuts)) - entry.set_tooltip_text("\n".join(shortcuts)) - button.connect("clicked", self.__shortcut_button_clicked_cb, - label, "general/hotkey", name, entry) + text = '\n'.join(shortcuts) + text = "Use ';' separated values\n" + text + entry.set_tooltip_text(text) + button.connect("clicked", self.__shortcut_button_clicked_cb2, + name, "general/hotkey", id, entry) + button.set_tooltip_text("Save the left entry string") def __init_panel(self): values = dict(self.__config.get_values("panel")) @@ -445,6 +453,46 @@ class Setup(object): entry.set_text(text) entry.set_tooltip_text(text) + def __shortcut_button_clicked_cb2(self, button, name, section, id, entry): + text = entry.get_text() + if text: + text = text.replace(' ', '') + shortcuts = text.split(';') + else: + shortcuts = [] + orig_list =['space'] + variant = self.__config.get_value(section, name) + if variant != None: + orig_list = variant.dup_strv()[0] + orig_text = ';'.join(orig_list) + if text == orig_text: + return + invalid_shortcut = None + for shortcut in shortcuts: + (key, mods) = Gtk.accelerator_parse(shortcut) + if shortcut.find('<') >= 0: + if mods <= 0: + invalid_shortcut = shortcut + break + if not Gtk.accelerator_valid(key, mods): + invalid_shortcut = shortcut + break + # Alt_R could be supported as the trigger key. + else: + if key <= 0: + invalid_shortcut = shortcut + break + if invalid_shortcut != None: + dlg = Gtk.MessageDialog(type = Gtk.MessageType.ERROR, + buttons = Gtk.ButtonsType.CLOSE, + message_format = "Invalid key %s" % invalid_shortcut) + dlg.run() + dlg.destroy() + return + self.__config.set_value(section, name, GLib.Variant.new_strv(shortcuts)) + text = '\n'.join(shortcuts) + text = "Use ';' separated values\n" + text + entry.set_tooltip_text(text) def __item_started_column_toggled_cb(self, cell, path_str, model): diff --git a/setup/setup.ui b/setup/setup.ui index 2026172..c6f5f3a 100644 --- a/setup/setup.ui +++ b/setup/setup.ui @@ -106,7 +106,7 @@ 6 - True + True False The shortcut keys for switching to next input method in the list 0 @@ -121,7 +121,7 @@ - True + True False False The shortcut keys for switching to previous input method in the list @@ -144,7 +144,7 @@ True True - False + True @@ -154,7 +154,9 @@ - ... + + gtk-apply + True False True True @@ -172,11 +174,12 @@ 1 2 + GTK_FILL - True + True False 6 @@ -217,7 +220,7 @@ - True + True False 6 @@ -273,7 +276,7 @@ - True + True False 0 Enable: @@ -287,7 +290,7 @@ - True + True False 6 @@ -328,7 +331,7 @@ - True + True False 0 Disable: @@ -342,7 +345,7 @@ - True + True False 6 @@ -452,7 +455,7 @@ - True + True False Set the behavior of ibus how to show or hide language bar 0 @@ -481,7 +484,7 @@ - True + True False model_panel_show_mode @@ -521,7 +524,7 @@ Show icon on system tray False - True + True True False Show icon on system tray @@ -540,7 +543,7 @@ Show input method name on language bar False - True + True True False Show input method's name on language bar when check the checkbox @@ -1001,7 +1004,7 @@ You may use up/down buttons to change it.</i></small> - True + True False 0 none -- 1.7.10.4