summaryrefslogtreecommitdiff
path: root/src/nautilus-navigation-window.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@src.gnome.org>2007-11-30 14:51:10 +0000
committerAlexander Larsson <alexl@src.gnome.org>2007-11-30 14:51:10 +0000
commit469047a2a58430026d68a3b99b223b922b18b8d1 (patch)
tree0d7422285604a348f98f3c93e39afdf570050678 /src/nautilus-navigation-window.c
parentce669bd18cf00a3fc485ffedc53850e2d89b57e0 (diff)
downloadnautilus-469047a2a58430026d68a3b99b223b922b18b8d1.tar.gz
Merge gio-branch
svn path=/trunk/; revision=13464
Diffstat (limited to 'src/nautilus-navigation-window.c')
-rw-r--r--src/nautilus-navigation-window.c63
1 files changed, 33 insertions, 30 deletions
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index 0e06509a9..0d21e665e 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -41,13 +41,8 @@
#include "nautilus-search-bar.h"
#include "nautilus-window-manage-views.h"
#include "nautilus-zoom-control.h"
-#include <eel/eel-accessibility.h>
-#include <eel/eel-debug.h>
-#include <eel/eel-gdk-extensions.h>
-#include <eel/eel-gdk-pixbuf-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-gtk-macros.h>
-#include <eel/eel-stock-dialogs.h>
#include <eel/eel-string.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk/gdkx.h>
@@ -69,7 +64,7 @@
#include <libnautilus-private/nautilus-file-attributes.h>
#include <libnautilus-private/nautilus-global-preferences.h>
#include <libnautilus-private/nautilus-horizontal-splitter.h>
-#include <libnautilus-private/nautilus-icon-factory.h>
+#include <libnautilus-private/nautilus-icon-info.h>
#include <libnautilus-private/nautilus-metadata.h>
#include <libnautilus-private/nautilus-mime-actions.h>
#include <libnautilus-private/nautilus-program-choosing.h>
@@ -83,6 +78,7 @@
#include <libnautilus-private/nautilus-signaller.h>
#include <math.h>
#include <sys/time.h>
+#include <gio/gthemedicon.h>
/* FIXME bugzilla.gnome.org 41243:
@@ -119,7 +115,7 @@ static void navigation_bar_location_changed_callback (GtkWidget *
static void navigation_bar_cancel_callback (GtkWidget *widget,
NautilusNavigationWindow *window);
static void path_bar_location_changed_callback (GtkWidget *widget,
- const char *uri,
+ GFile *path,
NautilusNavigationWindow *window);
static void always_use_location_entry_changed (gpointer callback_data);
static void always_use_browser_changed (gpointer callback_data);
@@ -402,24 +398,24 @@ always_use_browser_changed (gpointer callback_data)
static int
bookmark_list_get_uri_index (GList *list,
- const char *uri)
+ GFile *location)
{
NautilusBookmark *bookmark;
GList *l;
- char *tmp;
+ GFile *tmp;
int i;
- g_return_val_if_fail (uri != NULL, -1);
+ g_return_val_if_fail (location != NULL, -1);
for (i = 0, l = list; l != NULL; i++, l = l->next) {
bookmark = NAUTILUS_BOOKMARK (l->data);
- tmp = nautilus_bookmark_get_uri (bookmark);
- if (strcmp (tmp, uri) == 0) {
- g_free (tmp);
+ tmp = nautilus_bookmark_get_location (bookmark);
+ if (g_file_equal (location, tmp)) {
+ g_object_unref (tmp);
return i;
}
- g_free (tmp);
+ g_object_unref (tmp);
}
return -1;
@@ -427,7 +423,7 @@ bookmark_list_get_uri_index (GList *list,
static void
path_bar_location_changed_callback (GtkWidget *widget,
- const char *uri,
+ GFile *location,
NautilusNavigationWindow *window)
{
int i;
@@ -435,11 +431,11 @@ path_bar_location_changed_callback (GtkWidget *widget,
g_assert (NAUTILUS_IS_NAVIGATION_WINDOW (window));
/* check whether we already visited the target location */
- i = bookmark_list_get_uri_index (window->back_list, uri);
+ i = bookmark_list_get_uri_index (window->back_list, location);
if (i >= 0) {
nautilus_navigation_window_back_or_forward (window, TRUE, i);
} else {
- nautilus_window_go_to (NAUTILUS_WINDOW (window), uri);
+ nautilus_window_go_to (NAUTILUS_WINDOW (window), location);
}
}
@@ -479,8 +475,12 @@ navigation_bar_location_changed_callback (GtkWidget *widget,
const char *uri,
NautilusNavigationWindow *window)
{
+ GFile *location;
+
hide_temporary_bars (window);
- nautilus_window_go_to (NAUTILUS_WINDOW (window), uri);
+ location = g_file_new_for_uri (uri);
+ nautilus_window_go_to (NAUTILUS_WINDOW (window), location);
+ g_object_unref (location);
}
static void
@@ -700,6 +700,7 @@ nautilus_navigation_window_destroy (GtkObject *object)
window->sidebar = NULL;
g_list_foreach (window->sidebar_panels, (GFunc)g_object_unref, NULL);
+ g_list_free (window->sidebar_panels);
window->sidebar_panels = NULL;
window->view_as_combo_box = NULL;
@@ -765,10 +766,8 @@ nautilus_navigation_window_add_sidebar_panel (NautilusNavigationWindow *window,
g_signal_connect (sidebar_panel, "tab_icon_changed",
(GCallback)side_panel_image_changed_callback, window);
-
- g_object_ref (sidebar_panel);
- window->sidebar_panels = g_list_prepend (window->sidebar_panels, sidebar_panel);
-
+ window->sidebar_panels = g_list_prepend (window->sidebar_panels,
+ g_object_ref (sidebar_panel));
/* Show if default */
sidebar_id = nautilus_sidebar_get_sidebar_id (sidebar_panel);
@@ -948,10 +947,10 @@ real_set_title (NautilusWindow *window, const char *title)
return changed;
}
-static char *
-real_get_icon_name (NautilusWindow *window)
+static NautilusIconInfo *
+real_get_icon (NautilusWindow *window)
{
- return g_strdup ("file-manager");
+ return nautilus_icon_info_lookup_from_name ("file-manager", 48);
}
static void
@@ -1077,9 +1076,13 @@ search_bar_activate_callback (NautilusSearchBar *bar,
NautilusDirectory *directory;
NautilusSearchDirectory *search_directory;
NautilusQuery *query;
+ GFile *location;
uri = nautilus_search_directory_generate_new_uri ();
- directory = nautilus_directory_get (uri);
+ location = g_file_new_for_uri (uri);
+ g_free (uri);
+
+ directory = nautilus_directory_get (location);
g_assert (NAUTILUS_IS_SEARCH_DIRECTORY (directory));
@@ -1088,7 +1091,7 @@ search_bar_activate_callback (NautilusSearchBar *bar,
query = nautilus_search_bar_get_query (NAUTILUS_SEARCH_BAR (NAUTILUS_NAVIGATION_WINDOW (window)->search_bar));
if (query != NULL) {
if (!nautilus_search_directory_is_indexed (search_directory)) {
- current_uri = nautilus_window_get_location (window);
+ current_uri = nautilus_window_get_location_uri (window);
nautilus_query_set_location (query, current_uri);
g_free (current_uri);
}
@@ -1096,10 +1099,10 @@ search_bar_activate_callback (NautilusSearchBar *bar,
g_object_unref (query);
}
- nautilus_window_go_to (window, uri);
+ nautilus_window_go_to (window, location);
nautilus_directory_unref (directory);
- g_free (uri);
+ g_object_unref (location);
}
static void
@@ -1594,7 +1597,7 @@ nautilus_navigation_window_class_init (NautilusNavigationWindowClass *class)
NAUTILUS_WINDOW_CLASS (class)->prompt_for_location = real_prompt_for_location;
NAUTILUS_WINDOW_CLASS (class)->set_search_mode = real_set_search_mode;
NAUTILUS_WINDOW_CLASS (class)->set_title = real_set_title;
- NAUTILUS_WINDOW_CLASS (class)->get_icon_name = real_get_icon_name;
+ NAUTILUS_WINDOW_CLASS (class)->get_icon = real_get_icon;
NAUTILUS_WINDOW_CLASS (class)->get_default_size = real_get_default_size;
NAUTILUS_WINDOW_CLASS (class)->close = real_window_close;