[geany/geany-plugins] de13ea: commander: Add keybindings for triggering a particular filter type
Colomban Wendling
git-noreply at xxxxx
Fri Jul 22 13:15:53 UTC 2016
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Fri, 22 Jul 2016 13:15:53 UTC
Commit: de13eac4def345ab463f7995a9f11c70ce521ee6
https://github.com/geany/geany-plugins/commit/de13eac4def345ab463f7995a9f11c70ce521ee6
Log Message:
-----------
commander: Add keybindings for triggering a particular filter type
Add keybindings triggering the command panel and ensuring a default
prefix, making it easier to select only commands or files without
having to manually type the prefix.
Modified Paths:
--------------
commander/src/commander-plugin.c
Modified: commander/src/commander-plugin.c
38 lines changed, 33 insertions(+), 5 deletions(-)
===================================================================
@@ -35,7 +35,7 @@
GeanyPlugin *geany_plugin;
GeanyData *geany_data;
-PLUGIN_VERSION_CHECK(224)
+PLUGIN_VERSION_CHECK(226)
PLUGIN_SET_TRANSLATABLE_INFO (
LOCALEDIR, GETTEXT_PACKAGE,
@@ -79,6 +79,8 @@ PLUGIN_SET_TRANSLATABLE_INFO (
enum {
KB_SHOW_PANEL,
+ KB_SHOW_PANEL_COMMANDS,
+ KB_SHOW_PANEL_FILES,
KB_COUNT
};
@@ -727,10 +729,27 @@ create_panel (void)
gtk_widget_show_all (frame);
}
-static void
-on_kb_show_panel (guint key_id)
+static gboolean
+on_kb_show_panel (GeanyKeyBinding *kb,
+ guint key_id,
+ gpointer data)
{
+ const gchar *prefix = data;
+
gtk_widget_show (plugin_data.panel);
+
+ if (prefix) {
+ const gchar *key = gtk_entry_get_text (GTK_ENTRY (plugin_data.entry));
+
+ if (! g_str_has_prefix (key, prefix)) {
+ gtk_entry_set_text (GTK_ENTRY (plugin_data.entry), prefix);
+ }
+ /* select the non-prefix part */
+ gtk_editable_select_region (GTK_EDITABLE (plugin_data.entry),
+ g_utf8_strlen (prefix, -1), -1);
+ }
+
+ return TRUE;
}
static gboolean
@@ -747,8 +766,17 @@ plugin_init (GeanyData *data)
GeanyKeyGroup *group;
group = plugin_set_key_group (geany_plugin, "commander", KB_COUNT, NULL);
- keybindings_set_item (group, KB_SHOW_PANEL, on_kb_show_panel,
- 0, 0, "show_panel", _("Show Command Panel"), NULL);
+ keybindings_set_item_full (group, KB_SHOW_PANEL, 0, 0, "show_panel",
+ _("Show Command Panel"), NULL,
+ on_kb_show_panel, NULL, NULL);
+ keybindings_set_item_full (group, KB_SHOW_PANEL_COMMANDS, 0, 0,
+ "show_panel_commands",
+ _("Show Command Panel (Commands Only)"), NULL,
+ on_kb_show_panel, (gpointer) "c:", NULL);
+ keybindings_set_item_full (group, KB_SHOW_PANEL_FILES, 0, 0,
+ "show_panel_files",
+ _("Show Command Panel (Files Only)"), NULL,
+ on_kb_show_panel, (gpointer) "f:", NULL);
/* delay for other plugins to have a chance to load before, so we will
* include their items */
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list