[gimp] app: change GimpImageMapTool::get_settings_ui()'s "default_folder" to GFile
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: change GimpImageMapTool::get_settings_ui()'s "default_folder" to GFile
- Date: Tue, 29 Jul 2014 09:59:36 +0000 (UTC)
commit b200345a985fd4e7149df77edc3a4ba020d01284
Author: Michael Natterer <mitch gimp org>
Date: Tue Jul 29 11:56:06 2014 +0200
app: change GimpImageMapTool::get_settings_ui()'s "default_folder" to GFile
app/tools/gimpimagemaptool-settings.c | 2 +-
app/tools/gimpimagemaptool-settings.h | 2 +-
app/tools/gimpimagemaptool.c | 7 +++----
app/tools/gimpimagemaptool.h | 2 +-
app/tools/gimpoperationtool.c | 6 +++---
app/widgets/gimpsettingsbox.c | 32 +++++++++++++++++++++++---------
app/widgets/gimpsettingsbox.h | 2 +-
7 files changed, 33 insertions(+), 20 deletions(-)
---
diff --git a/app/tools/gimpimagemaptool-settings.c b/app/tools/gimpimagemaptool-settings.c
index 5f10fc7..d92e7fc 100644
--- a/app/tools/gimpimagemaptool-settings.c
+++ b/app/tools/gimpimagemaptool-settings.c
@@ -66,7 +66,7 @@ gimp_image_map_tool_real_get_settings_ui (GimpImageMapTool *image_map_tool,
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GtkWidget **settings_box)
{
GimpToolInfo *tool_info;
diff --git a/app/tools/gimpimagemaptool-settings.h b/app/tools/gimpimagemaptool-settings.h
index 1fddf86..3925e43 100644
--- a/app/tools/gimpimagemaptool-settings.h
+++ b/app/tools/gimpimagemaptool-settings.h
@@ -27,7 +27,7 @@ GtkWidget * gimp_image_map_tool_real_get_settings_ui (GimpImageMapTool *tool,
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GtkWidget **settings_box);
gboolean gimp_image_map_tool_real_settings_import (GimpImageMapTool *tool,
GInputStream *input,
diff --git a/app/tools/gimpimagemaptool.c b/app/tools/gimpimagemaptool.c
index f9bd425..ab414a9 100644
--- a/app/tools/gimpimagemaptool.c
+++ b/app/tools/gimpimagemaptool.c
@@ -372,13 +372,12 @@ gimp_image_map_tool_initialize (GimpTool *tool,
if (image_map_tool->config && klass->settings_name)
{
GtkWidget *settings_ui;
- gchar *default_folder;
+ GFile *default_folder;
GFile *settings_file;
settings_file = gimp_tool_info_get_options_file (tool_info,
".settings");
- default_folder = g_build_filename (gimp_directory (),
- klass->settings_name, NULL);
+ default_folder = gimp_directory_file (klass->settings_name, NULL);
settings_ui = klass->get_settings_ui (image_map_tool,
klass->recent_settings,
@@ -389,7 +388,7 @@ gimp_image_map_tool_initialize (GimpTool *tool,
default_folder,
&image_map_tool->settings_box);
- g_free (default_folder);
+ g_object_unref (default_folder);
g_object_unref (settings_file);
gtk_box_pack_start (GTK_BOX (vbox), settings_ui, FALSE, FALSE, 0);
diff --git a/app/tools/gimpimagemaptool.h b/app/tools/gimpimagemaptool.h
index 23722ad..c9eba3e 100644
--- a/app/tools/gimpimagemaptool.h
+++ b/app/tools/gimpimagemaptool.h
@@ -81,7 +81,7 @@ struct _GimpImageMapToolClass
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GtkWidget **settings_box);
gboolean (* settings_import) (GimpImageMapTool *image_map_tool,
diff --git a/app/tools/gimpoperationtool.c b/app/tools/gimpoperationtool.c
index 703a2d9..9ad92e2 100644
--- a/app/tools/gimpoperationtool.c
+++ b/app/tools/gimpoperationtool.c
@@ -80,7 +80,7 @@ static GtkWidget * gimp_operation_tool_get_settings_ui (GimpImageMapTool *image
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GtkWidget **settings_box);
static void gimp_operation_tool_color_picked (GimpImageMapTool *im_tool,
gpointer identifier,
@@ -316,7 +316,7 @@ gimp_operation_tool_get_settings_ui (GimpImageMapTool *image_map_tool,
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GtkWidget **settings_box)
{
GimpOperationTool *tool = GIMP_OPERATION_TOOL (image_map_tool);
@@ -346,7 +346,7 @@ gimp_operation_tool_get_settings_ui (GimpImageMapTool *image_map_tool,
import_title,
export_title,
"help-foo",
- g_get_home_dir (),
+ NULL, /* sic */
settings_box);
g_free (import_title);
diff --git a/app/widgets/gimpsettingsbox.c b/app/widgets/gimpsettingsbox.c
index cddf106..b63a2f7 100644
--- a/app/widgets/gimpsettingsbox.c
+++ b/app/widgets/gimpsettingsbox.c
@@ -80,7 +80,7 @@ struct _GimpSettingsBoxPrivate
gchar *import_dialog_title;
gchar *export_dialog_title;
gchar *file_dialog_help_id;
- gchar *default_folder;
+ GFile *default_folder;
GFile *last_file;
};
@@ -362,10 +362,15 @@ gimp_settings_box_finalize (GObject *object)
private->last_file = NULL;
}
+ if (private->default_folder)
+ {
+ g_object_unref (private->default_folder);
+ private->default_folder = NULL;
+ }
+
g_free (private->import_dialog_title);
g_free (private->export_dialog_title);
g_free (private->file_dialog_help_id);
- g_free (private->default_folder);
if (private->editor_dialog)
{
@@ -795,14 +800,19 @@ gimp_settings_box_file_dialog (GimpSettingsBox *box,
NULL);
if (private->default_folder &&
- g_file_test (private->default_folder, G_FILE_TEST_IS_DIR))
+ g_file_query_file_type (private->default_folder,
+ G_FILE_QUERY_INFO_NONE, NULL) ==
+ G_FILE_TYPE_DIRECTORY)
{
- gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog),
- private->default_folder, NULL);
+ gchar *uri = g_file_get_uri (private->default_folder);
+ gtk_file_chooser_add_shortcut_folder_uri (GTK_FILE_CHOOSER (dialog),
+ uri, NULL);
+ g_free (uri);
if (! private->last_file)
- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog),
- private->default_folder);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (dialog),
+ private->default_folder,
+ NULL);
}
else if (! private->last_file)
{
@@ -943,7 +953,7 @@ gimp_settings_box_new (Gimp *gimp,
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GFile *last_file)
{
GimpSettingsBox *box;
@@ -953,6 +963,8 @@ gimp_settings_box_new (Gimp *gimp,
g_return_val_if_fail (GIMP_IS_CONFIG (config), NULL);
g_return_val_if_fail (GIMP_IS_CONTAINER (container), NULL);
g_return_val_if_fail (G_IS_FILE (file), NULL);
+ g_return_val_if_fail (default_folder == NULL || G_IS_FILE (default_folder),
+ NULL);
g_return_val_if_fail (last_file == NULL || G_IS_FILE (last_file), NULL);
box = g_object_new (GIMP_TYPE_SETTINGS_BOX,
@@ -967,7 +979,9 @@ gimp_settings_box_new (Gimp *gimp,
private->import_dialog_title = g_strdup (import_dialog_title);
private->export_dialog_title = g_strdup (export_dialog_title);
private->file_dialog_help_id = g_strdup (file_dialog_help_id);
- private->default_folder = g_strdup (default_folder);
+
+ if (default_folder)
+ private->default_folder = g_object_ref (default_folder);
if (last_file)
private->last_file = g_object_ref (last_file);
diff --git a/app/widgets/gimpsettingsbox.h b/app/widgets/gimpsettingsbox.h
index 25ff9d9..3813b84 100644
--- a/app/widgets/gimpsettingsbox.h
+++ b/app/widgets/gimpsettingsbox.h
@@ -61,7 +61,7 @@ GtkWidget * gimp_settings_box_new (Gimp *gimp,
const gchar *import_dialog_title,
const gchar *export_dialog_title,
const gchar *file_dialog_help_id,
- const gchar *default_folder,
+ GFile *default_folder,
GFile *last_file);
void gimp_settings_box_add_current (GimpSettingsBox *box,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]