[gtk+] filechooserentry: Start autocomplete immediately



commit 242afcfeff21598e6423d2598e10a9922711385f
Author: Benjamin Otte <otte redhat com>
Date:   Sat Nov 5 00:14:39 2011 +0100

    filechooserentry: Start autocomplete immediately
    
    Don't do idle handlers for this.

 gtk/gtkfilechooserentry.c |   33 ++-------------------------------
 1 files changed, 2 insertions(+), 31 deletions(-)
---
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index 7ca35c1..09bf9eb 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -76,8 +76,6 @@ struct _GtkFileChooserEntry
 
   GtkTreeModel *completion_store;
 
-  guint start_autocompletion_idle_id;
-
   GtkWidget *completion_feedback_window;
   GtkWidget *completion_feedback_label;
   guint completion_feedback_timeout_id;
@@ -154,7 +152,7 @@ static void finished_loading_cb (GtkFileSystemModel  *model,
                                  GError              *error,
 		                 GtkFileChooserEntry *chooser_entry);
 static void autocomplete (GtkFileChooserEntry *chooser_entry);
-static void install_start_autocompletion_idle (GtkFileChooserEntry *chooser_entry);
+static void start_autocompletion (GtkFileChooserEntry *chooser_entry);
 static void remove_completion_feedback (GtkFileChooserEntry *chooser_entry);
 static void pop_up_completion_feedback (GtkFileChooserEntry *chooser_entry,
 					const gchar         *feedback);
@@ -267,12 +265,6 @@ gtk_file_chooser_entry_dispose (GObject *object)
   remove_completion_feedback (chooser_entry);
   discard_loading_and_current_folder_file (chooser_entry);
 
-  if (chooser_entry->start_autocompletion_idle_id != 0)
-    {
-      g_source_remove (chooser_entry->start_autocompletion_idle_id);
-      chooser_entry->start_autocompletion_idle_id = 0;
-    }
-
   if (chooser_entry->completion_store)
     {
       g_object_unref (chooser_entry->completion_store);
@@ -826,7 +818,7 @@ gtk_file_chooser_entry_do_insert_text (GtkEditable *editable,
   if ((chooser_entry->action == GTK_FILE_CHOOSER_ACTION_OPEN
        || chooser_entry->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
       && insert_pos == old_text_len)
-    install_start_autocompletion_idle (chooser_entry);
+    start_autocompletion (chooser_entry);
 }
 
 static void
@@ -1608,27 +1600,6 @@ start_autocompletion (GtkFileChooserEntry *chooser_entry)
     }
 }
 
-static gboolean
-start_autocompletion_idle_handler (gpointer data)
-{
-  GtkFileChooserEntry *chooser_entry = GTK_FILE_CHOOSER_ENTRY (data);
-
-  start_autocompletion (chooser_entry);
-
-  chooser_entry->start_autocompletion_idle_id = 0;
-
-  return FALSE;
-}
-
-static void
-install_start_autocompletion_idle (GtkFileChooserEntry *chooser_entry)
-{
-  if (chooser_entry->start_autocompletion_idle_id != 0)
-    return;
-
-  chooser_entry->start_autocompletion_idle_id = gdk_threads_add_idle (start_autocompletion_idle_handler, chooser_entry);
-}
-
 #ifdef G_OS_WIN32
 static gint
 insert_text_callback (GtkFileChooserEntry *chooser_entry,



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