[gnome-control-center] keyboard: Use GtkCellRendererAccel



commit 6e99f7663a45b886b55093ddd10ad1f5c7bfc402
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Oct 27 16:25:35 2011 +0100

    keyboard: Use GtkCellRendererAccel
    
    Instead of custom code. This means loads of code we don't need
    to maintain, whoo!

 panels/keyboard/Makefile.am           |    4 +-
 panels/keyboard/cc-keyboard-item.c    |    4 +-
 panels/keyboard/cc-keyboard-item.h    |    2 +-
 panels/keyboard/eggcellrendererkeys.c |  737 ---------------------------------
 panels/keyboard/eggcellrendererkeys.h |   89 ----
 panels/keyboard/keyboard-shortcuts.c  |   38 +-
 6 files changed, 24 insertions(+), 850 deletions(-)
---
diff --git a/panels/keyboard/Makefile.am b/panels/keyboard/Makefile.am
index 1d561ef..521ed1d 100644
--- a/panels/keyboard/Makefile.am
+++ b/panels/keyboard/Makefile.am
@@ -15,9 +15,7 @@ libkeyboard_la_SOURCES =   \
 	keyboard-general.c		\
 	keyboard-general.h		\
 	keyboard-shortcuts.c		\
-	keyboard-shortcuts.h		\
-	eggcellrendererkeys.c		\
-	eggcellrendererkeys.h
+	keyboard-shortcuts.h
 
 libkeyboard_la_CFLAGS = $(PANEL_CFLAGS) $(KEYBOARD_PANEL_CFLAGS) -I$(top_srcdir)/panels/common/
 libkeyboard_la_LIBADD = $(PANEL_LIBS) $(KEYBOARD_PANEL_LIBS) $(top_builddir)/panels/common/libshortcuts.la
