diff options
-rw-r--r-- | embed/ephy-web-app-utils.c | 19 | ||||
-rw-r--r-- | embed/ephy-web-app-utils.h | 2 | ||||
-rw-r--r-- | src/window-commands.c | 9 |
3 files changed, 22 insertions, 8 deletions
diff --git a/embed/ephy-web-app-utils.c b/embed/ephy-web-app-utils.c index 0789f6ef2..aebef974c 100644 --- a/embed/ephy-web-app-utils.c +++ b/embed/ephy-web-app-utils.c @@ -463,3 +463,22 @@ ephy_web_application_free_application_list (GList *list) g_list_free (list); } + +/** + * ephy_web_application_exists: + * @name: the potential name of the web application + * + * Returns: whether an application with @name exists. + **/ +gboolean +ephy_web_application_exists (const char *name) +{ + char *profile_dir; + gboolean profile_exists; + + profile_dir = ephy_web_application_get_profile_directory (name); + profile_exists = g_file_test (profile_dir, G_FILE_TEST_IS_DIR); + g_free (profile_dir); + + return profile_exists; +} diff --git a/embed/ephy-web-app-utils.h b/embed/ephy-web-app-utils.h index b552da3e3..1ec1c0149 100644 --- a/embed/ephy-web-app-utils.h +++ b/embed/ephy-web-app-utils.h @@ -51,6 +51,8 @@ GList *ephy_web_application_get_application_list (void); void ephy_web_application_free_application_list (GList *list); +gboolean ephy_web_application_exists (const char *name); + G_END_DECLS #endif diff --git a/src/window-commands.c b/src/window-commands.c index eb8c16863..1443e5d74 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -501,21 +501,14 @@ dialog_save_as_application_response_cb (GtkDialog *dialog, EphyApplicationDialogData *data) { const char *app_name; - char *profile_dir; char *desktop_file; char *message; NotifyNotification *notification; - gboolean profile_exists; if (response == GTK_RESPONSE_OK) { app_name = gtk_entry_get_text (GTK_ENTRY (data->entry)); - profile_dir = ephy_web_application_get_profile_directory (app_name); - if (!profile_dir) - return; - profile_exists = g_file_test (profile_dir, G_FILE_TEST_IS_DIR); - g_free (profile_dir); - if (profile_exists) + if (ephy_web_application_exists (app_name)) { if (confirm_web_application_overwrite (GTK_WINDOW (dialog), app_name)) ephy_web_application_delete (app_name); |