diff options
Diffstat (limited to 'gtk/gtksearchenginesimple.c')
-rw-r--r-- | gtk/gtksearchenginesimple.c | 110 |
1 files changed, 55 insertions, 55 deletions
diff --git a/gtk/gtksearchenginesimple.c b/gtk/gtksearchenginesimple.c index 4d8ff2f908..5c8b63d67b 100644 --- a/gtk/gtksearchenginesimple.c +++ b/gtk/gtksearchenginesimple.c @@ -34,28 +34,28 @@ #define BATCH_SIZE 500 -typedef struct +typedef struct { GtkSearchEngineSimple *engine; - + gchar *path; gchar **words; GList *found_list; - + gint n_processed_files; GList *uri_hits; - + /* accessed on both threads: */ volatile gboolean cancelled; } SearchThreadData; -struct _GtkSearchEngineSimplePrivate +struct _GtkSearchEngineSimplePrivate { GtkQuery *query; - + SearchThreadData *active_search; - + gboolean query_finished; }; @@ -67,11 +67,11 @@ gtk_search_engine_simple_dispose (GObject *object) { GtkSearchEngineSimple *simple; GtkSearchEngineSimplePrivate *priv; - + simple = GTK_SEARCH_ENGINE_SIMPLE (object); priv = simple->priv; - - if (priv->query) + + if (priv->query) { g_object_unref (priv->query); priv->query = NULL; @@ -82,7 +82,7 @@ gtk_search_engine_simple_dispose (GObject *object) priv->active_search->cancelled = TRUE; priv->active_search = NULL; } - + G_OBJECT_CLASS (_gtk_search_engine_simple_parent_class)->dispose (object); } @@ -92,30 +92,30 @@ search_thread_data_new (GtkSearchEngineSimple *engine, { SearchThreadData *data; char *text, *lower, *uri; - + data = g_new0 (SearchThreadData, 1); - + data->engine = g_object_ref (engine); uri = _gtk_query_get_location (query); - if (uri != NULL) + if (uri != NULL) { data->path = g_filename_from_uri (uri, NULL, NULL); g_free (uri); } if (data->path == NULL) data->path = g_strdup (g_get_home_dir ()); - + text = _gtk_query_get_text (query); lower = g_ascii_strdown (text, -1); data->words = g_strsplit (lower, " ", -1); g_free (text); g_free (lower); - + return data; } #ifdef HAVE_FTW_H -static void +static void search_thread_data_free (SearchThreadData *data) { g_object_unref (data->engine); @@ -130,17 +130,17 @@ search_thread_done_idle (gpointer user_data) SearchThreadData *data; data = user_data; - + if (!data->cancelled) _gtk_search_engine_finished (GTK_SEARCH_ENGINE (data->engine)); - + data->engine->priv->active_search = NULL; search_thread_data_free (data); - + return FALSE; } -typedef struct +typedef struct { GList *uris; SearchThreadData *thread_data; @@ -153,7 +153,7 @@ search_thread_add_hits_idle (gpointer user_data) hits = user_data; - if (!hits->thread_data->cancelled) + if (!hits->thread_data->cancelled) { _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (hits->thread_data->engine), hits->uris); @@ -161,7 +161,7 @@ search_thread_add_hits_idle (gpointer user_data) g_list_free_full (hits->uris, g_free); g_free (hits); - + return FALSE; } @@ -169,17 +169,17 @@ static void send_batch (SearchThreadData *data) { SearchHits *hits; - + data->n_processed_files = 0; - - if (data->uri_hits) + + if (data->uri_hits) { guint id; hits = g_new (SearchHits, 1); hits->uris = data->uri_hits; hits->thread_data = data; - + id = gdk_threads_add_idle (search_thread_add_hits_idle, hits); g_source_set_name_by_id (id, "[gtk+] search_thread_add_hits_idle"); } @@ -219,17 +219,17 @@ search_visit_func (const char *fpath, name = fpath; is_hidden = *name == '.'; - + hit = FALSE; - - if (!is_hidden) + + if (!is_hidden) { lower_name = g_ascii_strdown (name, -1); - + hit = TRUE; - for (i = 0; data->words[i] != NULL; i++) + for (i = 0; data->words[i] != NULL; i++) { - if (strstr (lower_name, data->words[i]) == NULL) + if (strstr (lower_name, data->words[i]) == NULL) { hit = FALSE; break; @@ -238,14 +238,14 @@ search_visit_func (const char *fpath, g_free (lower_name); } - if (hit) + if (hit) { uri = g_filename_to_uri (fpath, NULL, NULL); data->uri_hits = g_list_prepend (data->uri_hits, uri); } data->n_processed_files++; - + if (data->n_processed_files > BATCH_SIZE) send_batch (data); @@ -260,15 +260,15 @@ search_visit_func (const char *fpath, } #endif /* HAVE_FTW_H */ -static gpointer +static gpointer search_thread_func (gpointer user_data) { #ifdef HAVE_FTW_H guint id; SearchThreadData *data; - + data = user_data; - + g_private_set (&search_thread_data, data); nftw (data->path, search_visit_func, 20, @@ -278,11 +278,11 @@ search_thread_func (gpointer user_data) FTW_PHYS); send_batch (data); - + id = gdk_threads_add_idle (search_thread_done_idle, data); g_source_set_name_by_id (id, "[gtk+] search_thread_done_idle"); #endif /* HAVE_FTW_H */ - + return NULL; } @@ -291,19 +291,19 @@ gtk_search_engine_simple_start (GtkSearchEngine *engine) { GtkSearchEngineSimple *simple; SearchThreadData *data; - + simple = GTK_SEARCH_ENGINE_SIMPLE (engine); - + if (simple->priv->active_search != NULL) return; - + if (simple->priv->query == NULL) return; - + data = search_thread_data_new (simple, simple->priv->query); - + g_thread_unref (g_thread_new ("file-search", search_thread_func, data)); - + simple->priv->active_search = data; } @@ -311,10 +311,10 @@ static void gtk_search_engine_simple_stop (GtkSearchEngine *engine) { GtkSearchEngineSimple *simple; - + simple = GTK_SEARCH_ENGINE_SIMPLE (engine); - - if (simple->priv->active_search != NULL) + + if (simple->priv->active_search != NULL) { simple->priv->active_search->cancelled = TRUE; simple->priv->active_search = NULL; @@ -328,17 +328,17 @@ gtk_search_engine_simple_is_indexed (GtkSearchEngine *engine) } static void -gtk_search_engine_simple_set_query (GtkSearchEngine *engine, +gtk_search_engine_simple_set_query (GtkSearchEngine *engine, GtkQuery *query) { GtkSearchEngineSimple *simple; - + simple = GTK_SEARCH_ENGINE_SIMPLE (engine); - + if (query) g_object_ref (query); - if (simple->priv->query) + if (simple->priv->query) g_object_unref (simple->priv->query); simple->priv->query = query; @@ -349,10 +349,10 @@ _gtk_search_engine_simple_class_init (GtkSearchEngineSimpleClass *class) { GObjectClass *gobject_class; GtkSearchEngineClass *engine_class; - + gobject_class = G_OBJECT_CLASS (class); gobject_class->dispose = gtk_search_engine_simple_dispose; - + engine_class = GTK_SEARCH_ENGINE_CLASS (class); engine_class->set_query = gtk_search_engine_simple_set_query; engine_class->start = gtk_search_engine_simple_start; |