[gtranslator] Port dictionary plugin to libpeas



commit e458ace3f44f072937b2d7316d1552db84334842
Author: Kenny Meyer <knny myer gmail com>
Date:   Fri Nov 26 19:28:26 2010 -0300

    Port dictionary plugin to libpeas
    
    https://bugzilla.gnome.org/show_bug.cgi?id=635913

 configure.ac                                       |    2 +-
 plugins/dictionary/Makefile.am                     |   42 +++---
 plugins/dictionary/gtr-dict-panel.c                |   22 ++-
 plugins/dictionary/gtr-dict-panel.h                |   24 +--
 ...lugin.desktop.in => gtr-dict.plugin.desktop.in} |    2 +-
 plugins/dictionary/gtr-dictionary-plugin.c         |  162 ++++++++++++++------
 plugins/dictionary/gtr-dictionary-plugin.h         |   41 ++---
 plugins/dictionary/gtr-gdict-sidebar.c             |   18 +--
 8 files changed, 179 insertions(+), 134 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 3d428b6..e8647b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -84,7 +84,7 @@ GLIB_REQUIRED=2.25.10
 LIBXML_REQUIRED=2.4.12
 SOURCEVIEW_REQUIRED=2.90.0
 GDL_REQUIRED=2.91.1
-GDICT_OPTIONAL=100
+GDICT_OPTIONAL=0.11.0
 GTKSPELL_OPTIONAL=100
 JSON_GLIB_OPTIONAL=0.12.0
 
diff --git a/plugins/dictionary/Makefile.am b/plugins/dictionary/Makefile.am
index b6d6e37..928627f 100644
--- a/plugins/dictionary/Makefile.am
+++ b/plugins/dictionary/Makefile.am
@@ -2,30 +2,26 @@
 plugindir = $(libdir)/gtranslator/plugins
 
 INCLUDES = \
-	-I$(top_srcdir) 				\
-	-I$(top_srcdir)/src				\
-	-I$(top_srcdir)/src/plugin-system		\
-	-I$(top_srcdir)/src/toolbareditor		\
-	$(GTRANSLATOR_CFLAGS) 				\
-	$(DICTIONARY_CFLAGS)				\
-	$(WARN_CFLAGS)					\
-	$(DISABLE_DEPRECATED)				\
-	-DGTR_LOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\"
+	-I$(top_srcdir)                 \
+	-I$(top_srcdir)/src             \
+	$(GTRANSLATOR_CFLAGS)           \
+	$(DICTIONARY_CFLAGS)            \
+	$(WARN_CFLAGS)                  \
+	$(DISABLE_DEPRECATED)
 
 plugin_LTLIBRARIES = libdict.la
 
 libdict_la_SOURCES = \
-	gtr-dict-panel.h			\
-	gtr-dict-panel.c			\
-	gtr-gdict-sidebar.c			\
-	gtr-gdict-sidebar.h			\
-	gtr-dictionary-plugin.h			\
+	gtr-dict-panel.h            \
+	gtr-dict-panel.c            \
+	gtr-gdict-sidebar.c         \
+	gtr-gdict-sidebar.h         \
+	gtr-dictionary-plugin.h     \
 	gtr-dictionary-plugin.c
-	
 
 libdict_la_LDFLAGS = \
-	$(PLUGIN_LIBTOOL_FLAGS)				\
-	$(GTRANSLATOR_LIBS)				\
+	$(PLUGIN_LIBTOOL_FLAGS)     \
+	$(GTRANSLATOR_LIBS)         \
 	$(DICTIONARY_LIBS)
 
 pixmaps_dir = $(datadir)/pixmaps/gtranslator
@@ -34,11 +30,11 @@ pixmaps__DATA = \
 
 # Plugin Info
 
-plugin_in_files = gtr-dict.gtranslator-plugin.desktop.in
+plugin_in_files = gtr-dict.plugin.desktop.in
 
-%.gtranslator.plugin: %.gtranslator-plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+%.plugin: %.plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
 
