[gtk/gtk3_fix_chooser_dead_tilde_trigger_location: 2/2] Fix open location entry when pressing '~'




commit c75e3a00f58ef179df8d4ddcd30d0e79665fd9c5
Author: Nelson Benítez León <nbenitezl gmail com>
Date:   Sun Aug 21 15:19:37 2022 -0400

    Fix open location entry when pressing '~'
    
    Recent changes in GTK default input method
    makes ~ char to start as dead key, that's
    why filechooser stopped detecting it for the
    keybinding to open location entry.
    
    We also make sure '~' appears in the location
    entry (instead of being emtpy).
    
    Fixes #4911

 gtk/gtkfilechooserwidget.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index f8cfcb4732..2298744790 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -1332,6 +1332,7 @@ should_trigger_location_entry (GtkFileChooserWidget *impl,
        || event->keyval == GDK_KEY_period
 #ifdef G_OS_UNIX
        || event->keyval == GDK_KEY_asciitilde
+       || event->keyval == GDK_KEY_dead_tilde
 #endif
        ) && !(event->state & no_text_input_mask))
     return TRUE;
@@ -1348,6 +1349,7 @@ browse_files_key_press_event_cb (GtkWidget   *widget,
                                  GdkEventKey *event,
                                  gpointer     data)
 {
+  gchar *path;
   GtkFileChooserWidget *impl = (GtkFileChooserWidget *) data;
   GtkFileChooserWidgetPrivate *priv = impl->priv;
 
@@ -1358,7 +1360,8 @@ browse_files_key_press_event_cb (GtkWidget   *widget,
       (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
        priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER))
     {
-      location_popup_handler (impl, event->string);
+      path = event->keyval == GDK_KEY_dead_tilde ? "~" : event->string;
+      location_popup_handler (impl, path);
       return TRUE;
     }
 


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