SF.net SVN: geany: [2713] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Thu Jun 19 17:09:46 UTC 2008


Revision: 2713
          http://geany.svn.sourceforge.net/geany/?rev=2713&view=rev
Author:   eht16
Date:     2008-06-19 10:09:46 -0700 (Thu, 19 Jun 2008)

Log Message:
-----------
Allow scrolling page by page by holding down the Shift or Alt key (closes #1995405).

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/document.c
    trunk/src/editor.c
    trunk/src/editor.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-06-19 16:19:26 UTC (rev 2712)
+++ trunk/ChangeLog	2008-06-19 17:09:46 UTC (rev 2713)
@@ -17,6 +17,9 @@
  * src/editor.c:
    Allow symbol auto completion in embedded JavaScript in HTML files
    (closes #1997409).
+ * src/document.c, src/editor.c, src/editor.h:
+   Allow scrolling page by page by holding down the Shift or Alt key
+   (closes #1995405).
 
 
 2008-06-18  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c	2008-06-19 16:19:26 UTC (rev 2712)
+++ trunk/src/document.c	2008-06-19 17:09:46 UTC (rev 2713)
@@ -443,6 +443,8 @@
 	/* signal for the popup menu */
 	g_signal_connect(G_OBJECT(sci), "button-press-event",
 					G_CALLBACK(on_editor_button_press_event), doc);
+	g_signal_connect(G_OBJECT(sci), "scroll-event",
+					G_CALLBACK(on_editor_scroll_event), doc);
 	g_signal_connect(G_OBJECT(sci), "motion-notify-event", G_CALLBACK(on_motion_event), NULL);
 
 	return sci;

Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c	2008-06-19 16:19:26 UTC (rev 2712)
+++ trunk/src/editor.c	2008-06-19 17:09:46 UTC (rev 2713)
@@ -3325,3 +3325,18 @@
 }
 
 
+gboolean on_editor_scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer user_data)
+{
+	/* Handle scroll events if Shift or Alt is pressed and scroll whole pages instead of a
+	 * few lines only, maybe this could/should be done in Scintilla directly */
+	if (event->state & (GDK_MOD1_MASK | GDK_SHIFT_MASK))
+	{
+		GeanyDocument *doc = user_data;
+		sci_cmd(doc->sci, (event->direction == GDK_SCROLL_DOWN) ? SCI_PAGEDOWN : SCI_PAGEUP);
+		return TRUE;
+	}
+
+	return FALSE; /* let Scintilla handle all other cases */
+}
+
+

Modified: trunk/src/editor.h
===================================================================
--- trunk/src/editor.h	2008-06-19 16:19:26 UTC (rev 2712)
+++ trunk/src/editor.h	2008-06-19 17:09:46 UTC (rev 2713)
@@ -205,4 +205,6 @@
 
 gboolean editor_goto_pos(GeanyDocument *doc, gint pos, gboolean mark);
 
+gboolean on_editor_scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer user_data);
+
 #endif


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