blob: 736559ad92944c5891b5d0697fab835db86fa83b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
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
|