summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Dane <3689-jakedane@users.noreply.gitlab.gnome.org>2022-07-17 08:34:05 +0000
committerBastien Nocera <hadess@hadess.net>2022-08-18 10:46:47 +0200
commit4e1097aa7267ef580678cacefe3cb2e5d2a61355 (patch)
tree0b427f78607444f10e2e24bc49337a5105b14ed1
parent4746e2854be614b1912b7d1d2e3576d9ab250b95 (diff)
downloadtotem-4e1097aa7267ef580678cacefe3cb2e5d2a61355.tar.gz
screenshot: Move screenshot dir code to screenshot plugin
It wasn't used anywhere else in the codebase.
-rw-r--r--src/plugins/screenshot/screenshot-filename-builder.c27
-rw-r--r--src/plugins/screenshot/screenshot-filename-builder.h2
-rw-r--r--src/plugins/screenshot/totem-screenshot-plugin.c4
-rw-r--r--src/totem-uri.c27
-rw-r--r--src/totem-uri.h1
5 files changed, 28 insertions, 33 deletions
diff --git a/src/plugins/screenshot/screenshot-filename-builder.c b/src/plugins/screenshot/screenshot-filename-builder.c
index 99056d487..778a5dfc0 100644
--- a/src/plugins/screenshot/screenshot-filename-builder.c
+++ b/src/plugins/screenshot/screenshot-filename-builder.c
@@ -76,16 +76,37 @@ expand_initial_tilde (const char *path)
NULL);
}
-static gchar *
+gchar *
get_fallback_screenshot_dir (void)
{
return g_strdup (g_get_home_dir ());
}
-static gchar *
+gchar *
get_default_screenshot_dir (void)
{
- return totem_screenshots_dir ();
+ const char *special_dir = NULL;
+ char *screenshots_dir = NULL;
+ g_autoptr(GFile) file = NULL;
+ gboolean ret;
+ g_autoptr(GError) error = NULL;
+
+ special_dir = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES);
+ if (special_dir == NULL)
+ return NULL;
+
+ /* Translators: "Screenshots" is the name of the folder under ~/Pictures for screenshots,
+ * same as used in GNOME Shell:
+ * https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-42/js/ui/screenshot.js#L2072 */
+ screenshots_dir = g_build_filename (special_dir, _("Screenshots"), NULL);
+
+ /* ensure that the "Screenshots" folder exists */
+ file = g_file_new_for_path (screenshots_dir);
+ ret = g_file_make_directory_with_parents (file, NULL, &error);
+ if (!ret && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
+ g_clear_pointer (&screenshots_dir, g_free);
+
+ return screenshots_dir;
}
static gchar *
diff --git a/src/plugins/screenshot/screenshot-filename-builder.h b/src/plugins/screenshot/screenshot-filename-builder.h
index 5543fccc7..bd554aca2 100644
--- a/src/plugins/screenshot/screenshot-filename-builder.h
+++ b/src/plugins/screenshot/screenshot-filename-builder.h
@@ -25,6 +25,8 @@
#include <gio/gio.h>
+gchar *get_fallback_screenshot_dir (void);
+gchar *get_default_screenshot_dir (void);
void screenshot_build_filename_async (const char *save_dir,
const char *screenshot_origin,
GAsyncReadyCallback callback,
diff --git a/src/plugins/screenshot/totem-screenshot-plugin.c b/src/plugins/screenshot/totem-screenshot-plugin.c
index aad7cd710..671dd27c9 100644
--- a/src/plugins/screenshot/totem-screenshot-plugin.c
+++ b/src/plugins/screenshot/totem-screenshot-plugin.c
@@ -401,10 +401,10 @@ totem_screenshot_plugin_setup_file_chooser (const char *filename_format, const c
/* Default to the Screenshots directory */
if (*path == '\0') {
g_free (path);
- path = totem_screenshots_dir ();
+ path = get_default_screenshot_dir ();
/* No Screenshots dir, then it's the home dir */
if (path == NULL)
- path = g_strdup (g_get_home_dir ());
+ path = get_fallback_screenshot_dir ();
}
filename = make_filename_for_dir (path, filename_format, movie_title);
diff --git a/src/totem-uri.c b/src/totem-uri.c
index e37c7f81e..d8518920b 100644
--- a/src/totem-uri.c
+++ b/src/totem-uri.c
@@ -97,33 +97,6 @@ totem_data_dot_dir (void)
return (const char *)totem_dir;
}
-char *
-totem_screenshots_dir (void)
-{
- const char *special_dir = NULL;
- char *screenshots_dir = NULL;
- g_autoptr(GFile) file = NULL;
- gboolean ret;
- g_autoptr(GError) error = NULL;
-
- special_dir = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES);
- if (special_dir == NULL)
- return NULL;
-
- /* Translators: "Screenshots" is the name of the folder under ~/Pictures for screenshots,
- * same as used in GNOME Shell:
- * https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-42/js/ui/screenshot.js#L2072 */
- screenshots_dir = g_build_filename (special_dir, _("Screenshots"), NULL);
-
- /* ensure that the "Screenshots" folder exists */
- file = g_file_new_for_path (screenshots_dir);
- ret = g_file_make_directory_with_parents (file, NULL, &error);
- if (!ret && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
- g_clear_pointer (&screenshots_dir, g_free);
-
- return screenshots_dir;
-}
-
static GMount *
totem_get_mount_for_uri (const char *path)
{
diff --git a/src/totem-uri.h b/src/totem-uri.h
index d4b4cef43..ce33fbbb9 100644
--- a/src/totem-uri.h
+++ b/src/totem-uri.h
@@ -28,7 +28,6 @@
const char * totem_dot_dir (void);
const char * totem_data_dot_dir (void);
-char * totem_screenshots_dir (void);
char * totem_create_full_path (const char *path);
GMount * totem_get_mount_for_media (const char *uri);
gboolean totem_playing_dvd (const char *uri);