[gimp] Bug 558795 - Using same quick mask color across sessions
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 558795 - Using same quick mask color across sessions
- Date: Sat, 3 Mar 2012 01:47:22 +0000 (UTC)
commit 082d758a34b04781226d593189e6baf2522f4efe
Author: Ville Sokk <embassyhill gmail com>
Date: Mon Feb 27 19:24:09 2012 +0200
Bug 558795 - Using same quick mask color across sessions
Add configuration option for quick mask color.
app/config/gimpcoreconfig.c | 14 ++++++++++++++
app/config/gimpcoreconfig.h | 1 +
app/config/gimprc-blurbs.h | 3 +++
app/core/gimpimage.c | 2 ++
app/dialogs/preferences-dialog.c | 14 ++++++++++++++
5 files changed, 34 insertions(+), 0 deletions(-)
---
diff --git a/app/config/gimpcoreconfig.c b/app/config/gimpcoreconfig.c
index 200b0c4..d954f8c 100644
--- a/app/config/gimpcoreconfig.c
+++ b/app/config/gimpcoreconfig.c
@@ -20,9 +20,11 @@
#include "config.h"
+#include <cairo.h>
#include <glib-object.h>
#include "libgimpbase/gimpbase.h"
+#include "libgimpcolor/gimpcolor.h"
#include "libgimpconfig/gimpconfig.h"
#include "config-types.h"
@@ -98,6 +100,7 @@ enum
PROP_COLOR_MANAGEMENT,
PROP_COLOR_PROFILE_POLICY,
PROP_SAVE_DOCUMENT_HISTORY,
+ PROP_QUICK_MASK_COLOR,
PROP_USE_GEGL,
/* ignored, only for backward compatibility: */
@@ -136,6 +139,7 @@ gimp_core_config_class_init (GimpCoreConfigClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
gchar *path;
+ GimpRGB red = { 1.0, 0, 0, 0.5 };
object_class->finalize = gimp_core_config_finalize;
object_class->set_property = gimp_core_config_set_property;
@@ -430,6 +434,10 @@ gimp_core_config_class_init (GimpCoreConfigClass *klass)
SAVE_DOCUMENT_HISTORY_BLURB,
TRUE,
GIMP_PARAM_STATIC_STRINGS);
+ GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_QUICK_MASK_COLOR,
+ "quick-mask-color", QUICK_MASK_COLOR_BLURB,
+ TRUE, &red,
+ GIMP_PARAM_STATIC_STRINGS);
/* not serialized */
g_object_class_install_property (object_class, PROP_USE_GEGL,
@@ -708,6 +716,9 @@ gimp_core_config_set_property (GObject *object,
case PROP_SAVE_DOCUMENT_HISTORY:
core_config->save_document_history = g_value_get_boolean (value);
break;
+ case PROP_QUICK_MASK_COLOR:
+ gimp_value_get_rgb (value, &core_config->quick_mask_color);
+ break;
case PROP_USE_GEGL:
core_config->use_gegl = g_value_get_boolean (value);
break;
@@ -877,6 +888,9 @@ gimp_core_config_get_property (GObject *object,
case PROP_SAVE_DOCUMENT_HISTORY:
g_value_set_boolean (value, core_config->save_document_history);
break;
+ case PROP_QUICK_MASK_COLOR:
+ gimp_value_set_rgb (value, &core_config->quick_mask_color);
+ break;
case PROP_USE_GEGL:
g_value_set_boolean (value, core_config->use_gegl);
break;
diff --git a/app/config/gimpcoreconfig.h b/app/config/gimpcoreconfig.h
index 3502e9c..1b03c8f 100644
--- a/app/config/gimpcoreconfig.h
+++ b/app/config/gimpcoreconfig.h
@@ -87,6 +87,7 @@ struct _GimpCoreConfig
GimpColorConfig *color_management;
GimpColorProfilePolicy color_profile_policy;
gboolean save_document_history;
+ GimpRGB quick_mask_color;
gboolean use_gegl;
};
diff --git a/app/config/gimprc-blurbs.h b/app/config/gimprc-blurbs.h
index a1afdd0..d8f6e44 100644
--- a/app/config/gimprc-blurbs.h
+++ b/app/config/gimprc-blurbs.h
@@ -283,6 +283,9 @@ N_("Sets whether GIMP should create previews of layers and channels. " \
N_("Sets the preview size used for layers and channel previews in newly " \
"created dialogs.")
+#define QUICK_MASK_COLOR_BLURB \
+N_("Sets the default quick mask color.")
+
#define RESIZE_WINDOWS_ON_RESIZE_BLURB \
N_("When enabled, the image window will automatically resize itself " \
"whenever the physical image size changes.")
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index 0c36071..47f31c3 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -760,6 +760,8 @@ gimp_image_constructed (GObject *object)
private->grid = gimp_config_duplicate (GIMP_CONFIG (config->default_grid));
+ private->quick_mask_color = config->quick_mask_color;
+
if (private->base_type == GIMP_INDEXED)
gimp_image_colormap_init (image);
diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c
index e9bf982..a8e6d5b 100644
--- a/app/dialogs/preferences-dialog.c
+++ b/app/dialogs/preferences-dialog.c
@@ -1923,6 +1923,7 @@ prefs_dialog_new (Gimp *gimp,
_("_Gradient"), GIMP_STOCK_GRADIENT,
GTK_BOX (vbox2), size_group);
+ /* Move Tool */
vbox2 = prefs_frame_new (_("Move Tool"),
GTK_CONTAINER (vbox), FALSE);
@@ -2020,6 +2021,19 @@ prefs_dialog_new (Gimp *gimp,
gtk_box_pack_start (GTK_BOX (vbox), editor, FALSE, FALSE, 0);
gtk_widget_show (editor);
+ /* 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);
+ 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);
+
/******************/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]