gtk+ r20393 - in trunk: . gtk
- From: carlosg svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r20393 - in trunk: . gtk
- Date: Sun, 15 Jun 2008 23:32:11 +0000 (UTC)
Author: carlosg
Date: Sun Jun 15 23:32:11 2008
New Revision: 20393
URL: http://svn.gnome.org/viewvc/gtk+?rev=20393&view=rev
Log:
2008-06-15 Carlos Garnacho <carlos imendio com>
* gtk/gtkfilechooser.c (gtk_file_chooser_get_filename): Return full
path here as expected, not just the basename.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_update_current_folder): Ensure that we keep
a reference to file, since it can be destroyed when switching back to
browse mode.
* gtk/gtkfilesystem.c (get_icon_for_special_directory): Removed, home
and desktop directories are dealt by the filechooser as normal files,
not volumes, so the icon for these is handled directly by GIO.
(_gtk_file_system_volume_render_icon): Update caller.
Modified:
trunk/ChangeLog
trunk/gtk/gtkfilechooser.c
trunk/gtk/gtkfilechooserdefault.c
trunk/gtk/gtkfilesystem.c
Modified: trunk/gtk/gtkfilechooser.c
==============================================================================
--- trunk/gtk/gtkfilechooser.c (original)
+++ trunk/gtk/gtkfilechooser.c Sun Jun 15 23:32:11 2008
@@ -454,7 +454,7 @@
if (file)
{
- result = g_file_get_basename (file);
+ result = g_file_get_path (file);
g_object_unref (file);
}
Modified: trunk/gtk/gtkfilechooserdefault.c
==============================================================================
--- trunk/gtk/gtkfilechooserdefault.c (original)
+++ trunk/gtk/gtkfilechooserdefault.c Sun Jun 15 23:32:11 2008
@@ -6982,6 +6982,8 @@
profile_start ("start", NULL);
+ g_object_ref (file);
+
switch (impl->operation_mode)
{
case OPERATION_MODE_SEARCH:
@@ -7001,6 +7003,7 @@
GTK_FILE_CHOOSER_ERROR_BAD_FILENAME,
_("Cannot change to folder because it is not local"));
+ g_object_unref (file);
profile_end ("end - not local", NULL);
return FALSE;
}
@@ -7024,6 +7027,7 @@
data);
set_busy_cursor (impl, TRUE);
+ g_object_unref (file);
profile_end ("end", NULL);
return TRUE;
Modified: trunk/gtk/gtkfilesystem.c
==============================================================================
--- trunk/gtk/gtkfilesystem.c (original)
+++ trunk/gtk/gtkfilesystem.c Sun Jun 15 23:32:11 2008
@@ -1662,50 +1662,6 @@
return pixbuf;
}
-static GIcon *
-get_icon_for_special_directory (GFile *file)
-{
- const gchar *special_dir;
- GFile *special_file;
-
- special_dir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
- special_file = g_file_new_for_path (special_dir);
-
- if (g_file_equal (file, special_file))
- {
- const char *names[] = {
- "user-desktop",
- "gnome-fs-desktop",
- "folder",
- "gtk-directory",
- NULL
- };
- g_object_unref (special_file);
- return g_themed_icon_new_from_names ((char **)names, -1);
- }
-
- g_object_unref (special_file);
- special_dir = g_get_home_dir ();
- special_file = g_file_new_for_path (special_dir);
-
- if (g_file_equal (file, special_file))
- {
- const char *names[] = {
- "user-home",
- "gnome-fs-home",
- "folder",
- "gtk-directory",
- NULL
- };
- g_object_unref (special_file);
- return g_themed_icon_new_from_names ((char **)names, -1);
- }
-
- g_object_unref (special_file);
-
- return NULL;
-}
-
GdkPixbuf *
_gtk_file_system_volume_render_icon (GtkFileSystemVolume *volume,
GtkWidget *widget,
@@ -1724,23 +1680,13 @@
DEBUG ("volume_get_icon_name");
if (IS_ROOT_VOLUME (volume))
- icon = g_themed_icon_new_from_names ((char **)harddisk_icons, -1);
+ icon = g_themed_icon_new_from_names ((char **) harddisk_icons, -1);
else if (G_IS_DRIVE (volume))
icon = g_drive_get_icon (G_DRIVE (volume));
else if (G_IS_VOLUME (volume))
icon = g_volume_get_icon (G_VOLUME (volume));
else if (G_IS_MOUNT (volume))
- {
- GMount *mount = G_MOUNT (volume);
- GFile *file;
-
- file = g_mount_get_root (mount);
- icon = get_icon_for_special_directory (file);
- g_object_unref (file);
-
- if (!icon)
- icon = g_mount_get_icon (mount);
- }
+ icon = g_mount_get_icon (G_MOUNT (volume));
if (!icon)
return NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]