mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-20 11:37:14 +00:00
Bug 558795 - Using same quick mask color across sessions
Add configuration option for quick mask color.
This commit is contained in:
parent
72d60103e5
commit
082d758a34
|
@ -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;
|
||||
|
|
|
@ -87,6 +87,7 @@ struct _GimpCoreConfig
|
|||
GimpColorConfig *color_management;
|
||||
GimpColorProfilePolicy color_profile_policy;
|
||||
gboolean save_document_history;
|
||||
GimpRGB quick_mask_color;
|
||||
gboolean use_gegl;
|
||||
};
|
||||
|
||||
|
|
|
@ -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.")
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
||||
|
||||
/******************/
|
||||
|
|
Loading…
Reference in a new issue