[Xfce4-commits] <xfce4-screenshooter:master> Pressing F1 now opens the help page.

Jérôme Guelfucci jeromeg at xfce.org
Fri Aug 14 00:26:26 CEST 2009


Updating branch refs/heads/master
         to f9ef49c19500975d94bac2a54def9204c0ecae7b (commit)
       from 4f58c934bf567ab78756217a1451b207808346bb (commit)

commit f9ef49c19500975d94bac2a54def9204c0ecae7b
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date:   Sun Aug 9 23:39:18 2009 +0200

    Pressing F1 now opens the help page.

 ChangeLog                           |    4 ++++
 lib/screenshooter-actions.c         |    2 ++
 lib/screenshooter-utils.c           |   15 +++++++++++++++
 lib/screenshooter-utils.h           |    7 ++++++-
 panel-plugin/screenshooter-plugin.c |    3 +++
 src/main.c                          |    6 ++++--
 6 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 583cb38..cd6523b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-08-09 jeromeg
 
+Pressing F1 now opens the help page.
+
+2009-08-09 jeromeg
+
 Set true as the default value for horodating.
 
 Mark the default screenshot title as translatable.
diff --git a/lib/screenshooter-actions.c b/lib/screenshooter-actions.c
index 10f3172..847a08f 100644
--- a/lib/screenshooter-actions.c
+++ b/lib/screenshooter-actions.c
@@ -59,6 +59,8 @@ gboolean screenshooter_action_idle (ScreenshotData *sd)
 
   g_signal_connect (dialog, "response",
                     (GCallback) cb_help_response, NULL);
+  g_signal_connect (dialog, "key-press-event",
+                    (GCallback) screenshooter_f1_key, NULL);
 
   response = gtk_dialog_run (GTK_DIALOG (dialog));
 
diff --git a/lib/screenshooter-utils.c b/lib/screenshooter-utils.c
index b5d1bec..5bd6386 100644
--- a/lib/screenshooter-utils.c
+++ b/lib/screenshooter-utils.c
@@ -356,3 +356,18 @@ void screenshooter_open_help (void)
       g_error_free (error_help);
     }
 }
+
+
+
+gboolean
+screenshooter_f1_key (GtkWidget *widget, GdkEventKey *event, gpointer user_data)
+{
+  if (event->keyval == GDK_F1)
+    {
+      screenshooter_open_help ();
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
diff --git a/lib/screenshooter-utils.h b/lib/screenshooter-utils.h
index 176c45b..8524010 100644
--- a/lib/screenshooter-utils.h
+++ b/lib/screenshooter-utils.h
@@ -27,6 +27,7 @@
 #include "screenshooter-global.h"
 
 #include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
 #include <glib/gstdio.h>
 #include <time.h>
 
@@ -48,9 +49,13 @@ gboolean  screenshooter_is_remote_uri         (const gchar    *uri);
 gchar    *rot13                               (gchar          *string);
 void      screenshooter_error                 (const gchar    *format,
                                                ...);
-gchar    *screenshooter_get_date              (gboolean strip_slashes);
+gchar    *screenshooter_get_date              (gboolean        strip_slashes);
 gchar    *screenshooter_get_time              (void);
 void      screenshooter_open_help             (void);
+gboolean  screenshooter_f1_key                (GtkWidget      *widget,
+                                               GdkEventKey    *event,
+                                               gpointer        user_data);
+
 
 
 #endif
diff --git a/panel-plugin/screenshooter-plugin.c b/panel-plugin/screenshooter-plugin.c
index 514d21b..b554906 100644
--- a/panel-plugin/screenshooter-plugin.c
+++ b/panel-plugin/screenshooter-plugin.c
@@ -255,6 +255,9 @@ cb_properties_dialog (XfcePanelPlugin *plugin, PluginData *pd)
   TRACE ("Run the dialog");
   g_object_set_data (G_OBJECT (plugin), "dialog", dlg);
   g_signal_connect (dlg, "response", G_CALLBACK (cb_dialog_response), pd);
+  g_signal_connect (dlg, "key-press-event",
+                    (GCallback) screenshooter_f1_key, NULL);
+
   gtk_widget_show (dlg);
 }
 
diff --git a/src/main.c b/src/main.c
index e07c8d6..536157e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -121,7 +121,6 @@ cb_dialog_response (GtkWidget *dialog, gint response, ScreenshotData *sd)
 
 
 
-
 /* Main */
 
 
@@ -292,7 +291,10 @@ int main (int argc, char **argv)
 
       /* Set the dialog up */
       dialog = screenshooter_region_dialog_new (sd, FALSE);
-      g_signal_connect (dialog, "response", (GCallback) cb_dialog_response, sd);
+      g_signal_connect (dialog, "response",
+                        (GCallback) cb_dialog_response, sd);
+      g_signal_connect (dialog, "key-press-event",
+                        (GCallback) screenshooter_f1_key, NULL);
       gtk_widget_show (dialog);
     }
 



More information about the Xfce4-commits mailing list