[gnome-commander] Focus command line via CTRL+ALT+C when quick search with just a letter is active



commit dbbe436b8f2e8ef6e64c5ec4a297b8a004294d62
Author: Uwe Scholz <uwescholz src gnome org>
Date:   Sat Aug 19 12:08:06 2017 +0200

    Focus command line via CTRL+ALT+C when quick search with just a letter is active

 src/dialogs/gnome-cmd-options-dialog.cc |    2 +-
 src/gnome-cmd-main-win.cc               |   20 +++++++++++++++++---
 2 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/src/dialogs/gnome-cmd-options-dialog.cc b/src/dialogs/gnome-cmd-options-dialog.cc
index a111d7c..207ecde 100644
--- a/src/dialogs/gnome-cmd-options-dialog.cc
+++ b/src/dialogs/gnome-cmd-options-dialog.cc
@@ -173,7 +173,7 @@ static GtkWidget *create_general_tab (GtkWidget *parent, GnomeCmdData::Options &
     gtk_container_add (GTK_CONTAINER (cat_box), radio);
     if (cfg.quick_search == GNOME_CMD_QUICK_SEARCH_ALT)
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
-    radio = create_radio (parent, get_radio_group (radio), _("Just letters"), "quick_search");
+    radio = create_radio (parent, get_radio_group (radio), _("Just letters (command line access with 
CTRL+ALT+C)"), "quick_search");
     gtk_container_add (GTK_CONTAINER (cat_box), radio);
     if (cfg.quick_search == GNOME_CMD_QUICK_SEARCH_JUST_A_CHARACTER)
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE);
diff --git a/src/gnome-cmd-main-win.cc b/src/gnome-cmd-main-win.cc
index 8e4a74d..7c4b187 100644
--- a/src/gnome-cmd-main-win.cc
+++ b/src/gnome-cmd-main-win.cc
@@ -155,8 +155,10 @@ static gint gnome_cmd_key_snooper(GtkWidget *grab_widget, GdkEventKey *event, Gn
         return FALSE;
     }
     
-    if (state_is_ctrl (event->state) || state_is_ctrl_shift (event->state) || state_is_ctrl_alt_shift 
(event->state)
-        || ((state_is_alt (event->state) || state_is_alt_shift (event->state)) && 
gnome_cmd_data.options.quick_search != GNOME_CMD_QUICK_SEARCH_ALT))
+    if ((gnome_cmd_data.options.quick_search == GNOME_CMD_QUICK_SEARCH_JUST_A_CHARACTER) &&
+        (state_is_ctrl (event->state) || state_is_ctrl_shift (event->state) || state_is_ctrl_alt_shift 
(event->state)
+        || (state_is_alt (event->state) || state_is_alt_shift (event->state))
+        || (state_is_ctrl_alt(event->state))))
     {
         return FALSE;
     }
@@ -984,7 +986,19 @@ void GnomeCmdMainWin::refocus()
 
 gboolean GnomeCmdMainWin::key_pressed(GdkEventKey *event)
 {
-    if (state_is_alt (event->state))
+    if (state_is_ctrl_alt (event->state))
+    {
+        switch (event->keyval)
+        {
+            case GDK_c:
+            case GDK_C:
+                if (gnome_cmd_data.cmdline_visibility && (gnome_cmd_data.options.quick_search == 
GNOME_CMD_QUICK_SEARCH_JUST_A_CHARACTER))
+                    gnome_cmd_cmdline_focus(main_win->get_cmdline());
+                return TRUE;
+                break;
+        }
+    }
+    else if (state_is_alt (event->state))
     {
         switch (event->keyval)
         {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]