-plugin_DATA = $(plugin_in_files:.gtranslator-plugin.desktop.in=.gtranslator.plugin)
+plugin_DATA = $(plugin_in_files:.plugin.desktop.in=.plugin)
 
 gsettings_SCHEMAS = org.gnome.gtranslator.plugins.dictionary.gschema.xml
 
@@ -46,9 +42,9 @@ gsettings_SCHEMAS = org.gnome.gtranslator.plugins.dictionary.gschema.xml
 
 @GSETTINGS_RULES@
 
-EXTRA_DIST =			\
-	$(pixmaps__DATA)	\
-	$(plugin_in_files)	\
+EXTRA_DIST = \
+	$(pixmaps__DATA)    \
+	$(plugin_in_files)  \
 	org.gnome.gtranslator.plugins.dictionary.gschema.xml.in.in
 
 CLEANFILES = $(plugin_DATA) $(gsettings_SCHEMAS)
diff --git a/plugins/dictionary/gtr-dict-panel.c b/plugins/dictionary/gtr-dict-panel.c
index eba2beb..4c008dd 100644
--- a/plugins/dictionary/gtr-dict-panel.c
+++ b/plugins/dictionary/gtr-dict-panel.c
@@ -21,7 +21,6 @@
 
 #include "gtr-dict-panel.h"
 #include "gtr-gdict-sidebar.h"
-#include "gtr-plugin.h"
 #include "gtr-window.h"
 #include "gtr-statusbar.h"
 #include "gtr-dirs.h"
@@ -51,7 +50,7 @@
 #define GDICT_SIDEBAR_STRATEGIES_PAGE   "strat-chooser"
 #define GDICT_SIDEBAR_SOURCES_PAGE      "source-chooser"
 
