summaryrefslogtreecommitdiff
path: root/src/totem-session.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/totem-session.c')
-rw-r--r--src/totem-session.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/src/totem-session.c b/src/totem-session.c
index 8956e56d5..be51f5df5 100644
--- a/src/totem-session.c
+++ b/src/totem-session.c
@@ -27,15 +27,29 @@
#include "totem-session.h"
#include "totem-uri.h"
-static char *
-get_session_filename (void)
+static GFile *
+get_session_file (void)
{
- char *path, *uri;
+ GFile *file;
+ char *path;
path = g_build_filename (g_get_user_config_dir (), "totem", "session_state.xspf", NULL);
- uri = g_filename_to_uri (path, NULL, NULL);
+ file = g_file_new_for_path (path);
g_free (path);
+ return file;
+}
+
+static char *
+get_session_filename (void)
+{
+ GFile *file;
+ char *uri;
+
+ file = get_session_file ();
+ uri = g_file_get_uri (file);
+ g_object_unref (file);
+
return uri;
}
@@ -80,11 +94,11 @@ totem_session_try_restore (Totem *totem)
void
totem_session_save (Totem *totem)
{
- char *uri;
+ GFile *file;
- uri = get_session_filename ();
+ file = get_session_file ();
/* FIXME: Save the current seek time somehow */
/* FIXME: Check whether we actually want to be saved */
- totem_playlist_save_session_playlist (totem->playlist, uri);
- g_free (uri);
+ totem_playlist_save_session_playlist (totem->playlist, file);
+ g_object_unref (file);
}