From b396ebb5314c9ae2bab9ddf03aaf10ce64e4b920 Mon Sep 17 00:00:00 2001 From: Eric Koegel Date: Mon, 12 Mar 2012 17:34:30 +0300 Subject: [PATCH] Use the preferred file manager when opening folders. (Bug 6537) Switch to using exo to open the preferred file manager when opening folders so that whichever the user selects will be used rather than just Thunar. --- src/xfdesktop-file-utils.c | 44 ++++++++++++-------------------------------- 1 files changed, 12 insertions(+), 32 deletions(-) diff --git a/src/xfdesktop-file-utils.c b/src/xfdesktop-file-utils.c index 5b015fd..67d7946 100644 --- a/src/xfdesktop-file-utils.c +++ b/src/xfdesktop-file-utils.c @@ -685,7 +685,7 @@ xfdesktop_file_utils_open_folder(GFile *file, GdkScreen *screen, GtkWindow *parent) { - DBusGProxy *fileman_proxy; + GError *error = NULL; g_return_if_fail(G_IS_FILE(file)); g_return_if_fail(GDK_IS_SCREEN(screen) || GTK_IS_WINDOW(parent)); @@ -693,40 +693,20 @@ xfdesktop_file_utils_open_folder(GFile *file, if(!screen) screen = gtk_widget_get_screen(GTK_WIDGET(parent)); - fileman_proxy = xfdesktop_file_utils_peek_filemanager_proxy(); - if(fileman_proxy) { - GError *error = NULL; - gchar *uri = g_file_get_uri(file); - gchar *display_name = gdk_screen_make_display_name(screen); - gchar *startup_id = g_strdup_printf("_TIME%d", gtk_get_current_event_time()); - - xfdesktop_file_utils_set_window_cursor(parent, GDK_WATCH); - - if(!xfdesktop_file_manager_proxy_display_folder(fileman_proxy, - uri, display_name, startup_id, - &error)) - { - xfce_message_dialog(parent, - _("Launch Error"), GTK_STOCK_DIALOG_ERROR, - _("The folder could not be opened"), - error->message, GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, - NULL); - - g_error_free(error); - } - - xfdesktop_file_utils_set_window_cursor(parent, GDK_LEFT_PTR); - - g_free(startup_id); - g_free(uri); - g_free(display_name); - } else { + if(!exo_execute_preferred_application_on_screen("FileManager", + NULL, + g_file_get_path(file), + NULL, + screen, + &error)) + { xfce_message_dialog(parent, _("Launch Error"), GTK_STOCK_DIALOG_ERROR, _("The folder could not be opened"), - _("This feature requires a file manager service to " - "be present (such as the one supplied by Thunar)."), - GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, NULL); + error->message, GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, + NULL); + + g_error_free(error); } } -- 1.7.5.4