-GTR_PLUGIN_DEFINE_TYPE (GtrDictPanel, gtr_dict_panel, GTK_TYPE_VBOX)
+G_DEFINE_DYNAMIC_TYPE (GtrDictPanel, gtr_dict_panel, GTK_TYPE_VBOX)
 
 struct _GtrDictPanelPrivate
 {
@@ -576,7 +575,6 @@ on_settings_changed (GSettings    *settings,
 static void
 gtr_dict_panel_init (GtrDictPanel * panel)
 {
-  gchar *data_dir;
   GtrDictPanelPrivate *priv;
 
   panel->priv = GTR_DICT_PANEL_GET_PRIVATE (panel);
@@ -588,9 +586,8 @@ gtr_dict_panel_init (GtrDictPanel * panel)
     panel->priv->loader = gdict_source_loader_new ();
 
   /* add our data dir inside $HOME to the loader's search paths */
-  data_dir = gtr_dirs_get_user_config_dir ();
-  gdict_source_loader_add_search_path (priv->loader, data_dir);
-  g_free (data_dir);
+  gdict_source_loader_add_search_path (priv->loader,
+                                       gtr_dirs_get_user_config_dir ());
 
   /* settings */
   priv->settings = g_settings_new ("org.gnome.gtranslator.plugins.dictionary");
@@ -635,7 +632,7 @@ gtr_dict_panel_dispose (GObject * object)
 }
 
 static void
-gtr_dict_panel_class_init (GtrDictPanelClass * klass)
+gtr_dict_panel_class_init (GtrDictPanelClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
@@ -645,6 +642,11 @@ gtr_dict_panel_class_init (GtrDictPanelClass * klass)
   gobject_class->dispose = gtr_dict_panel_dispose;
 }
 
+static void
+gtr_dict_panel_class_finalize (GtrDictPanelClass *klass)
+{
+}
+
 GtkWidget *
 gtr_dict_panel_new (GtrWindow * window)
 {
@@ -655,3 +657,9 @@ gtr_dict_panel_new (GtrWindow * window)
 
   return GTK_WIDGET (panel);
 }
+
+void
+_gtr_dict_panel_register_type (GTypeModule *type_module)
+{
+  gtr_dict_panel_register_type (type_module);
+}
diff --git a/plugins/dictionary/gtr-dict-panel.h b/plugins/dictionary/gtr-dict-panel.h
index 63c2c73..514ff03 100644
--- a/plugins/dictionary/gtr-dict-panel.h
+++ b/plugins/dictionary/gtr-dict-panel.h
@@ -34,13 +34,10 @@ G_BEGIN_DECLS
 #define GTR_IS_DICT_PANEL(o)		(G_TYPE_CHECK_INSTANCE_TYPE ((o), GTR_TYPE_DICT_PANEL))
 #define GTR_IS_DICT_PANEL_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), GTR_TYPE_DICT_PANEL))
 #define GTR_DICT_PANEL_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GTR_TYPE_DICT_PANEL, GtrDictPanelClass))
-/* Private structure type */
-typedef struct _GtrDictPanelPrivate GtrDictPanelPrivate;
 
-/*
- * Main object structure
- */
-typedef struct _GtrDictPanel GtrDictPanel;
+typedef struct _GtrDictPanel            GtrDictPanel;
+typedef struct _GtrDictPanelClass       GtrDictPanelClass;
+typedef struct _GtrDictPanelPrivate     GtrDictPanelPrivate;
 
 struct _GtrDictPanel
 {
@@ -50,11 +47,6 @@ struct _GtrDictPanel
   GtrDictPanelPrivate *priv;
 };
 
-/*
- * Class definition
- */
-typedef struct _GtrDictPanelClass GtrDictPanelClass;
-
 struct _GtrDictPanelClass
 {
   GtkVBoxClass parent_class;
@@ -63,15 +55,13 @@ struct _GtrDictPanelClass
 /*
  * Public methods
  */
-GType
-gtr_dict_panel_get_type (void)
-  G_GNUC_CONST;
+GType gtr_dict_panel_get_type (void) G_GNUC_CONST;
 
-     GType gtr_dict_panel_register_type (GTypeModule * module);
+GtkWidget *gtr_dict_panel_new (GtrWindow * window);
 
-     GtkWidget *gtr_dict_panel_new (GtrWindow * window);
+void _gtr_dict_panel_register_type (GTypeModule *type_module);
 
-     void gtr_dict_panel_set_position (GtrDictPanel * panel, gint pos);
+void gtr_dict_panel_set_position (GtrDictPanel * panel, gint pos);
 
 G_END_DECLS
 #endif /* __DICT_PANEL_H__ */
diff --git a/plugins/dictionary/gtr-dict.gtranslator-plugin.desktop.in b/plugins/dictionary/gtr-dict.plugin.desktop.in
similarity index 91%
rename from plugins/dictionary/gtr-dict.gtranslator-plugin.desktop.in
rename to plugins/dictionary/gtr-dict.plugin.desktop.in
index 312fdcb..6759e9e 100644
--- a/plugins/dictionary/gtr-dict.gtranslator-plugin.desktop.in
+++ b/plugins/dictionary/gtr-dict.plugin.desktop.in
@@ -1,4 +1,4 @@
-[Gtranslator Plugin]
+[Plugin]
 Module=dict
 IAge=2
 _Name=Dictionary
diff --git a/plugins/dictionary/gtr-dictionary-plugin.c b/plugins/dictionary/gtr-dictionary-plugin.c
index 0dfafaa..03fc166 100644
--- a/plugins/dictionary/gtr-dictionary-plugin.c
+++ b/plugins/dictionary/gtr-dictionary-plugin.c
@@ -23,44 +23,39 @@
 #include "gtr-dictionary-plugin.h"
 #include "gtr-dict-panel.h"
 #include "gtr-window.h"
+#include "gtr-window-activatable.h"
 
+#include <libpeas-gtk/peas-gtk-configurable.h>
 #include <glib/gi18n-lib.h>
 
-#define WINDOW_DATA_KEY	"GtrDictPluginWindowData"
-
 #define GTR_DICT_PLUGIN_GET_PRIVATE(object) \
 				(G_TYPE_INSTANCE_GET_PRIVATE ((object),	\
 				GTR_TYPE_DICT_PLUGIN,		\
 				GtrDictPluginPrivate))
 
-typedef struct
-{
-  GtkWidget *panel;
-  guint context_id;
-} WindowData;
-
-GTR_PLUGIN_REGISTER_TYPE_WITH_CODE (GtrDictPlugin,
-                                    gtr_dict_plugin,
-                                    gtr_dict_panel_register_type (module);
-  )
-     static void gtr_dict_plugin_init (GtrDictPlugin * plugin)
-{
-}
 
-static void
-gtr_dict_plugin_finalize (GObject * object)
+struct _GtrDictPluginPrivate
 {
-  G_OBJECT_CLASS (gtr_dict_plugin_parent_class)->finalize (object);
-}
+  GtrWindow *window;
+  GtkWidget *dict;
+};
 
-static void
-free_window_data (WindowData * data)
+enum
 {
-  g_return_if_fail (data != NULL);
+  PROP_0,
+  PROP_WINDOW
+};
 
-  g_free (data);
-}
+static void gtr_window_activatable_iface_init (GtrWindowActivatableInterface *iface);
 
+G_DEFINE_DYNAMIC_TYPE_EXTENDED (GtrDictPlugin,
+                                gtr_dict_plugin,
+                                PEAS_TYPE_EXTENSION_BASE,
+                                0,
+                                G_IMPLEMENT_INTERFACE_DYNAMIC
+                                (GTR_TYPE_WINDOW_ACTIVATABLE,
+                                 gtr_window_activatable_iface_init)
+                                _gtr_dict_panel_register_type (type_module))
 
 static GtkWidget *
 create_dict_panel (GtrWindow * window)
@@ -74,51 +69,124 @@ create_dict_panel (GtrWindow * window)
   return panel;
 }
 
