[gnome-builder] misc: use ide_application_get_projects_directory()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] misc: use ide_application_get_projects_directory()
- Date: Sat, 27 Jan 2018 00:28:48 +0000 (UTC)
commit a846031229081def033b157b489cd03fdcf07861
Author: Christian Hergert <chergert redhat com>
Date: Fri Jan 26 16:15:37 2018 -0800
misc: use ide_application_get_projects_directory()
This ports all the places we were manually getting the projects directory
and translating it to using the new
ide_application_get_projects_directory() helper.
Fixes #341
src/libide/greeter/ide-greeter-perspective.c | 23 ++++++++++------------
.../create-project/gbp-create-project-widget.c | 20 ++++++-------------
src/plugins/flatpak/gbp-flatpak-clone-widget.c | 16 ++-------------
src/plugins/git/ide-git-clone-widget.c | 20 ++++---------------
4 files changed, 22 insertions(+), 57 deletions(-)
---
diff --git a/src/libide/greeter/ide-greeter-perspective.c b/src/libide/greeter/ide-greeter-perspective.c
index 8ffc88326..5edc5cafd 100644
--- a/src/libide/greeter/ide-greeter-perspective.c
+++ b/src/libide/greeter/ide-greeter-perspective.c
@@ -288,8 +288,7 @@ static void
ide_greeter_perspective_open_clicked (IdeGreeterPerspective *self,
GtkButton *open_button)
{
- g_autoptr(GSettings) settings = NULL;
- g_autofree gchar *projects_dir = NULL;
+ g_autoptr(GFile) projects_dir = NULL;
GtkFileChooserDialog *dialog;
GtkWidget *toplevel;
PeasEngine *engine;
@@ -416,9 +415,8 @@ ide_greeter_perspective_open_clicked (IdeGreeterPerspective *self,
if (last_priority == G_MAXINT64)
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), all_filter);
- settings = g_settings_new ("org.gnome.builder");
- projects_dir = g_settings_get_string (settings, "projects-directory");
- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), projects_dir);
+ projects_dir = ide_application_get_projects_directory (IDE_APPLICATION_DEFAULT);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (dialog), projects_dir, NULL);
gtk_window_present (GTK_WINDOW (dialog));
}
@@ -747,16 +745,15 @@ ide_greeter_perspective_info_bar_response (IdeGreeterPerspective *self,
static gchar *
get_project_directory (const gchar *name)
{
- g_autoptr(GSettings) settings = NULL;
- g_autofree gchar *projects = NULL;
+ g_autoptr(GFile) projects = NULL;
+ g_autoptr(GFile) child = NULL;
- settings = g_settings_new ("org.gnome.builder");
- projects = g_settings_get_string (settings, "projects-directory");
+ g_assert (IDE_IS_MAIN_THREAD ());
- if (!g_path_is_absolute (projects))
- return g_build_filename (g_get_home_dir (), projects, name, NULL);
- else
- return g_build_filename (projects, name, NULL);
+ projects = ide_application_get_projects_directory (IDE_APPLICATION_DEFAULT);
+ child = g_file_get_child (projects, name);
+
+ return g_file_get_path (child);
}
static void
diff --git a/src/plugins/create-project/gbp-create-project-widget.c
b/src/plugins/create-project/gbp-create-project-widget.c
index d7fff8d57..811eee5ea 100644
--- a/src/plugins/create-project/gbp-create-project-widget.c
+++ b/src/plugins/create-project/gbp-create-project-widget.c
@@ -344,17 +344,12 @@ gbp_create_project_widget_get_directory (GbpCreateProjectWidget *self)
static void
gbp_create_project_widget_set_directory (GbpCreateProjectWidget *self,
- const gchar *path)
+ GFile *directory)
{
- g_autofree gchar *resolved = NULL;
- g_autoptr(GFile) file = NULL;
-
g_assert (GBP_IS_CREATE_PROJECT_WIDGET (self));
+ g_assert (G_IS_FILE (directory));
- resolved = ide_path_expand (path);
- file = g_file_new_for_path (resolved);
-
- dzl_file_chooser_entry_set_file (self->project_location_entry, file);
+ dzl_file_chooser_entry_set_file (self->project_location_entry, directory);
}
static void
@@ -471,15 +466,12 @@ gbp_create_project_widget_class_init (GbpCreateProjectWidgetClass *klass)
static void
gbp_create_project_widget_init (GbpCreateProjectWidget *self)
{
- g_autoptr(GSettings) settings = NULL;
- g_autofree gchar *path = NULL;
+ g_autoptr(GFile) projects_dir = NULL;
gtk_widget_init_template (GTK_WIDGET (self));
- settings = g_settings_new ("org.gnome.builder");
-
- path = g_settings_get_string (settings, "projects-directory");
- gbp_create_project_widget_set_directory (self, path);
+ projects_dir = ide_application_get_projects_directory (IDE_APPLICATION_DEFAULT);
+ gbp_create_project_widget_set_directory (self, projects_dir);
g_signal_connect_object (self->project_name_entry,
"changed",
diff --git a/src/plugins/flatpak/gbp-flatpak-clone-widget.c b/src/plugins/flatpak/gbp-flatpak-clone-widget.c
index 0b67f1d4b..60287b2e9 100644
--- a/src/plugins/flatpak/gbp-flatpak-clone-widget.c
+++ b/src/plugins/flatpak/gbp-flatpak-clone-widget.c
@@ -574,11 +574,9 @@ gbp_flatpak_clone_widget_clone_async (GbpFlatpakCloneWidget *self,
gpointer user_data)
{
g_autoptr(GTask) task = NULL;
- g_autoptr(GSettings) settings = NULL;
g_autoptr(GFile) destination = NULL;
g_autoptr(GError) error = NULL;
g_autofree gchar *path = NULL;
- g_autofree gchar *projects_dir = NULL;
DownloadRequest *req;
ModuleSource *src;
@@ -617,18 +615,8 @@ gbp_flatpak_clone_widget_clone_async (GbpFlatpakCloneWidget *self,
}
}
- settings = g_settings_new ("org.gnome.builder");
- path = g_settings_get_string (settings, "projects-directory");
-
- if (dzl_str_empty0 (path))
- path = g_build_filename (g_get_home_dir (), "Projects", NULL);
-
- if (!g_path_is_absolute (path))
- projects_dir = g_build_filename (g_get_home_dir (), path, NULL);
- else
- projects_dir = g_steal_pointer (&path);
-
- destination = g_file_new_for_path (projects_dir);
+ destination = ide_application_get_projects_directory (IDE_APPLICATION_DEFAULT);
+ g_assert (G_IS_FILE (destination));
if (self->child_name)
{
diff --git a/src/plugins/git/ide-git-clone-widget.c b/src/plugins/git/ide-git-clone-widget.c
index 748ea1199..a27b65093 100644
--- a/src/plugins/git/ide-git-clone-widget.c
+++ b/src/plugins/git/ide-git-clone-widget.c
@@ -227,26 +227,14 @@ ide_git_clone_widget_class_init (IdeGitCloneWidgetClass *klass)
static void
ide_git_clone_widget_init (IdeGitCloneWidget *self)
{
- g_autoptr(GSettings) settings = NULL;
- g_autoptr(GFile) file = NULL;
- g_autofree gchar *path = NULL;
- g_autofree gchar *projects_dir = NULL;
+ g_autoptr(GFile) projects_dir = NULL;
gtk_widget_init_template (GTK_WIDGET (self));
- settings = g_settings_new ("org.gnome.builder");
- path = g_settings_get_string (settings, "projects-directory");
+ projects_dir = ide_application_get_projects_directory (IDE_APPLICATION_DEFAULT);
+ g_assert (G_IS_FILE (projects_dir));
- if (dzl_str_empty0 (path))
- path = g_build_filename (g_get_home_dir (), "Projects", NULL);
-
- if (!g_path_is_absolute (path))
- projects_dir = g_build_filename (g_get_home_dir (), path, NULL);
- else
- projects_dir = g_steal_pointer (&path);
-
- file = g_file_new_for_path (projects_dir);
- dzl_file_chooser_entry_set_file (self->clone_location_entry, file);
+ dzl_file_chooser_entry_set_file (self->clone_location_entry, projects_dir);
g_signal_connect_object (self->clone_uri_entry,
"changed",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]