SF.net SVN: geany: [1390] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Tue Mar 13 17:00:13 UTC 2007


Revision: 1390
          http://svn.sourceforge.net/geany/?rev=1390&view=rev
Author:   ntrel
Date:     2007-03-13 10:00:12 -0700 (Tue, 13 Mar 2007)

Log Message:
-----------
Add 'Switch to last used document' keybinding.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/doc/geany.docbook
    trunk/src/callbacks.c
    trunk/src/callbacks.h
    trunk/src/keybindings.c
    trunk/src/keybindings.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-03-13 15:40:59 UTC (rev 1389)
+++ trunk/ChangeLog	2007-03-13 17:00:12 UTC (rev 1390)
@@ -7,6 +7,9 @@
  * src/document.c:
    Count total replacements made when replacing in a rectangular
    selection.
+ * src/keybindings.c, src/keybindings.h, src/callbacks.c,
+   src/callbacks.h, doc/geany.docbook:
+   Add 'Switch to last used document' keybinding.
 
 
 2007-03-12  Enrico Tröger  <enrico.troeger at uvena.de>

Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook	2007-03-13 15:40:59 UTC (rev 1389)
+++ trunk/doc/geany.docbook	2007-03-13 17:00:12 UTC (rev 1390)
@@ -1407,6 +1407,10 @@
 								<entry>Switches to the next open document.</entry>
 							</row>
 							<row>
+								<entry>Switch to last used document</entry>
+								<entry>Switches to the previously selected open document.</entry>
+							</row>
+							<row>
 								<entry align="left" spanname="hspan">Editing operations</entry>
 							</row>
 							<row>

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2007-03-13 15:40:59 UTC (rev 1389)
+++ trunk/src/callbacks.c	2007-03-13 17:00:12 UTC (rev 1390)
@@ -84,7 +84,9 @@
 // the selection-changed signal from tv.tree_openfiles
 //static gboolean switch_tv_notebook_page = FALSE;
 
+CallbacksData callbacks_data = {-1};
 
+
 // real exit function
 gint destroyapp(GtkWidget *widget, gpointer gdata)
 {
@@ -705,6 +707,8 @@
 {
 	gint idx;
 
+	callbacks_data.last_doc_idx = document_get_cur_idx();
+
 	if (closing_all) return;
 
 	// guint == -1 seems useless, but it isn't!
@@ -749,7 +753,7 @@
 		utils_check_disk_status(idx, FALSE);
 
 #ifdef HAVE_VTE
-	vte_cwd(doc_list[idx].file_name, FALSE);
+		vte_cwd(doc_list[idx].file_name, FALSE);
 #endif
 	}
 }

Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h	2007-03-13 15:40:59 UTC (rev 1389)
+++ trunk/src/callbacks.h	2007-03-13 17:00:12 UTC (rev 1390)
@@ -21,6 +21,14 @@
  * $Id$
  */
 
+typedef struct
+{
+	gint last_doc_idx;
+} CallbacksData;
+
+extern CallbacksData callbacks_data;
+
+
 gint
 destroyapp                             (GtkWidget *widget, gpointer gdata);
 

Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c	2007-03-13 15:40:59 UTC (rev 1389)
+++ trunk/src/keybindings.c	2007-03-13 17:00:12 UTC (rev 1390)
@@ -92,6 +92,7 @@
 static void cb_func_switch_vte(guint key_id);
 static void cb_func_switch_tableft(guint key_id);
 static void cb_func_switch_tabright(guint key_id);
+static void cb_func_switch_tablastused(guint key_id);
 static void cb_func_toggle_sidebar(guint key_id);
 
 // common function for editing keybindings, only valid when scintilla has focus.
@@ -210,6 +211,8 @@
 		GDK_Page_Up, GDK_CONTROL_MASK, "switch_tableft", _("Switch to left document"));
 	keys[GEANY_KEYS_SWITCH_TABRIGHT] = fill(cb_func_switch_tabright,
 		GDK_Page_Down, GDK_CONTROL_MASK, "switch_tabright", _("Switch to right document"));
+	keys[GEANY_KEYS_SWITCH_TABLASTUSED] = fill(cb_func_switch_tablastused,
+		GDK_Tab, GDK_CONTROL_MASK, "switch_tablastused", _("Switch to last used document"));
 
 	keys[GEANY_KEYS_EDIT_DUPLICATELINE] = fill(cb_func_edit,
 		GDK_g, GDK_CONTROL_MASK, "edit_duplicateline", _("Duplicate line or selection"));
@@ -760,6 +763,15 @@
 	utils_switch_document(RIGHT);
 }
 
+static void cb_func_switch_tablastused(G_GNUC_UNUSED guint key_id)
+{
+	gint last_doc_idx = callbacks_data.last_doc_idx;
+
+	if (DOC_IDX_VALID(last_doc_idx))
+		gtk_notebook_set_current_page(GTK_NOTEBOOK(app->notebook),
+			document_get_notebook_page(last_doc_idx));
+}
+
 static void cb_func_toggle_sidebar(G_GNUC_UNUSED guint key_id)
 {
 	static gint active_page = -1;

Modified: trunk/src/keybindings.h
===================================================================
--- trunk/src/keybindings.h	2007-03-13 15:40:59 UTC (rev 1389)
+++ trunk/src/keybindings.h	2007-03-13 17:00:12 UTC (rev 1390)
@@ -92,6 +92,7 @@
 	GEANY_KEYS_SWITCH_VTE,
 	GEANY_KEYS_SWITCH_TABLEFT,
 	GEANY_KEYS_SWITCH_TABRIGHT,
+	GEANY_KEYS_SWITCH_TABLASTUSED,
 	GEANY_KEYS_EDIT_TOLOWERCASE,
 	GEANY_KEYS_EDIT_TOUPPERCASE,
 	GEANY_KEYS_EDIT_DUPLICATELINE,


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