+
 static void
-impl_activate (GtrPlugin * plugin, GtrWindow * window)
+gtr_dict_plugin_set_property (GObject * object,
+                              guint prop_id,
+                              const GValue * value,
+                              GParamSpec * pspec)
 {
-  WindowData *data;
+  GtrDictPluginPrivate *priv = GTR_DICT_PLUGIN (object)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_WINDOW:
+      priv->window = GTR_WINDOW (g_value_dup_object (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
 
-  data = g_new (WindowData, 1);
+static void
+gtr_dict_plugin_get_property (GObject * object,
+                              guint prop_id,
+                              GValue * value, GParamSpec * pspec)
+{
+  GtrDictPluginPrivate *priv = GTR_DICT_PLUGIN (object)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_WINDOW:
+      g_value_set_object (value, priv->window);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+
+static void
+gtr_dict_plugin_init (GtrDictPlugin * plugin)
+{
+  plugin->priv = GTR_DICT_PLUGIN_GET_PRIVATE (plugin);
+}
 
-  data->panel = create_dict_panel (window);
+static void
+gtr_dict_plugin_dispose (GObject * object)
+{
+  GtrDictPluginPrivate *priv = GTR_DICT_PLUGIN (object)->priv;
+
+  if (priv->window != NULL)
+    {
+      g_object_unref (priv->window);
+      priv->window = NULL;
+    }
+
+  G_OBJECT_CLASS (gtr_dict_plugin_parent_class)->dispose (object);
+}
+
+static void
+gtr_dict_plugin_activate (GtrWindowActivatable * activatable)
+{
+  GtrDictPluginPrivate *priv = GTR_DICT_PLUGIN (activatable)->priv;
 
   gtr_application_register_icon (GTR_APP, "gnome-dictionary.png",
                                  "dictionary-icon");
 
-  gtr_window_add_widget (window,
-                         data->panel,
+  priv->dict = create_dict_panel (priv->window);
+
+  gtr_window_add_widget (priv->window,
+                         priv->dict,
                          "GtrDictionaryPlugin",
                          _("Dictionary"),
-                         "dictionary-icon", GTR_WINDOW_PLACEMENT_LEFT);
+                         "dictionary-icon",
+                         GTR_WINDOW_PLACEMENT_LEFT);
+}
+
+static void
+gtr_dict_plugin_deactivate (GtrWindowActivatable * activatable)
+{
+  GtrDictPluginPrivate *priv = GTR_DICT_PLUGIN (activatable)->priv;
 
-  g_object_set_data_full (G_OBJECT (window),
-                          WINDOW_DATA_KEY,
-                          data, (GDestroyNotify) free_window_data);
+  gtr_window_remove_widget (priv->window, priv->dict);
 }
 
 static void
-impl_deactivate (GtrPlugin * plugin, GtrWindow * window)
+gtr_dict_plugin_class_init (GtrDictPluginClass * klass)
 {
-  WindowData *data;
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  data = (WindowData *) g_object_get_data (G_OBJECT (window),
-                                           WINDOW_DATA_KEY);
-  g_return_if_fail (data != NULL);
+  object_class->dispose = gtr_dict_plugin_dispose;
+  object_class->set_property = gtr_dict_plugin_set_property;
+  object_class->get_property = gtr_dict_plugin_get_property;
 
-  gtr_window_remove_widget (window, data->panel);
+  g_object_class_override_property (object_class, PROP_WINDOW, "window");
+  g_type_class_add_private (object_class, sizeof (GtrDictPluginPrivate));
+}
 
-  g_object_set_data (G_OBJECT (window), WINDOW_DATA_KEY, NULL);
+static void
+gtr_dict_plugin_class_finalize (GtrDictPluginClass * klass)
+{
 }
 
 static void
-gtr_dict_plugin_class_init (GtrDictPluginClass * klass)
+gtr_window_activatable_iface_init (GtrWindowActivatableInterface * iface)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-  GtrPluginClass *plugin_class = GTR_PLUGIN_CLASS (klass);
+  iface->activate = gtr_dict_plugin_activate;
+  iface->deactivate = gtr_dict_plugin_deactivate;
+}
 
-  object_class->finalize = gtr_dict_plugin_finalize;
+G_MODULE_EXPORT void
+peas_register_types (PeasObjectModule * module)
+{
+  gtr_dict_plugin_register_type (G_TYPE_MODULE (module));
 
-  plugin_class->activate = impl_activate;
-  plugin_class->deactivate = impl_deactivate;
+  peas_object_module_register_extension_type (module,
+      GTR_TYPE_WINDOW_ACTIVATABLE,
+      GTR_TYPE_DICT_PLUGIN);
 }
diff --git a/plugins/dictionary/gtr-dictionary-plugin.h b/plugins/dictionary/gtr-dictionary-plugin.h
index f685932..a1b8525 100644
--- a/plugins/dictionary/gtr-dictionary-plugin.h
+++ b/plugins/dictionary/gtr-dictionary-plugin.h
@@ -18,10 +18,11 @@
 #ifndef __GTR_Dict_PLUGIN_H__
 #define __GTR_Dict_PLUGIN_H__
 
-#include "gtr-plugin.h"
-
 #include <glib.h>
 #include <glib-object.h>
+#include <libpeas/peas-extension-base.h>
+#include <libpeas/peas-object-module.h>
+
 
 G_BEGIN_DECLS
 /*
@@ -29,42 +30,32 @@ G_BEGIN_DECLS
  */
 #define GTR_TYPE_DICT_PLUGIN		(gtr_dict_plugin_get_type ())
 #define GTR_DICT_PLUGIN(o)			(G_TYPE_CHECK_INSTANCE_CAST ((o), GTR_TYPE_DICT_PLUGIN, GtrDictPlugin))
-#define GTR_DICT_PLUGIN_CLASS(k)		(G_TYPE_CHECK_CLASS_CAST((k), GTR_TYPE_Dict_PLUGIN, GtrDictPluginClass))
-#define GTR_IS_DICT_PLUGIN(o)		(G_TYPE_CHECK_INSTANCE_TYPE ((o), GTR_TYPE_Dict_PLUGIN))
+#define GTR_DICT_PLUGIN_CLASS(k)		(G_TYPE_CHECK_CLASS_CAST((k), GTR_TYPE_DICT_PLUGIN, GtrDictPluginClass))
+#define GTR_IS_DICT_PLUGIN(o)		(G_TYPE_CHECK_INSTANCE_TYPE ((o), GTR_TYPE_DICT_PLUGIN))
 #define GTR_IS_DICT_PLUGIN_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), GTR_TYPE_Dict_PLUGIN))
-#define GTR_Dict_PLUGIN_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GTR_TYPE_Dict_PLUGIN, GtrDictPluginClass))
-/* Private structure type */
-typedef struct _GtrDictPluginPrivate GtrDictPluginPrivate;
+#define GTR_DICT_PLUGIN_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GTR_TYPE_DICT_PLUGIN, GtrDictPluginClass))
 
-/*
- * Main object structure
- */
 typedef struct _GtrDictPlugin GtrDictPlugin;
+typedef struct _GtrDictPluginPrivate GtrDictPluginPrivate;
+typedef struct _GtrDictPluginClass GtrDictPluginClass;
 
 struct _GtrDictPlugin
 {
-  GtrPlugin parent_instance;
-};
+  PeasExtensionBase parent_instance;
 
-/*
- * Class definition
- */
-typedef struct _GtrDictPluginClass GtrDictPluginClass;
+  /*< private > */
+  GtrDictPluginPrivate *priv;
+
+};
 
 struct _GtrDictPluginClass
 {
-  GtrPluginClass parent_class;
+  PeasExtensionBaseClass parent_class;
 };
 
-/*
- * Public methods
- */
-GType
-gtr_dict_plugin_get_type (void)
-  G_GNUC_CONST;
+GType gtr_dict_plugin_get_type (void) G_GNUC_CONST;
 
-/* All the plugins must implement this function */
-     G_MODULE_EXPORT GType register_gtr_plugin (GTypeModule * module);
+G_MODULE_EXPORT void peas_register_types (PeasObjectModule * module);
 
 G_END_DECLS
 #endif /* __GTR_Dict_PLUGIN_H__ */
diff --git a/plugins/dictionary/gtr-gdict-sidebar.c b/plugins/dictionary/gtr-gdict-sidebar.c
index 15ff469..d402f30 100644
--- a/plugins/dictionary/gtr-gdict-sidebar.c
+++ b/plugins/dictionary/gtr-gdict-sidebar.c
@@ -32,7 +32,6 @@
 
 #include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
-#include <gtk/gtk.h>
 #include <glib/gi18n.h>
 
 #include "gtr-gdict-sidebar.h"
@@ -65,7 +64,6 @@ struct _GdictSidebarPrivate
 enum
 {
   PAGE_CHANGED,
-  CLOSED,
 
   LAST_SIGNAL
 };
@@ -150,8 +148,8 @@ gdict_sidebar_menu_position_function (GtkMenu * menu,
   widget = GTK_WIDGET (user_data);
 
   gdk_window_get_origin (gtk_widget_get_window (widget), x, y);
-  gtk_widget_get_allocation (widget, &allocation);
 
+  gtk_widget_get_allocation (widget, &allocation);
   *x += allocation.x;
   *y += allocation.y + allocation.height;
 
@@ -164,11 +162,11 @@ gdict_sidebar_select_button_press_cb (GtkWidget * widget,
                                       gpointer user_data)
 {
   GdictSidebar *sidebar = GDICT_SIDEBAR (user_data);
+  GtkAllocation allocation;
 
   if (event->button == 1)
     {
       GtkRequisition req;
-      GtkAllocation allocation;
       gint width;
 
       gtk_widget_get_allocation (widget, &allocation);
@@ -197,9 +195,9 @@ gdict_sidebar_select_key_press_cb (GtkWidget * widget,
 {
   GdictSidebar *sidebar = GDICT_SIDEBAR (user_data);
 
-  if (event->keyval == GDK_space ||
-      event->keyval == GDK_KP_Space ||
-      event->keyval == GDK_Return || event->keyval == GDK_KP_Enter)
+  if (event->keyval == GDK_KEY_space ||
+      event->keyval == GDK_KEY_KP_Space ||
+      event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter)
     {
       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
       gtk_menu_popup (GTK_MENU (sidebar->priv->menu),
@@ -278,12 +276,6 @@ gdict_sidebar_class_init (GdictSidebarClass * klass)
                   G_SIGNAL_RUN_LAST,
                   G_STRUCT_OFFSET (GdictSidebarClass, page_changed),
                   NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
-  sidebar_signals[CLOSED] =
-    g_signal_new ("closed",
-                  G_TYPE_FROM_CLASS (gobject_class),
-                  G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GdictSidebarClass, closed),
-                  NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 }
 
 static void



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