[gthumb/ext] allow to use the rotate keybindings in the viewer as well
- From: Paolo Bacchilega <paobac src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gthumb/ext] allow to use the rotate keybindings in the viewer as well
- Date: Thu, 24 Sep 2009 21:51:50 +0000 (UTC)
commit bdd2a4975d49cfb9d8585a69cbd3875861ee5cdf
Author: Paolo Bacchilega <paobac src gnome org>
Date: Thu Sep 24 23:50:03 2009 +0200
allow to use the rotate keybindings in the viewer as well
[bug #594796]
extensions/image_rotation/callbacks.c | 61 ++++++++++++++------------------
extensions/image_rotation/callbacks.h | 6 ++-
extensions/image_rotation/main.c | 1 +
3 files changed, 32 insertions(+), 36 deletions(-)
---
diff --git a/extensions/image_rotation/callbacks.c b/extensions/image_rotation/callbacks.c
index 3c71a0a..c7ff9e6 100644
--- a/extensions/image_rotation/callbacks.c
+++ b/extensions/image_rotation/callbacks.c
@@ -67,35 +67,6 @@ browser_data_free (BrowserData *data)
}
-static gboolean
-gth_file_list_key_press_cb (GtkWidget *widget,
- GdkEventKey *event,
- gpointer user_data)
-{
- GthBrowser *browser = user_data;
- gboolean result = FALSE;
-
- if (! (event->state & GDK_CONTROL_MASK) && ! (event->state & GDK_MOD1_MASK)) {
- switch (gdk_keyval_to_lower (event->keyval)) {
- case GDK_bracketright:
- gth_browser_activate_action_tool_rotate_right (NULL, browser);
- result = TRUE;
- break;
-
- case GDK_bracketleft:
- gth_browser_activate_action_tool_rotate_left (NULL, browser);
- result = TRUE;
- break;
-
- default:
- break;
- }
- }
-
- return result;
-}
-
-
void
ir__gth_browser_construct_cb (GthBrowser *browser)
{
@@ -118,11 +89,6 @@ ir__gth_browser_construct_cb (GthBrowser *browser)
g_clear_error (&error);
}
- g_signal_connect (gth_browser_get_file_list (browser),
- "key_press_event",
- G_CALLBACK (gth_file_list_key_press_cb),
- browser);
-
g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free);
}
@@ -147,3 +113,30 @@ ir__gth_browser_update_sensitivity_cb (GthBrowser *browser)
action = gtk_action_group_get_action (data->action_group, "Tool_RotateLeft");
g_object_set (action, "sensitive", sensitive, NULL);
}
+
+
+gpointer
+ir__gth_browser_file_list_key_press_cb (GthBrowser *browser,
+ GdkEventKey *event)
+{
+ gpointer result = NULL;
+
+ if (! (event->state & GDK_CONTROL_MASK) && ! (event->state & GDK_MOD1_MASK)) {
+ switch (gdk_keyval_to_lower (event->keyval)) {
+ case GDK_bracketright:
+ gth_browser_activate_action_tool_rotate_right (NULL, browser);
+ result = GINT_TO_POINTER (1);
+ break;
+
+ case GDK_bracketleft:
+ gth_browser_activate_action_tool_rotate_left (NULL, browser);
+ result = GINT_TO_POINTER (1);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return result;
+}
diff --git a/extensions/image_rotation/callbacks.h b/extensions/image_rotation/callbacks.h
index f1991e8..2828c58 100644
--- a/extensions/image_rotation/callbacks.h
+++ b/extensions/image_rotation/callbacks.h
@@ -25,7 +25,9 @@
#include <gthumb.h>
-void ir__gth_browser_construct_cb (GthBrowser *browser);
-void ir__gth_browser_update_sensitivity_cb (GthBrowser *browser);
+void ir__gth_browser_construct_cb (GthBrowser *browser);
+void ir__gth_browser_update_sensitivity_cb (GthBrowser *browser);
+gpointer ir__gth_browser_file_list_key_press_cb (GthBrowser *browser,
+ GdkEventKey *event);
#endif /* CALLBACKS_H */
diff --git a/extensions/image_rotation/main.c b/extensions/image_rotation/main.c
index eeba6c7..321ce7e 100644
--- a/extensions/image_rotation/main.c
+++ b/extensions/image_rotation/main.c
@@ -41,6 +41,7 @@ gthumb_extension_activate (void)
gth_hook_add_callback ("gth-browser-construct", 10, G_CALLBACK (ir__gth_browser_construct_cb), NULL);
gth_hook_add_callback ("gth-browser-update-sensitivity", 10, G_CALLBACK (ir__gth_browser_update_sensitivity_cb), NULL);
+ gth_hook_add_callback ("gth-browser-file-list-key-press", 10, G_CALLBACK (ir__gth_browser_file_list_key_press_cb), NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]