[gimp] Bug 599573 - Remember dialog defaults between Gimp sessions
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 599573 - Remember dialog defaults between Gimp sessions
- Date: Wed, 24 Aug 2016 17:50:30 +0000 (UTC)
commit 2ae3393c3bc80b55e8fd509e3d692014942cec39
Author: Michael Natterer <mitch gimp org>
Date: Wed Aug 24 19:49:59 2016 +0200
Bug 599573 - Remember dialog defaults between Gimp sessions
Remember the "New Path" dialog settings in GimpDialogConfig.
app/actions/vectors-commands.c | 42 ++++++++++++++++++++++---------------
app/config/gimpdialogconfig.c | 27 +++++++++++++++++++++++-
app/config/gimpdialogconfig.h | 2 +
app/config/gimprc-blurbs.h | 3 ++
app/dialogs/preferences-dialog.c | 38 +++++++++++++++++++++------------
5 files changed, 80 insertions(+), 32 deletions(-)
---
diff --git a/app/actions/vectors-commands.c b/app/actions/vectors-commands.c
index 7e010a3..038ed5e 100644
--- a/app/actions/vectors-commands.c
+++ b/app/actions/vectors-commands.c
@@ -27,6 +27,8 @@
#include "actions-types.h"
+#include "config/gimpdialogconfig.h"
+
#include "core/gimp.h"
#include "core/gimp-utils.h"
#include "core/gimpchannel.h"
@@ -86,7 +88,6 @@ static void vectors_export_response (GtkWidget *widget,
/* private variables */
-static gchar *vectors_name = NULL;
static gboolean vectors_import_merge = FALSE;
static gboolean vectors_import_scale = FALSE;
static gboolean vectors_export_active_only = TRUE;
@@ -156,14 +157,16 @@ vectors_new_cmd_callback (GtkAction *action,
VectorsOptionsDialog *options;
GimpImage *image;
GtkWidget *widget;
+ GimpDialogConfig *config;
return_if_no_image (image, data);
return_if_no_widget (widget, data);
+ config = GIMP_DIALOG_CONFIG (image->gimp->config);
+
options = vectors_options_dialog_new (image, NULL,
action_data_get_context (data),
widget,
- vectors_name ? vectors_name :
- _("Path"),
+ config->vectors_new_name,
_("New Path"),
"gimp-vectors-new",
GIMP_STOCK_PATH,
@@ -181,13 +184,16 @@ void
vectors_new_last_vals_cmd_callback (GtkAction *action,
gpointer data)
{
- GimpImage *image;
- GimpVectors *new_vectors;
+ GimpImage *image;
+ GimpVectors *vectors;
+ GimpDialogConfig *config;
return_if_no_image (image, data);
- new_vectors = gimp_vectors_new (image, vectors_name);
+ config = GIMP_DIALOG_CONFIG (image->gimp->config);
- gimp_image_add_vectors (image, new_vectors,
+ vectors = gimp_vectors_new (image, config->vectors_new_name);
+
+ gimp_image_add_vectors (image, vectors,
GIMP_IMAGE_ACTIVE_PARENT, -1, TRUE);
gimp_image_flush (image);
@@ -752,27 +758,29 @@ vectors_lock_position_cmd_callback (GtkAction *action,
static void
vectors_new_vectors_response (GtkWidget *widget,
gint response_id,
- VectorsOptionsDialog *options)
+ VectorsOptionsDialog *dialog)
{
if (response_id == GTK_RESPONSE_OK)
{
- GimpVectors *new_vectors;
+ GimpDialogConfig *config;
+ GimpVectors *vectors;
- if (vectors_name)
- g_free (vectors_name);
+ config = GIMP_DIALOG_CONFIG (dialog->image->gimp->config);
- vectors_name =
- g_strdup (gtk_entry_get_text (GTK_ENTRY (options->name_entry)));
+ g_object_set (config,
+ "path-new-name",
+ gtk_entry_get_text (GTK_ENTRY (dialog->name_entry)),
+ NULL);
- new_vectors = gimp_vectors_new (options->image, vectors_name);
+ vectors = gimp_vectors_new (dialog->image, config->vectors_new_name);
- gimp_image_add_vectors (options->image, new_vectors,
+ gimp_image_add_vectors (dialog->image, vectors,
GIMP_IMAGE_ACTIVE_PARENT, -1, TRUE);
- gimp_image_flush (options->image);
+ gimp_image_flush (dialog->image);
}
- gtk_widget_destroy (options->dialog);
+ gtk_widget_destroy (dialog->dialog);
}
static void
diff --git a/app/config/gimpdialogconfig.c b/app/config/gimpdialogconfig.c
index c89d81c..1b0d7c9 100644
--- a/app/config/gimpdialogconfig.c
+++ b/app/config/gimpdialogconfig.c
@@ -48,7 +48,9 @@ enum
PROP_LAYER_ADD_MASK_INVERT,
PROP_CHANNEL_NEW_NAME,
- PROP_CHANNEL_NEW_COLOR
+ PROP_CHANNEL_NEW_COLOR,
+
+ PROP_VECTORS_NEW_NAME
};
@@ -130,6 +132,13 @@ gimp_dialog_config_class_init (GimpDialogConfigClass *klass)
TRUE,
&half_transparent,
GIMP_PARAM_STATIC_STRINGS);
+
+ GIMP_CONFIG_PROP_STRING (object_class, PROP_VECTORS_NEW_NAME,
+ "path-new-name",
+ "Default new path name",
+ VECTORS_NEW_NAME_BLURB,
+ _("Path"),
+ GIMP_PARAM_STATIC_STRINGS);
}
static void
@@ -154,6 +163,12 @@ gimp_dialog_config_finalize (GObject *object)
config->channel_new_name = NULL;
}
+ if (config->vectors_new_name)
+ {
+ g_free (config->vectors_new_name);
+ config->vectors_new_name = NULL;
+ }
+
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -196,6 +211,12 @@ gimp_dialog_config_set_property (GObject *object,
gimp_value_get_rgb (value, &config->channel_new_color);
break;
+ case PROP_VECTORS_NEW_NAME:
+ if (config->vectors_new_name)
+ g_free (config->vectors_new_name);
+ config->vectors_new_name = g_value_dup_string (value);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -237,6 +258,10 @@ gimp_dialog_config_get_property (GObject *object,
gimp_value_set_rgb (value, &config->channel_new_color);
break;
+ case PROP_VECTORS_NEW_NAME:
+ g_value_set_string (value, config->vectors_new_name);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
diff --git a/app/config/gimpdialogconfig.h b/app/config/gimpdialogconfig.h
index b9360c2..87ddadc 100644
--- a/app/config/gimpdialogconfig.h
+++ b/app/config/gimpdialogconfig.h
@@ -47,6 +47,8 @@ struct _GimpDialogConfig
gchar *channel_new_name;
GimpRGB channel_new_color;
+
+ gchar *vectors_new_name;
};
struct _GimpDialogConfigClass
diff --git a/app/config/gimprc-blurbs.h b/app/config/gimprc-blurbs.h
index 1017e69..1e505a8 100644
--- a/app/config/gimprc-blurbs.h
+++ b/app/config/gimprc-blurbs.h
@@ -438,6 +438,9 @@ _("Sets the default channel name for the 'New Channel' dialog.")
#define CHANNEL_NEW_COLOR_BLURB \
_("Sets the default color and opacity for the 'New Channel' dialog.")
+#define VECTORS_NEW_NAME_BLURB \
+_("Sets the default path name for the 'New Path' dialog.")
+
#define THUMBNAIL_SIZE_BLURB \
_("Sets the size of the thumbnail shown in the Open dialog.")
diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c
index 2804557..01cdd26 100644
--- a/app/dialogs/preferences-dialog.c
+++ b/app/dialogs/preferences-dialog.c
@@ -1650,16 +1650,13 @@ prefs_dialog_new (Gimp *gimp,
/* Quick Mask Color */
vbox2 = prefs_frame_new (_("Quick Mask"), GTK_CONTAINER (vbox), FALSE);
table = prefs_table_new (1, GTK_CONTAINER (vbox2));
- button = gimp_prop_color_button_new (object, "quick-mask-color",
- _("Set the default Quick Mask color"),
- COLOR_BUTTON_WIDTH,
- COLOR_BUTTON_HEIGHT,
- GIMP_COLOR_AREA_SMALL_CHECKS);
+
+ button = prefs_color_button_add (object, "quick-mask-color",
+ _("Quick Mask color:"),
+ _("Set the default Quick Mask color"),
+ GTK_TABLE (table), 0, NULL);
gimp_color_panel_set_context (GIMP_COLOR_PANEL (button),
gimp_get_user_context (gimp));
- prefs_widget_add_aligned (button, _("Quick Mask color:"),
- GTK_TABLE (table), 0, TRUE, NULL);
-
/**********************************/
@@ -2052,9 +2049,10 @@ prefs_dialog_new (Gimp *gimp,
table = prefs_table_new (2, GTK_CONTAINER (vbox2));
entry = gimp_prop_entry_new (object, "layer-new-name", -1);
- gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
- _("Layer name:"), 0.0, 0.5,
- entry, 1, FALSE);
+ prefs_widget_add_aligned (entry,
+ _("Layer name:"),
+ GTK_WIDGET (table), 0, FALSE,
+ size_group);
prefs_enum_combo_box_add (object, "layer-new-fill-type", 0, 0,
_("Fill type:"),
@@ -2079,9 +2077,10 @@ prefs_dialog_new (Gimp *gimp,
table = prefs_table_new (2, GTK_CONTAINER (vbox2));
entry = gimp_prop_entry_new (object, "channel-new-name", -1);
- gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
- _("Channel name:"), 0.0, 0.5,
- entry, 1, FALSE);
+ prefs_widget_add_aligned (entry,
+ _("Channel name:"),
+ GTK_WIDGET (table), 0, FALSE,
+ size_group);
button = prefs_color_button_add (object, "channel-new-color",
_("Color and opacity:"),
@@ -2090,6 +2089,17 @@ prefs_dialog_new (Gimp *gimp,
gimp_color_panel_set_context (GIMP_COLOR_PANEL (button),
gimp_get_user_context (gimp));
+ /* New Path Dialog */
+ vbox2 = prefs_frame_new (_("New Path Dialog"),
+ GTK_CONTAINER (vbox), FALSE);
+ table = prefs_table_new (1, GTK_CONTAINER (vbox2));
+
+ entry = gimp_prop_entry_new (object, "path-new-name", -1);
+ prefs_widget_add_aligned (entry,
+ _("Path name:"),
+ GTK_WIDGET (table), 0, FALSE,
+ size_group);
+
g_object_unref (size_group);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]