Revision: 3551 http://geany.svn.sourceforge.net/geany/?rev=3551&view=rev Author: eht16 Date: 2009-02-05 19:14:17 +0000 (Thu, 05 Feb 2009)
Log Message: ----------- Allow pressing Space/Enter in the compiler and messages treeviews to activate the selected item (closes #2555704).
Modified Paths: -------------- trunk/ChangeLog trunk/src/msgwindow.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-02-05 19:10:57 UTC (rev 3550) +++ trunk/ChangeLog 2009-02-05 19:14:17 UTC (rev 3551) @@ -8,6 +8,9 @@ Special case Menu key presses and Shift-F10 to show the popup menu of the widgets where they were pressed instead of always the document notebook tab list. + * src/msgwindow.c: + Allow pressing Space/Enter in the compiler and messages treeviews + to activate the selected item (closes #2555704).
2009-02-04 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/msgwindow.c =================================================================== --- trunk/src/msgwindow.c 2009-02-05 19:10:57 UTC (rev 3550) +++ trunk/src/msgwindow.c 2009-02-05 19:14:17 UTC (rev 3551) @@ -26,7 +26,6 @@ * Also compiler error message parsing and grep file and line parsing. */
-#include <time.h>
#include "geany.h"
@@ -46,7 +45,9 @@
#include <string.h> #include <stdlib.h> +#include <time.h>
+#include <gdk/gdkkeysyms.h>
/* used for parse_file_line */ @@ -102,6 +103,23 @@ }
+static gboolean on_msgwin_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer data) +{ + if (event->keyval == GDK_Return || + event->keyval == GDK_ISO_Enter || + event->keyval == GDK_KP_Enter || + event->keyval == GDK_space) + { + GdkEventButton button_event; + + button_event.button = 1; + button_event.time = event->time; + on_msgwin_button_press_event(NULL, &button_event, data); + } + return FALSE; +} + + /* does some preparing things to the status message list widget */ static void prepare_status_tree_view(void) { @@ -152,6 +170,8 @@ * (connect_after button-press-event doesn't work) */ g_signal_connect(msgwindow.tree_msg, "button-release-event", G_CALLBACK(on_msgwin_button_press_event), GINT_TO_POINTER(MSG_MESSAGE)); + g_signal_connect(msgwindow.tree_msg, "key-press-event", + G_CALLBACK(on_msgwin_key_press_event), GINT_TO_POINTER(MSG_MESSAGE));
/* selection handling */ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(msgwindow.tree_msg)); @@ -183,6 +203,8 @@ * (connect_after button-press-event doesn't work) */ g_signal_connect(msgwindow.tree_compiler, "button-release-event", G_CALLBACK(on_msgwin_button_press_event), GINT_TO_POINTER(MSG_COMPILER)); + g_signal_connect(msgwindow.tree_compiler, "key-press-event", + G_CALLBACK(on_msgwin_key_press_event), GINT_TO_POINTER(MSG_COMPILER));
/* selection handling */ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(msgwindow.tree_compiler)); @@ -952,7 +974,7 @@
static gboolean on_msgwin_button_press_event(GtkWidget *widget, GdkEventButton *event, - gpointer user_data) + gpointer user_data) { /* user_data might be NULL, GPOINTER_TO_INT returns 0 if called with NULL */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.