SF.net SVN: geany: [2027] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Tue Nov 6 16:59:02 UTC 2007


Revision: 2027
          http://geany.svn.sourceforge.net/geany/?rev=2027&view=rev
Author:   ntrel
Date:     2007-11-06 08:59:01 -0800 (Tue, 06 Nov 2007)

Log Message:
-----------
Make VTE interpret all keyboard shortcuts except for focus group
keybindings.
Add enum values for keybinding groups.
Make Notebook tabs keybindings group.
Move Go to tags items into Tags keybindings group.
Move navigation items into a new Other keybindings group.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/TODO
    trunk/src/keybindings.c
    trunk/src/keybindings.h
    trunk/src/plugindata.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-11-06 15:54:46 UTC (rev 2026)
+++ trunk/ChangeLog	2007-11-06 16:59:01 UTC (rev 2027)
@@ -16,6 +16,13 @@
    Capitalize revert menu item.
  * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade:
    Add 'Strip Trailing Spaces' document menu item.
+ * src/keybindings.c, src/keybindings.h, src/plugindata.h, TODO:
+   Make VTE interpret all keyboard shortcuts except for focus group
+   keybindings.
+   Add enum values for keybinding groups.
+   Make Notebook tabs keybindings group.
+   Move Go to tags items into Tags keybindings group.
+   Move navigation items into a new Other keybindings group.
 
 
 2007-11-05  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/TODO
===================================================================
--- trunk/TODO	2007-11-06 15:54:46 UTC (rev 2026)
+++ trunk/TODO	2007-11-06 16:59:01 UTC (rev 2027)
@@ -6,8 +6,6 @@
 	o fix bug that prevents UTF-16, UTF-32 files from being loaded.
 	o tagmanager fails on UTF-16/32
 	o fix parsing command line args after given filenames
-	o make the VTE interpret keybindings first (not just some bash
-	  shortcuts).
 
 	Next version or later:
 

Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c	2007-11-06 15:54:46 UTC (rev 2026)
+++ trunk/src/keybindings.c	2007-11-06 16:59:01 UTC (rev 2027)
@@ -355,17 +355,19 @@
 	load_user_kb();
 
 	// set section name
-	keys[GEANY_KEYS_MENU_NEW]->section = _("File menu");
-	keys[GEANY_KEYS_MENU_UNDO]->section = _("Edit menu");
-	keys[GEANY_KEYS_MENU_FIND]->section = _("Search menu");
-	keys[GEANY_KEYS_MENU_TOGGLEALL]->section = _("View menu");
-	keys[GEANY_KEYS_MENU_REPLACETABS]->section = _("Document menu");
-	keys[GEANY_KEYS_BUILD_COMPILE]->section = _("Build menu");
-	keys[GEANY_KEYS_MENU_OPENCOLORCHOOSER]->section = _("Tools menu");
-	keys[GEANY_KEYS_MENU_HELP]->section = _("Help menu");
-	keys[GEANY_KEYS_SWITCH_EDITOR]->section = _("Focus commands");
-	keys[GEANY_KEYS_EDIT_TOGGLECASE]->section = _("Editing commands");
-	keys[GEANY_KEYS_EDIT_AUTOCOMPLETE]->section = _("Tag commands");
+	keys[GEANY_KEYS_GROUP_FILE]->section = _("File menu");
+	keys[GEANY_KEYS_GROUP_EDIT]->section = _("Edit menu");
+	keys[GEANY_KEYS_GROUP_SEARCH]->section = _("Search menu");
+	keys[GEANY_KEYS_GROUP_VIEW]->section = _("View menu");
+	keys[GEANY_KEYS_GROUP_DOCUMENT]->section = _("Document menu");
+	keys[GEANY_KEYS_GROUP_BUILD]->section = _("Build menu");
+	keys[GEANY_KEYS_GROUP_TOOLS]->section = _("Tools menu");
+	keys[GEANY_KEYS_GROUP_HELP]->section = _("Help menu");
+	keys[GEANY_KEYS_GROUP_FOCUS]->section = _("Focus commands");
+	keys[GEANY_KEYS_GROUP_TABS]->section = _("Notebook tab commands");
+	keys[GEANY_KEYS_GROUP_EDITING]->section = _("Editing commands");
+	keys[GEANY_KEYS_GROUP_TAGS]->section = _("Tag commands");
+	keys[GEANY_KEYS_GROUP_OTHER]->section = _("Other commands");
 
 	add_menu_accels();
 }
