Updating branch refs/heads/master
         to 8296d0929c476bd454a7d444d855915de236c081 (commit)
       from fcb707b507b2a37cb41db93a85a95c78a5b6d3ff (commit)

commit 8296d0929c476bd454a7d444d855915de236c081
Author: Michael Orlitzky <[email protected]>
Date:   Sat Sep 3 00:43:09 2011 +0200

    Add key-bindings for using the arrow-buttons (Bug #5977).
    
    Modified slightly by Stephan Arts to correspond the direction
    (up-down) with the direction of the arrows in the UI.
    
    Thanks to Chris Hall, who wrote the original patch.

 src/main_window.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/src/main_window.c b/src/main_window.c
index 3f50b74..bf02317 100644
--- a/src/main_window.c
+++ b/src/main_window.c
@@ -253,6 +253,9 @@ rstto_main_window_update_buttons (RsttoMainWindow *window);
 static void
 rstto_main_window_set_navigationbar_position (RsttoMainWindow *window, guint 
orientation);
 
+static gboolean
+cb_rstto_main_window_key_press_event(GtkWidget *widget, GdkEventKey *event, 
gpointer user_data);
+
 static void
 cb_rstto_main_window_vpaned_pos_changed (GtkWidget *widget, gpointer 
user_data);
 static void
@@ -667,6 +670,7 @@ rstto_main_window_init (RsttoMainWindow *window)
 
     g_signal_connect(G_OBJECT(window), "configure-event", 
G_CALLBACK(cb_rstto_main_window_configure_event), NULL);
     g_signal_connect(G_OBJECT(window), "window-state-event", 
G_CALLBACK(cb_rstto_main_window_state_event), NULL);
+    g_signal_connect(G_OBJECT(window), "key-press-event", 
G_CALLBACK(cb_rstto_main_window_key_press_event), NULL);
     g_signal_connect(G_OBJECT(window->priv->image_list_toolbar), 
"button-press-event", 
G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window);
     g_signal_connect(G_OBJECT(window->priv->thumbnailbar), 
"button-press-event", 
G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window);
 
@@ -2569,3 +2573,26 @@ cb_rstto_main_window_clear_private_data (GtkWidget 
*widget, RsttoMainWindow *win
 
     gtk_widget_destroy (dialog);
 }
+
+
+static gboolean
+cb_rstto_main_window_key_press_event(GtkWidget *widget, GdkEventKey *event, 
gpointer user_data)
+{
+    GtkWindow *window = GTK_WINDOW(widget);
+    RsttoMainWindow *rstto_window = RSTTO_MAIN_WINDOW(widget);
+    if(gtk_window_activate_key(window, event) == FALSE)
+    {
+        switch(event->keyval)
+        {
+            case GDK_Up:
+            case GDK_Left:
+                rstto_image_list_iter_previous (rstto_window->priv->iter);
+                break;
+            case GDK_Right:
+            case GDK_Down:
+                rstto_image_list_iter_next (rstto_window->priv->iter);
+                break;
+        }
+    }
+    return TRUE;
+}
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to