filechooserentry: Add a set_text api
authorMatthias Clasen <mclasen@redhat.com>
Wed, 12 Oct 2022 04:05:44 +0000 (00:05 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 13 Oct 2022 01:59:19 +0000 (21:59 -0400)
This function prevents the completion popup
from coming up when setting the entry text.

gtk/gtkfilechooserentry.c
gtk/gtkfilechooserentry.h

index 62d751fa8649e197a3d15287c1cea42e68972244..1d5c66c43555ecb703fc15069c8fb98667c0283d 100644 (file)
@@ -1017,3 +1017,20 @@ _gtk_file_chooser_entry_set_file_filter (GtkFileChooserEntry *chooser_entry,
 {
   chooser_entry->current_filter = filter;
 }
+
+void
+gtk_file_chooser_entry_set_text (GtkFileChooserEntry *entry,
+                                 const char          *text)
+{
+  GtkEntryCompletion *completion;
+  gboolean popup;
+
+  completion = gtk_entry_get_completion (GTK_ENTRY (entry));
+  popup = gtk_entry_completion_get_popup_completion (completion);
+
+  gtk_entry_completion_set_popup_completion (completion, FALSE);
+
+  gtk_editable_set_text (GTK_EDITABLE (entry), text);
+
+  gtk_entry_completion_set_popup_completion (completion, popup);
+}
index 6ee277f8f7d65f9fc11f0b968c6554ee6d96829d..f7fd7428ecc86453c785e03dd19698fc2741e8de 100644 (file)
@@ -44,6 +44,8 @@ gboolean           _gtk_file_chooser_entry_get_is_folder      (GtkFileChooserEnt
 void               _gtk_file_chooser_entry_select_filename    (GtkFileChooserEntry *chooser_entry);
 void               _gtk_file_chooser_entry_set_file_filter    (GtkFileChooserEntry *chooser_entry,
                                                                GtkFileFilter       *filter);
+void               gtk_file_chooser_entry_set_text            (GtkFileChooserEntry *entry,
+                                                               const char          *text);
 
 G_END_DECLS