Revision: 3637 http://geany.svn.sourceforge.net/geany/?rev=3637&view=rev Author: eht16 Date: 2009-03-19 17:50:38 +0000 (Thu, 19 Mar 2009)
Log Message: ----------- Add keybindings for the split actions.
Modified Paths: -------------- trunk/ChangeLog trunk/plugins/splitwindow.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-03-19 17:50:23 UTC (rev 3636) +++ trunk/ChangeLog 2009-03-19 17:50:38 UTC (rev 3637) @@ -12,6 +12,8 @@ initialisation. Add a shortcut of the project's base directory to the File Open/Save As dialogs when a project is open for faster access. + * src/splitwindow.c: + Add keybindings for the split actions.
2009-03-16 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/plugins/splitwindow.c =================================================================== --- trunk/plugins/splitwindow.c 2009-03-19 17:50:23 UTC (rev 3636) +++ trunk/plugins/splitwindow.c 2009-03-19 17:50:38 UTC (rev 3637) @@ -34,6 +34,7 @@ #include "document.h" #include "editor.h" #include "plugindata.h" +#include "keybindings.h" #include "geanyfunctions.h"
@@ -46,6 +47,18 @@ GeanyFunctions *geany_functions;
+/* Keybinding(s) */ +enum +{ + KB_SPLIT_HORIZONTAL, + KB_SPLIT_VERTICAL, + KB_SPLIT_UNSPLIT, + KB_COUNT +}; + +PLUGIN_KEY_GROUP(split_window, KB_COUNT); + + enum State { STATE_SPLIT_HORIZONTAL, @@ -354,6 +367,26 @@ }
+static void kb_activate(guint key_id) +{ + switch (key_id) + { + case KB_SPLIT_HORIZONTAL: + if (plugin_state == STATE_UNSPLIT) + split_view(TRUE); + break; + case KB_SPLIT_VERTICAL: + if (plugin_state == STATE_UNSPLIT) + split_view(FALSE); + break; + case KB_SPLIT_UNSPLIT: + if (plugin_state != STATE_UNSPLIT) + on_unsplit(NULL, NULL); + break; + } +} + + void plugin_init(GeanyData *data) { GtkWidget *item, *menu; @@ -383,6 +416,14 @@ gtk_widget_show_all(menu_items.main);
set_state(STATE_UNSPLIT); + + /* setup keybindings */ + keybindings_set_item(plugin_key_group, KB_SPLIT_HORIZONTAL, kb_activate, + 0, 0, "split_horizontal", _("Split Horizontally"), menu_items.horizontal); + keybindings_set_item(plugin_key_group, KB_SPLIT_VERTICAL, kb_activate, + 0, 0, "split_vertical", _("Split Vertically"), menu_items.vertical); + keybindings_set_item(plugin_key_group, KB_SPLIT_UNSPLIT, kb_activate, + 0, 0, "split_unsplit", _("Unsplit"), menu_items.unsplit); }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.