diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/popup-commands.c | 22 |
2 files changed, 28 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2007-01-17 Diego Escalante Urrelo <diegoe@svn.gnome.org> + + * src/popup-commands.c: + + Avoid opening a nautilus window when downloads are finished if the + downloaded file was saved to the desktop. Considers the + desktop_is_homedir option of Nautilus. Bug #383698. + 2007-01-10 Diego Escalante Urrelo <diegoe@svn.gnome.org> * src/bookmarks/ephy-bookmarks-ui.c: diff --git a/src/popup-commands.c b/src/popup-commands.c index 64e0d0654..ea18060ad 100644 --- a/src/popup-commands.c +++ b/src/popup-commands.c @@ -175,14 +175,32 @@ save_property_url_completed_cb (EphyEmbedPersist *persist) EPHY_EMBED_PERSIST_ASK_DESTINATION)) { const char *dest; + char *desktop_dir; guint32 user_time; + GnomeVFSURI *parent, *uri, *desktop; user_time = ephy_embed_persist_get_user_time (persist); dest = ephy_embed_persist_get_dest (persist); g_return_if_fail (dest != NULL); - eel_gconf_get_string (CONF_STATE_DOWNLOAD_DIR); - ephy_file_browse_to (dest, user_time); + desktop_dir = ephy_file_desktop_dir (); + + /* Where are we going to save */ + uri = gnome_vfs_uri_new (dest); + desktop = gnome_vfs_uri_new (desktop_dir); + + g_return_if_fail (uri != NULL); + + parent = gnome_vfs_uri_get_parent (uri); + + /* If save location is the desktop, don't open it */ + if (!gnome_vfs_uri_equal (desktop, parent)) + ephy_file_browse_to (dest, user_time); + + g_free (desktop_dir); + gnome_vfs_uri_unref (uri); + gnome_vfs_uri_unref (parent); + gnome_vfs_uri_unref (desktop); } } |