@@ -680,40 +682,22 @@
 #ifdef HAVE_VTE
 static gboolean check_vte(GdkEventKey *event, guint keyval)
 {
+	guint i;
 	GtkWidget *widget;
 
 	if (! vc->enable_bash_keys)
 		return FALSE;
 	if (gtk_window_get_focus(GTK_WINDOW(app->window)) != vc->vte)
 		return FALSE;
-	if (event->state == (GDK_CONTROL_MASK | GDK_SHIFT_MASK) &&
-		(keyval == GDK_c || keyval == GDK_v))	// copy/paste
-		return TRUE;
-	if (event->state != GDK_CONTROL_MASK)
-		return FALSE;
+	if (event->state == 0)
+		return FALSE;	// just to prevent menubar flickering
 
-	// Check Ctrl-[a-z] terminal shortcuts
-	switch (keyval)
+	// make focus commands override any bash commands
+	for (i = GEANY_KEYS_GROUP_FOCUS; i < GEANY_KEYS_GROUP_TABS; i++)
 	{
-		case GDK_a:
-		case GDK_c:
-		case GDK_d:
-		case GDK_e:
-		case GDK_l:
-		case GDK_k:
-		case GDK_q:
-		case GDK_r:
-		case GDK_s:
-		case GDK_u:
-		case GDK_w:
-		case GDK_z:
-			break;
-		default:
+		if (event->state == keys[i]->mods && keyval == keys[i]->key)
 			return FALSE;
 	}
-	if (event->state == keys[GEANY_KEYS_SWITCH_EDITOR]->mods &&
-		keyval == keys[GEANY_KEYS_SWITCH_EDITOR]->key)
-		return FALSE;	// make switch to editor override any bash commands
 
 	/* Temporarily disable the menus to prevent conflicting menu accelerators
 	 * from overriding the VTE bash shortcuts.

Modified: trunk/src/keybindings.h
===================================================================
--- trunk/src/keybindings.h	2007-11-06 15:54:46 UTC (rev 2026)
+++ trunk/src/keybindings.h	2007-11-06 16:59:01 UTC (rev 2027)
@@ -45,9 +45,11 @@
 } binding;
 
 
+// Plugin API
 typedef enum
 {
-	GEANY_KEYS_MENU_NEW = 0,
+	GEANY_KEYS_GROUP_FILE = 0,
+	GEANY_KEYS_MENU_NEW = GEANY_KEYS_GROUP_FILE,
 	GEANY_KEYS_MENU_OPEN,
 	GEANY_KEYS_MENU_OPENSELECTED,
 	GEANY_KEYS_MENU_SAVE,
@@ -59,13 +61,15 @@
 	GEANY_KEYS_MENU_RELOADFILE,
 	GEANY_KEYS_MENU_PROJECTPROPERTIES,
 
-	GEANY_KEYS_MENU_UNDO,
+	GEANY_KEYS_GROUP_EDIT,
+	GEANY_KEYS_MENU_UNDO = GEANY_KEYS_GROUP_EDIT,
 	GEANY_KEYS_MENU_REDO,
 	GEANY_KEYS_MENU_SELECTALL,
 	GEANY_KEYS_MENU_INSERTDATE,
 	GEANY_KEYS_MENU_PREFERENCES,
 
-	GEANY_KEYS_MENU_FIND,
+	GEANY_KEYS_GROUP_SEARCH,
+	GEANY_KEYS_MENU_FIND = GEANY_KEYS_GROUP_SEARCH,
 	GEANY_KEYS_MENU_FINDNEXT,
 	GEANY_KEYS_MENU_FINDPREVIOUS,
 	GEANY_KEYS_MENU_FINDINFILES,
@@ -75,19 +79,22 @@
 	GEANY_KEYS_MENU_NEXTMESSAGE,
 	GEANY_KEYS_MENU_GOTOLINE,
 
-	GEANY_KEYS_MENU_TOGGLEALL,
+	GEANY_KEYS_GROUP_VIEW,
+	GEANY_KEYS_MENU_TOGGLEALL = GEANY_KEYS_GROUP_VIEW,
 	GEANY_KEYS_MENU_FULLSCREEN,
 	GEANY_KEYS_MENU_MESSAGEWINDOW,
 	GEANY_KEYS_MENU_SIDEBAR,
 	GEANY_KEYS_MENU_ZOOMIN,
 	GEANY_KEYS_MENU_ZOOMOUT,
 
-	GEANY_KEYS_MENU_REPLACETABS,
+	GEANY_KEYS_GROUP_DOCUMENT,
+	GEANY_KEYS_MENU_REPLACETABS = GEANY_KEYS_GROUP_DOCUMENT,
 	GEANY_KEYS_MENU_FOLDALL,
 	GEANY_KEYS_MENU_UNFOLDALL,
 	GEANY_KEYS_RELOADTAGLIST,
 
-	GEANY_KEYS_BUILD_COMPILE,
+	GEANY_KEYS_GROUP_BUILD,
+	GEANY_KEYS_BUILD_COMPILE = GEANY_KEYS_GROUP_BUILD,
 	GEANY_KEYS_BUILD_LINK,
 	GEANY_KEYS_BUILD_MAKE,
 	GEANY_KEYS_BUILD_MAKEOWNTARGET,
@@ -97,24 +104,28 @@
 	GEANY_KEYS_BUILD_RUN2,
 	GEANY_KEYS_BUILD_OPTIONS,
 
-	GEANY_KEYS_MENU_OPENCOLORCHOOSER,
+	GEANY_KEYS_GROUP_TOOLS,
+	GEANY_KEYS_MENU_OPENCOLORCHOOSER = GEANY_KEYS_GROUP_TOOLS,
 	GEANY_KEYS_MENU_INSERTSPECIALCHARS,
 
-	GEANY_KEYS_MENU_HELP,
+	GEANY_KEYS_GROUP_HELP,
+	GEANY_KEYS_MENU_HELP = GEANY_KEYS_GROUP_HELP,
 
-	GEANY_KEYS_SWITCH_EDITOR,
+	GEANY_KEYS_GROUP_FOCUS,
+	GEANY_KEYS_SWITCH_EDITOR = GEANY_KEYS_GROUP_FOCUS,
 	GEANY_KEYS_SWITCH_SCRIBBLE,
 	GEANY_KEYS_SWITCH_VTE,
 	GEANY_KEYS_SWITCH_SEARCH_BAR,
-	GEANY_KEYS_SWITCH_TABLEFT,
+
+	GEANY_KEYS_GROUP_TABS,
+	GEANY_KEYS_SWITCH_TABLEFT = GEANY_KEYS_GROUP_TABS,
 	GEANY_KEYS_SWITCH_TABRIGHT,
 	GEANY_KEYS_SWITCH_TABLASTUSED,
 	GEANY_KEYS_MOVE_TABLEFT,
 	GEANY_KEYS_MOVE_TABRIGHT,
-	GEANY_KEYS_NAV_FORWARD,
-	GEANY_KEYS_NAV_BACK,
 
-	GEANY_KEYS_EDIT_TOGGLECASE,
+	GEANY_KEYS_GROUP_EDITING,
+	GEANY_KEYS_EDIT_TOGGLECASE = GEANY_KEYS_GROUP_EDITING,
 	GEANY_KEYS_EDIT_DUPLICATELINE,
 	GEANY_KEYS_EDIT_DELETELINE,
 	GEANY_KEYS_EDIT_COPYLINE,
@@ -142,17 +153,21 @@
 	GEANY_KEYS_EDIT_SCROLLLINEUP,
 	GEANY_KEYS_EDIT_SCROLLLINEDOWN,
 	GEANY_KEYS_EDIT_INSERTALTWHITESPACE,
-
 	GEANY_KEYS_POPUP_FINDUSAGE,
-	GEANY_KEYS_POPUP_GOTOTAGDEFINITION,
-	GEANY_KEYS_POPUP_GOTOTAGDECLARATION,
 	GEANY_KEYS_POPUP_CONTEXTACTION,
 
-	GEANY_KEYS_EDIT_AUTOCOMPLETE,
+	GEANY_KEYS_GROUP_TAGS,
+	GEANY_KEYS_EDIT_AUTOCOMPLETE = GEANY_KEYS_GROUP_TAGS,
 	GEANY_KEYS_EDIT_CALLTIP,
 	GEANY_KEYS_EDIT_MACROLIST,
 	GEANY_KEYS_EDIT_COMPLETECONSTRUCT,
 	GEANY_KEYS_EDIT_SUPPRESSCOMPLETION,
+	GEANY_KEYS_POPUP_GOTOTAGDEFINITION,
+	GEANY_KEYS_POPUP_GOTOTAGDECLARATION,
+
+	GEANY_KEYS_GROUP_OTHER,
+	GEANY_KEYS_NAV_FORWARD = GEANY_KEYS_GROUP_OTHER,
+	GEANY_KEYS_NAV_BACK,
 	GEANY_MAX_KEYS
 }
 GeanyKeyCommand;

Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h	2007-11-06 15:54:46 UTC (rev 2026)
+++ trunk/src/plugindata.h	2007-11-06 16:59:01 UTC (rev 2027)
@@ -71,12 +71,12 @@
 
 /* The API version should be incremented whenever any plugin data types below are
  * modified or appended to. */
-static const gint api_version = 27;
+static const gint api_version = 28;
 
 /* The ABI version should be incremented whenever existing fields in the plugin
  * data types below have to be changed or reordered. It should stay the same if fields
  * are only appended, as this doesn't affect existing fields. */
-static const gint abi_version = 13;
+static const gint abi_version = 14;
 
 /* This performs runtime checks that try to ensure:
  * 1. Geany ABI data types are compatible with this plugin.


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