diff --git a/panels/keyboard/cc-keyboard-item.c b/panels/keyboard/cc-keyboard-item.c
index 64dbb53..203e6ac 100644
--- a/panels/keyboard/cc-keyboard-item.c
+++ b/panels/keyboard/cc-keyboard-item.c
@@ -61,7 +61,7 @@ static gboolean
 binding_from_string (const char             *str,
                      guint                  *accelerator_key,
                      guint                  *keycode,
-                     EggVirtualModifierType *accelerator_mods)
+                     GdkModifierType        *accelerator_mods)
 {
   g_return_val_if_fail (accelerator_key != NULL, FALSE);
 
@@ -73,7 +73,7 @@ binding_from_string (const char             *str,
       return TRUE;
     }
 
-  egg_accelerator_parse_virtual (str, accelerator_key, keycode, accelerator_mods);
+  egg_accelerator_parse_virtual (str, accelerator_key, keycode, (EggVirtualModifierType *) accelerator_mods);
 
   if (*accelerator_key == 0)
     return FALSE;
diff --git a/panels/keyboard/cc-keyboard-item.h b/panels/keyboard/cc-keyboard-item.h
index 859d416..ccad575 100644
--- a/panels/keyboard/cc-keyboard-item.h
+++ b/panels/keyboard/cc-keyboard-item.h
@@ -61,7 +61,7 @@ typedef struct
   /* FIXME move to priv? */
   guint keyval;
   guint keycode;
-  EggVirtualModifierType mask;
+  GdkModifierType mask;
   BindingGroupType group;
   GtkTreeModel *model;
   char *description;
diff --git a/panels/keyboard/keyboard-shortcuts.c b/panels/keyboard/keyboard-shortcuts.c
index 17f1ac9..4e6b45b 100644
--- a/panels/keyboard/keyboard-shortcuts.c
+++ b/panels/keyboard/keyboard-shortcuts.c
@@ -23,7 +23,6 @@
 
 #include <glib/gi18n.h>
 #include <gconf/gconf-client.h>
-#include "eggcellrendererkeys.h"
 #include "keyboard-shortcuts.h"
 #include "cc-keyboard-item.h"
 #include "wm-common.h"
@@ -778,8 +777,8 @@ accel_set_func (GtkTreeViewColumn *tree_column,
     g_object_set (cell,
                   "visible", TRUE,
                   "editable", FALSE,
-                  "accel_key", item->keyval,
-                  "accel_mask", item->mask,
+                  "accel-key", item->keyval,
+                  "accel-mods", item->mask,
                   "keycode", item->keycode,
                   "style", PANGO_STYLE_ITALIC,
                   NULL);
@@ -787,8 +786,8 @@ accel_set_func (GtkTreeViewColumn *tree_column,
     g_object_set (cell,
                   "visible", TRUE,
                   "editable", TRUE,
-                  "accel_key", item->keyval,
-                  "accel_mask", item->mask,
+                  "accel-key", item->keyval,
+                  "accel-mods", item->mask,
                   "keycode", item->keycode,
                   "style", PANGO_STYLE_NORMAL,
                   NULL);
@@ -1180,7 +1179,7 @@ static const guint forbidden_keyvals[] = {
 static char*
 binding_name (guint                   keyval,
               guint                   keycode,
-              EggVirtualModifierType  mask,
+              GdkModifierType         mask,
               gboolean                translate)
 {
   if (keyval != 0 || keycode != 0)
@@ -1226,7 +1225,7 @@ typedef struct {
   CcKeyboardItem *orig_item;
   CcKeyboardItem *conflict_item;
   guint new_keyval;
-  EggVirtualModifierType new_mask;
+  GdkModifierType new_mask;
   guint new_keycode;
 } CcUniquenessData;
 
@@ -1276,7 +1275,7 @@ static void
 accel_edited_callback (GtkCellRendererText   *cell,
                        const char            *path_string,
                        guint                  keyval,
-                       EggVirtualModifierType mask,
+                       GdkModifierType        mask,
                        guint                  keycode,
                        GtkTreeView           *view)
 {
@@ -1301,7 +1300,7 @@ accel_edited_callback (GtkCellRendererText   *cell,
     return;
 
   /* CapsLock isn't supported as a keybinding modifier, so keep it from confusing us */
-  mask &= ~EGG_VIRTUAL_LOCK_MASK;
+  mask &= ~GDK_LOCK_MASK;
 
   data.orig_item = item;
   data.new_keyval = keyval;
@@ -1356,9 +1355,11 @@ accel_edited_callback (GtkCellRendererText   *cell,
         gtk_widget_destroy (dialog);
 
         /* set it back to its previous value. */
-        egg_cell_renderer_keys_set_accelerator
-          (EGG_CELL_RENDERER_KEYS (cell),
-           item->keyval, item->keycode, item->mask);
+        g_object_set (G_OBJECT (cell),
+                      "accel-key", item->keyval,
+                      "keycode", item->keycode,
+                      "accel-mods", item->mask,
+                      NULL);
         return;
       }
     }
@@ -1409,10 +1410,11 @@ accel_edited_callback (GtkCellRendererText   *cell,
       else
         {
           /* set it back to its previous value. */
-          egg_cell_renderer_keys_set_accelerator (EGG_CELL_RENDERER_KEYS (cell),
-                                                  item->keyval,
-                                                  item->keycode,
-                                                  item->mask);
+        g_object_set (G_OBJECT (cell),
+                      "accel-key", item->keyval,
+                      "keycode", item->keycode,
+                      "accel-mods", item->mask,
+                      NULL);
         }
 
       return;
@@ -1862,8 +1864,8 @@ setup_dialog (CcPanel *panel, GtkBuilder *builder)
   gtk_tree_view_append_column (treeview, column);
   gtk_tree_view_column_set_sort_column_id (column, DETAIL_DESCRIPTION_COLUMN);
 
-  renderer = (GtkCellRenderer *) g_object_new (EGG_TYPE_CELL_RENDERER_KEYS,
-                                               "accel_mode", EGG_CELL_RENDERER_KEYS_MODE_X,
+  renderer = (GtkCellRenderer *) g_object_new (GTK_TYPE_CELL_RENDERER_ACCEL,
+                                               "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_OTHER,
                                                NULL);
 
   g_signal_connect (renderer, "accel_edited",



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