diff options
Diffstat (limited to 'src/eom-window.c')
-rw-r--r-- | src/eom-window.c | 40 |
1 files changed, 6 insertions, 34 deletions
diff --git a/src/eom-window.c b/src/eom-window.c index 4bff663..1fb2e60 100644 --- a/src/eom-window.c +++ b/src/eom-window.c @@ -2956,49 +2956,21 @@ eom_window_cmd_save_as (GtkAction *action, gpointer user_data) static void eom_window_cmd_open_containing_folder (GtkAction *action, gpointer user_data) { - EomWindow *window = EOM_WINDOW (user_data); EomWindowPrivate *priv; - GtkWidget *eom_window_widget; - GFile *file; - GFile *parent = NULL; - - eom_window_widget = GTK_WIDGET (window); - priv = window->priv; + g_return_if_fail (EOM_IS_WINDOW (user_data)); + + priv = EOM_WINDOW (user_data)->priv; g_return_if_fail (priv->image != NULL); file = eom_image_get_file (priv->image); - if (file) { - parent = g_file_get_parent (file); - g_object_unref(file); - } - - if (parent) { - char *parent_uri; + g_return_if_fail (file != NULL); - parent_uri = g_file_get_uri (parent); - if (parent_uri) { - GdkScreen *screen; - guint32 timestamp; - GError *error; - - screen = gtk_widget_get_screen (eom_window_widget); - timestamp = gtk_get_current_event_time (); - - error = NULL; - if (!gtk_show_uri (screen, parent_uri, timestamp, &error)) { - eom_debug_message (DEBUG_WINDOW, "Could not open the containing folder"); - g_error_free (error); - } - - g_free (parent_uri); - } - - g_object_unref(parent); - } + eom_util_show_file_in_filemanager (file, + gtk_widget_get_screen (GTK_WIDGET (user_data))); } static void |