summaryrefslogtreecommitdiff
path: root/libnautilus-private
diff options
context:
space:
mode:
Diffstat (limited to 'libnautilus-private')
-rw-r--r--libnautilus-private/nautilus-search-engine-model.c17
-rw-r--r--libnautilus-private/nautilus-search-engine-simple.c25
-rw-r--r--libnautilus-private/nautilus-ui-utilities.c12
-rw-r--r--libnautilus-private/nautilus-ui-utilities.h2
4 files changed, 28 insertions, 28 deletions
diff --git a/libnautilus-private/nautilus-search-engine-model.c b/libnautilus-private/nautilus-search-engine-model.c
index 7f44ecbfd..73fc6292b 100644
--- a/libnautilus-private/nautilus-search-engine-model.c
+++ b/libnautilus-private/nautilus-search-engine-model.c
@@ -28,6 +28,7 @@
#include "nautilus-directory.h"
#include "nautilus-directory-private.h"
#include "nautilus-file.h"
+#include "nautilus-ui-utilities.h"
#include <string.h>
#include <glib.h>
@@ -88,24 +89,12 @@ emit_finished_idle_cb (gpointer user_data)
}
static gchar *
-prepare_string_for_compare (const gchar *string)
-{
- gchar *normalized, *res;
-
- normalized = g_utf8_normalize (string, -1, G_NORMALIZE_NFD);
- res = g_utf8_strdown (normalized, -1);
- g_free (normalized);
-
- return res;
-}
-
-static gchar *
prepare_pattern_for_comparison (NautilusSearchEngineModel *model)
{
gchar *text, *prepared, *pattern;
text = nautilus_query_get_text (model->details->query);
- prepared = prepare_string_for_compare (text);
+ prepared = nautilus_search_prepare_string_for_compare (text);
pattern = g_strdup_printf ("*%s*", prepared);
g_free (prepared);
@@ -132,7 +121,7 @@ model_directory_ready_cb (NautilusDirectory *directory,
for (l = files; l != NULL; l = l->next) {
file = l->data;
display_name = nautilus_file_get_display_name (file);
- prepared = prepare_string_for_compare (display_name);
+ prepared = nautilus_search_prepare_string_for_compare (display_name);
if (g_pattern_match_simple (pattern, prepared)) {
uri = nautilus_file_get_uri (file);
diff --git a/libnautilus-private/nautilus-search-engine-simple.c b/libnautilus-private/nautilus-search-engine-simple.c
index 5571a02cf..8629a8a40 100644
--- a/libnautilus-private/nautilus-search-engine-simple.c
+++ b/libnautilus-private/nautilus-search-engine-simple.c
@@ -25,6 +25,7 @@
#include "nautilus-search-hit.h"
#include "nautilus-search-provider.h"
#include "nautilus-search-engine-simple.h"
+#include "nautilus-ui-utilities.h"
#include <string.h>
#include <glib.h>
@@ -94,7 +95,7 @@ search_thread_data_new (NautilusSearchEngineSimple *engine,
NautilusQuery *query)
{
SearchThreadData *data;
- char *text, *lower, *normalized, *uri;
+ char *text, *prepared, *uri;
GFile *location;
data = g_new0 (SearchThreadData, 1);
@@ -114,12 +115,10 @@ search_thread_data_new (NautilusSearchEngineSimple *engine,
g_queue_push_tail (data->directories, location);
text = nautilus_query_get_text (query);
- normalized = g_utf8_normalize (text, -1, G_NORMALIZE_NFD);
- lower = g_utf8_strdown (normalized, -1);
- data->words = g_strsplit (lower, " ", -1);
+ prepared = nautilus_search_prepare_string_for_compare (text);
+ data->words = g_strsplit (prepared, " ", -1);
g_free (text);
- g_free (lower);
- g_free (normalized);
+ g_free (prepared);
data->mime_types = nautilus_query_get_mime_types (query);
@@ -214,7 +213,7 @@ visit_directory (GFile *dir, SearchThreadData *data)
GFileInfo *info;
GFile *child;
const char *mime_type, *display_name;
- char *lower_name, *normalized;
+ char *prepared;
gboolean found;
int i;
GList *l;
@@ -239,19 +238,17 @@ visit_directory (GFile *dir, SearchThreadData *data)
if (display_name == NULL) {
goto next;
}
-
- normalized = g_utf8_normalize (display_name, -1, G_NORMALIZE_NFD);
- lower_name = g_utf8_strdown (normalized, -1);
- g_free (normalized);
-
+
+ prepared = nautilus_search_prepare_string_for_compare (display_name);
+
found = TRUE;
for (i = 0; data->words[i] != NULL; i++) {
- if (strstr (lower_name, data->words[i]) == NULL) {
+ if (strstr (prepared, data->words[i]) == NULL) {
found = FALSE;
break;
}
}
- g_free (lower_name);
+ g_free (prepared);
if (found && data->mime_types) {
mime_type = g_file_info_get_content_type (info);
diff --git a/libnautilus-private/nautilus-ui-utilities.c b/libnautilus-private/nautilus-ui-utilities.c
index 539ddca70..b70a01f87 100644
--- a/libnautilus-private/nautilus-ui-utilities.c
+++ b/libnautilus-private/nautilus-ui-utilities.c
@@ -61,6 +61,18 @@ nautilus_ui_prepare_merge_ui (GtkUIManager *ui_manager,
g_object_unref (*action_group); /* owned by ui manager */
}
+gchar *
+nautilus_search_prepare_string_for_compare (const gchar *string)
+{
+ gchar *normalized, *res;
+
+ normalized = g_utf8_normalize (string, -1, G_NORMALIZE_NFD);
+ res = g_utf8_strdown (normalized, -1);
+ g_free (normalized);
+
+ return res;
+}
+
static void
extension_action_callback (GtkAction *action,
gpointer callback_data)
diff --git a/libnautilus-private/nautilus-ui-utilities.h b/libnautilus-private/nautilus-ui-utilities.h
index 12e2e5e5a..9020a1251 100644
--- a/libnautilus-private/nautilus-ui-utilities.h
+++ b/libnautilus-private/nautilus-ui-utilities.h
@@ -36,6 +36,8 @@ void nautilus_ui_prepare_merge_ui (GtkUIManager *ui_manage
GtkActionGroup **action_group);
GtkAction * nautilus_action_from_menu_item (NautilusMenuItem *item);
+gchar * nautilus_search_prepare_string_for_compare (const gchar *string);
+
GdkPixbuf * nautilus_ui_get_menu_icon (const char *icon_name);
char * nautilus_escape_action_name (const char *action_name,