aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--embed/ephy-web-app-utils.c19
-rw-r--r--embed/ephy-web-app-utils.h2
-rw-r--r--src/window-commands.c9
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);