summaryrefslogtreecommitdiff
path: root/src/nautilus-switchable-navigation-bar.c
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2000-08-14 23:45:21 +0000
committerDarin Adler <darin@src.gnome.org>2000-08-14 23:45:21 +0000
commit5baaa578051f2f1249a518c256d84d04f221011a (patch)
tree3139949fb03b25f6575af40503e931ad763913fe /src/nautilus-switchable-navigation-bar.c
parent925ddd403d4a4f4ed4042b4e1171ddefc9aa5257 (diff)
downloadnautilus-5baaa578051f2f1249a518c256d84d04f221011a.tar.gz
More prep work for the trash directory.
* libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-trash-directory.c: (nautilus_trash_directory_initialize_class), (nautilus_trash_directory_initialize), (nautilus_trash_directory_destroy): * libnautilus-extensions/nautilus-trash-directory.h: * libnautilus-extensions/nautilus-vfs-directory.c: (nautilus_vfs_directory_initialize_class), (nautilus_vfs_directory_initialize), (nautilus_vfs_directory_destroy): * libnautilus-extensions/nautilus-vfs-directory.h: Add subclasses for the trash and for general VFS directories. Using refactoring techniques to move code down into these subclasses. This is not intended to be a general framework, but should be good enough to handle both these cases. * libnautilus-extensions/nautilus-directory-async.c: (can_use_public_metafile), (metafile_read_check_for_directory), (metafile_read_failed), (metafile_read_start), (allow_metafile), (metafile_write_success_close_callback), (nautilus_metafile_write_start), (start_monitoring_file_list), (get_corresponding_file), (start_getting_file_info): * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_destroy), (make_uri_canonical), (nautilus_directory_get_internal), (nautilus_directory_get_uri), (construct_private_metafile_uri), (nautilus_directory_new), (nautilus_directory_is_local), (nautilus_directory_is_not_empty), (nautilus_self_check_directory): * libnautilus-extensions/nautilus-directory.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_get_internal), (nautilus_file_rename), (nautilus_file_get_gnome_vfs_uri), (nautilus_file_matches_uri), (nautilus_file_compare_by_name), (nautilus_file_compare_by_directory_name), (nautilus_file_compare_for_sort), (nautilus_file_get_uri), (nautilus_file_set_permissions), (nautilus_file_get_string_attribute), (nautilus_file_get_mime_type), (nautilus_file_is_in_trash), (nautilus_file_contains_text), (nautilus_file_get_directory_name), (nautilus_file_mark_gone), (nautilus_file_changed): * libnautilus-extensions/nautilus-file.h: Add code to handle case of directory that can't be handled by gnome-vfs. Mostly some NULL checks. Also renamed fields to make it clear that the text URI is the "real" one. Added code to handle the "gnome-trash:" and "trash:" schemes specially in the code to make URIs canonical. * libnautilus-extensions/nautilus-mime-actions.c: (get_mime_type_from_uri): Return "application/octet-stream" instead of NULL for unknown MIME type. * src/file-manager/fm-directory-view.c: (fm_directory_view_display_selection_info): Eliminated the nautilus_file_get_real_name call. * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_set_location): Eliminated the nautilus_directory_is_search_directory call. * src/file-manager/fm-search-list-view.c: (real_adding_file): Fixed formatting mistake. * src/nautilus-view-frame.c: (set_up_for_new_location): Emit the title_changed signal for each change in location.
Diffstat (limited to 'src/nautilus-switchable-navigation-bar.c')
-rw-r--r--src/nautilus-switchable-navigation-bar.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/nautilus-switchable-navigation-bar.c b/src/nautilus-switchable-navigation-bar.c
index f37946255..a2b4bbed1 100644
--- a/src/nautilus-switchable-navigation-bar.c
+++ b/src/nautilus-switchable-navigation-bar.c
@@ -27,23 +27,19 @@
* that can switch between the location bar and the search bar.
*/
-
#include <config.h>
#include "nautilus-switchable-navigation-bar.h"
-#include "nautilus-switchable-search-bar.h"
-
-#include <libgnome/gnome-defs.h>
-#include <libgnome/gnome-i18n.h>
+#include "nautilus-switchable-search-bar.h"
#include <gtk/gtklabel.h>
#include <gtk/gtksignal.h>
-
+#include <libgnome/gnome-defs.h>
+#include <libgnome/gnome-i18n.h>
#include <libnautilus-extensions/nautilus-directory.h>
#include <libnautilus-extensions/nautilus-gtk-macros.h>
-
+#include <libnautilus-extensions/nautilus-string.h>
#include <stdio.h>
-
enum {
MODE_CHANGED,
LAST_SIGNAL
@@ -168,7 +164,6 @@ nautilus_switchable_navigation_bar_set_location (NautilusNavigationBar *navigati
const char *location)
{
NautilusSwitchableNavigationBar *bar;
- NautilusDirectory *directory;
bar = NAUTILUS_SWITCHABLE_NAVIGATION_BAR (navigation_bar);
@@ -181,8 +176,8 @@ nautilus_switchable_navigation_bar_set_location (NautilusNavigationBar *navigati
location);
/* Toggle the search button on and off appropriately */
- directory = nautilus_directory_get (location);
- if (nautilus_directory_is_search_directory (directory)) {
+ if (nautilus_istr_has_prefix (location, "search:")
+ || nautilus_istr_has_prefix (location, "gnome-search:")) {
nautilus_switchable_navigation_bar_set_mode
(bar, NAUTILUS_SWITCHABLE_NAVIGATION_BAR_MODE_SEARCH);
}
@@ -190,6 +185,4 @@ nautilus_switchable_navigation_bar_set_location (NautilusNavigationBar *navigati
nautilus_switchable_navigation_bar_set_mode
(bar, NAUTILUS_SWITCHABLE_NAVIGATION_BAR_MODE_LOCATION);
}
-
- nautilus_directory_unref (directory);
}