diff options
author | John Sullivan <sullivan@src.gnome.org> | 2000-08-09 18:00:49 +0000 |
---|---|---|
committer | John Sullivan <sullivan@src.gnome.org> | 2000-08-09 18:00:49 +0000 |
commit | 6336ed3d907459cf55661813cd353513a752e546 (patch) | |
tree | 3bc57f6d8afe14ce38a843c94b19b049489f1dce /libnautilus-extensions | |
parent | a939160e500d5a6c6e7184d0395c4e6be1c903bc (diff) | |
download | nautilus-6336ed3d907459cf55661813cd353513a752e546.tar.gz |
A little more work towards bug 1753 (search results should
start out sorted by search criteria) and a bug fix.
* libnautilus-extensions/nautilus-search-bar-criterion.h:
Make #define constants for the criteria parts of search URIs
(e.g. "file_name", "size", "content", etc.)
* libnautilus-extensions/nautilus-search-bar-criterion.c:
(get_name_location_for), (get_content_location_for),
(get_file_type_location_for), (get_size_location_for),
(get_emblem_location_for), (get_date_modified_location_for),
(get_owner_location_for): Use these constants when creating
the URI used by complex search bar.
* src/nautilus-simple-search-bar.c:
(nautilus_simple_search_criteria_to_search_uri):
Use these constants when creating the URI used by simple
search bar. Also added a FIXME about how the simple search
bar should be sharing the URI-generation code of the
complex search bar.
* src/nautilus-complex-search-bar.c: (criterion_callback):
Update sensitivity of "Find" button when user chooses
different criterion from menu. This fixes bug where switching
from an empty text-type value to a menu-type value would leave
the "Find" button insensitive.
Diffstat (limited to 'libnautilus-extensions')
-rw-r--r-- | libnautilus-extensions/nautilus-search-bar-criterion.c | 24 | ||||
-rw-r--r-- | libnautilus-extensions/nautilus-search-bar-criterion.h | 8 |
2 files changed, 23 insertions, 9 deletions
diff --git a/libnautilus-extensions/nautilus-search-bar-criterion.c b/libnautilus-extensions/nautilus-search-bar-criterion.c index d7f166726..8a4875318 100644 --- a/libnautilus-extensions/nautilus-search-bar-criterion.c +++ b/libnautilus-extensions/nautilus-search-bar-criterion.c @@ -517,7 +517,7 @@ nautilus_search_bar_criterion_human_from_uri (const char *location_uri) static char * get_name_location_for (int relation_number, char *name_text) { - const char *possible_relations[] = { "contains", + const char *possible_relations[] = {"contains", "starts_with", "ends_with", "matches_glob", @@ -526,7 +526,8 @@ get_name_location_for (int relation_number, char *name_text) g_assert (relation_number >= 0); g_assert (relation_number < 5); - return g_strdup_printf ("file_name %s %s", possible_relations[relation_number], + return g_strdup_printf ("%s %s %s", NAUTILUS_SEARCH_URI_TEXT_NAME, + possible_relations[relation_number], name_text); } @@ -539,7 +540,8 @@ get_content_location_for (int relation_number, char *name_text) g_assert (relation_number == 0 || relation_number == 1); - return g_strdup_printf ("content %s %s", possible_relations[relation_number], + return g_strdup_printf ("%s %s %s", NAUTILUS_SEARCH_URI_TEXT_CONTENT, + possible_relations[relation_number], name_text); } @@ -553,7 +555,8 @@ get_file_type_location_for (int relation_number, g_assert (relation_number == 0 || relation_number == 1); g_assert (value_number >= 0); g_assert (value_number < 5); - return g_strdup_printf ("file_type %s %s", possible_relations[relation_number], + return g_strdup_printf ("%s %s %s", NAUTILUS_SEARCH_URI_TEXT_TYPE, + possible_relations[relation_number], possible_values[value_number]); } @@ -566,7 +569,9 @@ get_size_location_for (int relation_number, g_assert (relation_number == 0 || relation_number == 1); /* FIXME: Need checks for appropriate size here */ - return g_strdup_printf ("size %s %s", possible_relations[relation_number], size_text); + return g_strdup_printf ("%s %s %s", NAUTILUS_SEARCH_URI_TEXT_SIZE, + possible_relations[relation_number], + size_text); } @@ -574,8 +579,8 @@ static char * get_emblem_location_for (int relation_number, int value_number) { - /* FIXME */ - return g_strdup (""); + /* FIXME: not yet implemented */ + return g_strdup_printf ("%s ", NAUTILUS_SEARCH_URI_TEXT_EMBLEMS); } static char * @@ -589,7 +594,8 @@ get_date_modified_location_for (int relation_number, g_assert (value_number >= 0); g_assert (value_number < 3); - return g_strdup_printf ("mod_time %s %s", possible_relations[relation_number], + return g_strdup_printf ("%s %s %s", NAUTILUS_SEARCH_URI_TEXT_DATE_MODIFIED, + possible_relations[relation_number], possible_values[value_number]); } @@ -600,7 +606,7 @@ get_owner_location_for (int relation_number, { const char *possible_relations[] = { "is", "is not" }; g_assert (relation_number == 0 || relation_number == 1); - return g_strdup_printf ("owner %s %s", possible_relations[relation_number], owner_text); + return g_strdup_printf ("%s %s %s", NAUTILUS_SEARCH_URI_TEXT_OWNER, possible_relations[relation_number], owner_text); } diff --git a/libnautilus-extensions/nautilus-search-bar-criterion.h b/libnautilus-extensions/nautilus-search-bar-criterion.h index 7ade54330..ff6194095 100644 --- a/libnautilus-extensions/nautilus-search-bar-criterion.h +++ b/libnautilus-extensions/nautilus-search-bar-criterion.h @@ -43,6 +43,14 @@ typedef enum { NAUTILUS_LAST_CRITERION } NautilusSearchBarCriterionType; +/* These strings are used programatically; they must not be translated */ +#define NAUTILUS_SEARCH_URI_TEXT_NAME "file_name" +#define NAUTILUS_SEARCH_URI_TEXT_CONTENT "content" +#define NAUTILUS_SEARCH_URI_TEXT_TYPE "file" +#define NAUTILUS_SEARCH_URI_TEXT_SIZE "size" +#define NAUTILUS_SEARCH_URI_TEXT_EMBLEMS "emblem" +#define NAUTILUS_SEARCH_URI_TEXT_DATE_MODIFIED "mod_time" +#define NAUTILUS_SEARCH_URI_TEXT_OWNER "owner" typedef struct NautilusSearchBarCriterionDetails NautilusSearchBarCriterionDetails; |