tdawson / rpms / ibus

Forked from rpms/ibus 3 years ago
Clone
Blob Blame History Raw
From 1cd16fa05c05e64bf5ee89c92a02fe4323e1de2b Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
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', ['<Control>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 =['<Control>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 @@
                                 <property name="row_spacing">6</property>
                                 <child>
                                   <object class="GtkLabel" id="label8">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="tooltip_text" translatable="yes">The shortcut keys for switching to next input method in the list</property>
                                     <property name="xalign">0</property>
@@ -121,7 +121,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label9">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="sensitive">False</property>
                                     <property name="can_focus">False</property>
                                     <property name="tooltip_text" translatable="yes">The shortcut keys for switching to previous input method in the list</property>
@@ -144,7 +144,7 @@
                                       <object class="GtkEntry" id="entry_trigger">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="editable">False</property>
+                                        <!-- property name="editable">False</property -->
                                       </object>
                                       <packing>
                                         <property name="expand">True</property>
@@ -154,7 +154,9 @@
                                     </child>
                                     <child>
                                       <object class="GtkButton" id="button_trigger">
-                                        <property name="label" translatable="yes">...</property>
+                                        <!-- property name="label" translatable="yes">...</property -->
+                                        <property name="label">gtk-apply</property>
+                                        <property name="use_stock">True</property>
                                         <property name="use_action_appearance">False</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
@@ -172,11 +174,12 @@
                                   <packing>
                                     <property name="left_attach">1</property>
                                     <property name="right_attach">2</property>
+                                    <property name="y_options">GTK_FILL</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <object class="GtkHBox" id="hbox5">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
@@ -217,7 +220,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkHBox" id="hbox6">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
@@ -273,7 +276,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label18">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Enable:</property>
@@ -287,7 +290,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkHBox" id="hbox2">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
@@ -328,7 +331,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label19">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Disable:</property>
@@ -342,7 +345,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkHBox" id="hbox3">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
@@ -452,7 +455,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkLabel" id="label10">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="tooltip_text" translatable="yes">Set the behavior of ibus how to show or hide language bar</property>
                                     <property name="xalign">0</property>
@@ -481,7 +484,7 @@
                                 </child>
                                 <child>
                                   <object class="GtkComboBox" id="combobox_panel_show">
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="model">model_panel_show_mode</property>
                                     <child>
@@ -521,7 +524,7 @@
                                   <object class="GtkCheckButton" id="checkbutton_show_icon_on_systray">
                                     <property name="label" translatable="yes">Show icon on system tray</property>
                                     <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Show icon on system tray</property>
@@ -540,7 +543,7 @@
                                   <object class="GtkCheckButton" id="checkbutton_show_im_name">
                                     <property name="label" translatable="yes">Show input method name on language bar</property>
                                     <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
+                                    <property name="no_show_all">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">Show input method's name on language bar when check the checkbox</property>
@@ -1001,7 +1004,7 @@ You may use up/down buttons to change it.&lt;/i&gt;&lt;/small&gt;</property>
                     </child>
                     <child>
                       <object class="GtkFrame" id="frame5">
-                        <property name="visible">True</property>
+                        <property name="no_show_all">True</property>
                         <property name="can_focus">False</property>
                         <property name="label_xalign">0</property>
                         <property name="shadow_type">none</property>
-- 
1.7.10.4