SF.net SVN: geany:[3551] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Thu Feb 5 19:14:18 UTC 2009


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.



More information about the Commits mailing list