summaryrefslogtreecommitdiff
path: root/gtk/gtkfilechooserentry.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-11-05 00:14:39 +0100
committerBenjamin Otte <otte@redhat.com>2011-12-16 20:09:12 +0100
commit242afcfeff21598e6423d2598e10a9922711385f (patch)
tree39047521158c9dbcbf478fbd43ca9e6b62f3d387 /gtk/gtkfilechooserentry.c
parent9ee577d5eeadf07734f67f4a755ff7c6c3bd943c (diff)
downloadgtk+-242afcfeff21598e6423d2598e10a9922711385f.tar.gz
filechooserentry: Start autocomplete immediately
Don't do idle handlers for this.
Diffstat (limited to 'gtk/gtkfilechooserentry.c')
-rw-r--r--gtk/gtkfilechooserentry.c33
1 files changed, 2 insertions, 31 deletions
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index 7ca35c1497..09bf9ebecd 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,