aports/main/nautilus/010-localpath-preview.patch
2012-04-25 19:53:02 +00:00

47 lines
1.3 KiB
Diff

From ebcbb167876f8b4491af0bc86bc29015c211b3af Mon Sep 17 00:00:00 2001
From: Olivier Tilloy <olivier@tilloy.net>
Date: Tue, 17 Aug 2010 11:42:36 +0000
Subject: icon-view: if possible, use the local path for the preview (#624841)
This solves issues where the audio previewer is not capable of
understanding some GVfs URIs.
---
diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c
index 7277a9b..755ed8c 100644
--- a/src/file-manager/fm-icon-view.c
+++ b/src/file-manager/fm-icon-view.c
@@ -2027,6 +2027,8 @@ play_file (gpointer callback_data)
char **argv;
GError *error;
char *uri;
+ GFile *gfile;
+ char *path;
icon_view = FM_ICON_VIEW (callback_data);
@@ -2034,7 +2036,21 @@ play_file (gpointer callback_data)
icon_view->details->audio_preview_timeout = 0;
file = icon_view->details->audio_preview_file;
- uri = nautilus_file_get_uri (file);
+ gfile = nautilus_file_get_location (file);
+ path = g_file_get_path (gfile);
+
+ /* if we have a local path, use that instead of the native URI.
+ * this can be useful for special GVfs mounts, such as cdda://
+ */
+ if (path) {
+ uri = g_filename_to_uri (path, NULL, NULL);
+ } else {
+ uri = nautilus_file_get_uri (file);
+ }
+
+ g_object_unref (gfile);
+ g_free (path);
+
argv = get_preview_argv (uri);
g_free (uri);
if (argv == NULL) {
--
cgit v0.9