diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:13:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:13:10 +0000 |
commit | 3c57dd931145d43f2b0aef96c4d178135956bf91 (patch) | |
tree | 3de698981e9f0cc2c4f9569b19a5f3595e741f6b /app/config/gimpdisplayconfig.c | |
parent | Initial commit. (diff) | |
download | gimp-3c57dd931145d43f2b0aef96c4d178135956bf91.tar.xz gimp-3c57dd931145d43f2b0aef96c4d178135956bf91.zip |
Adding upstream version 2.10.36.upstream/2.10.36
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'app/config/gimpdisplayconfig.c')
-rw-r--r-- | app/config/gimpdisplayconfig.c | 623 |
1 files changed, 623 insertions, 0 deletions
diff --git a/app/config/gimpdisplayconfig.c b/app/config/gimpdisplayconfig.c new file mode 100644 index 0000000..d38a6a1 --- /dev/null +++ b/app/config/gimpdisplayconfig.c @@ -0,0 +1,623 @@ +/* GIMP - The GNU Image Manipulation Program + * Copyright (C) 1995 Spencer Kimball and Peter Mattis + * + * GimpDisplayConfig class + * Copyright (C) 2001 Sven Neumann <sven@gimp.org> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#include "config.h" + +#include <cairo.h> +#include <gegl.h> +#include <gdk-pixbuf/gdk-pixbuf.h> + +#include "libgimpbase/gimpbase.h" +#include "libgimpcolor/gimpcolor.h" +#include "libgimpconfig/gimpconfig.h" + +#include "config-types.h" + +#include "gimprc-blurbs.h" +#include "gimpdisplayconfig.h" +#include "gimpdisplayoptions.h" + +#include "gimp-intl.h" + + +#define DEFAULT_ACTIVATE_ON_FOCUS TRUE +#define DEFAULT_MONITOR_RESOLUTION 96.0 +#define DEFAULT_MARCHING_ANTS_SPEED 200 +#define DEFAULT_USE_EVENT_HISTORY FALSE + +enum +{ + PROP_0, + PROP_TRANSPARENCY_SIZE, + PROP_TRANSPARENCY_TYPE, + PROP_SNAP_DISTANCE, + PROP_MARCHING_ANTS_SPEED, + PROP_RESIZE_WINDOWS_ON_ZOOM, + PROP_RESIZE_WINDOWS_ON_RESIZE, + PROP_DEFAULT_SHOW_ALL, + PROP_DEFAULT_DOT_FOR_DOT, + PROP_INITIAL_ZOOM_TO_FIT, + PROP_CURSOR_MODE, + PROP_CURSOR_UPDATING, + PROP_SHOW_BRUSH_OUTLINE, + PROP_SNAP_BRUSH_OUTLINE, + PROP_SHOW_PAINT_TOOL_CURSOR, + PROP_IMAGE_TITLE_FORMAT, + PROP_IMAGE_STATUS_FORMAT, + PROP_MONITOR_XRESOLUTION, + PROP_MONITOR_YRESOLUTION, + PROP_MONITOR_RES_FROM_GDK, + PROP_NAV_PREVIEW_SIZE, + PROP_DEFAULT_VIEW, + PROP_DEFAULT_FULLSCREEN_VIEW, + PROP_ACTIVATE_ON_FOCUS, + PROP_SPACE_BAR_ACTION, + PROP_ZOOM_QUALITY, + PROP_USE_EVENT_HISTORY, + + /* ignored, only for backward compatibility: */ + PROP_DEFAULT_SNAP_TO_GUIDES, + PROP_DEFAULT_SNAP_TO_GRID, + PROP_DEFAULT_SNAP_TO_CANVAS, + PROP_DEFAULT_SNAP_TO_PATH, + PROP_CONFIRM_ON_CLOSE, + PROP_XOR_COLOR, + PROP_PERFECT_MOUSE +}; + + +static void gimp_display_config_finalize (GObject *object); +static void gimp_display_config_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); +static void gimp_display_config_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); + +static void gimp_display_config_view_notify (GObject *object, + GParamSpec *pspec, + gpointer data); +static void gimp_display_config_fullscreen_notify (GObject *object, + GParamSpec *pspec, + gpointer data); + + +G_DEFINE_TYPE (GimpDisplayConfig, gimp_display_config, GIMP_TYPE_CORE_CONFIG) + +#define parent_class gimp_display_config_parent_class + + +static void +gimp_display_config_class_init (GimpDisplayConfigClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GimpRGB color = { 0, 0, 0, 0 }; + + object_class->finalize = gimp_display_config_finalize; + object_class->set_property = gimp_display_config_set_property; + object_class->get_property = gimp_display_config_get_property; + + GIMP_CONFIG_PROP_ENUM (object_class, PROP_TRANSPARENCY_SIZE, + "transparency-size", + "Transparency size", + TRANSPARENCY_SIZE_BLURB, + GIMP_TYPE_CHECK_SIZE, + GIMP_CHECK_SIZE_MEDIUM_CHECKS, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_ENUM (object_class, PROP_TRANSPARENCY_TYPE, + "transparency-type", + "Transparency type", + TRANSPARENCY_TYPE_BLURB, + GIMP_TYPE_CHECK_TYPE, + GIMP_CHECK_TYPE_GRAY_CHECKS, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_INT (object_class, PROP_SNAP_DISTANCE, + "snap-distance", + "Snap distance", + DEFAULT_SNAP_DISTANCE_BLURB, + 1, 255, 8, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_INT (object_class, PROP_MARCHING_ANTS_SPEED, + "marching-ants-speed", + "Marching ants speed", + MARCHING_ANTS_SPEED_BLURB, + 10, 10000, DEFAULT_MARCHING_ANTS_SPEED, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_RESIZE_WINDOWS_ON_ZOOM, + "resize-windows-on-zoom", + "Resize windows on zoom", + RESIZE_WINDOWS_ON_ZOOM_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_RESIZE_WINDOWS_ON_RESIZE, + "resize-windows-on-resize", + "Resize windows on resize", + RESIZE_WINDOWS_ON_RESIZE_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_DEFAULT_SHOW_ALL, + "default-show-all", + "Default show-all", + DEFAULT_SHOW_ALL_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_DEFAULT_DOT_FOR_DOT, + "default-dot-for-dot", + "Default dot-for-dot", + DEFAULT_DOT_FOR_DOT_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_INITIAL_ZOOM_TO_FIT, + "initial-zoom-to-fit", + "Initial zoom-to-fit", + INITIAL_ZOOM_TO_FIT_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_ENUM (object_class, PROP_CURSOR_MODE, + "cursor-mode", + "Cursor mode", + CURSOR_MODE_BLURB, + GIMP_TYPE_CURSOR_MODE, + GIMP_CURSOR_MODE_TOOL_CROSSHAIR, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_CURSOR_UPDATING, + "cursor-updating", + "Cursor updating", + CURSOR_UPDATING_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_SHOW_BRUSH_OUTLINE, + "show-brush-outline", + "Show brush outline", + SHOW_BRUSH_OUTLINE_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_SNAP_BRUSH_OUTLINE, + "snap-brush-outline", + "Snap brush outline", + SNAP_BRUSH_OUTLINE_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_SHOW_PAINT_TOOL_CURSOR, + "show-paint-tool-cursor", + "Show paint tool cursor", + SHOW_PAINT_TOOL_CURSOR_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_STRING (object_class, PROP_IMAGE_TITLE_FORMAT, + "image-title-format", + "Image title format", + IMAGE_TITLE_FORMAT_BLURB, + GIMP_CONFIG_DEFAULT_IMAGE_TITLE_FORMAT, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_STRING (object_class, PROP_IMAGE_STATUS_FORMAT, + "image-status-format", + "Image statusbar format", + IMAGE_STATUS_FORMAT_BLURB, + GIMP_CONFIG_DEFAULT_IMAGE_STATUS_FORMAT, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_RESOLUTION (object_class, PROP_MONITOR_XRESOLUTION, + "monitor-xresolution", + "Monitor resolution X", + MONITOR_XRESOLUTION_BLURB, + DEFAULT_MONITOR_RESOLUTION, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_RESOLUTION (object_class, PROP_MONITOR_YRESOLUTION, + "monitor-yresolution", + "Monitor resolution Y", + MONITOR_YRESOLUTION_BLURB, + DEFAULT_MONITOR_RESOLUTION, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_MONITOR_RES_FROM_GDK, + "monitor-resolution-from-windowing-system", + "Monitor resolution from windowing system", + MONITOR_RES_FROM_GDK_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_ENUM (object_class, PROP_NAV_PREVIEW_SIZE, + "navigation-preview-size", + "Navigation preview size", + NAVIGATION_PREVIEW_SIZE_BLURB, + GIMP_TYPE_VIEW_SIZE, + GIMP_VIEW_SIZE_MEDIUM, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_OBJECT (object_class, PROP_DEFAULT_VIEW, + "default-view", + "Default view options", + DEFAULT_VIEW_BLURB, + GIMP_TYPE_DISPLAY_OPTIONS, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_AGGREGATE); + + GIMP_CONFIG_PROP_OBJECT (object_class, PROP_DEFAULT_FULLSCREEN_VIEW, + "default-fullscreen-view", + "Default fullscreen view options", + DEFAULT_FULLSCREEN_VIEW_BLURB, + GIMP_TYPE_DISPLAY_OPTIONS, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_AGGREGATE); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_ACTIVATE_ON_FOCUS, + "activate-on-focus", + "Activate on focus", + ACTIVATE_ON_FOCUS_BLURB, + DEFAULT_ACTIVATE_ON_FOCUS, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_ENUM (object_class, PROP_SPACE_BAR_ACTION, + "space-bar-action", + "Space bar action", + SPACE_BAR_ACTION_BLURB, + GIMP_TYPE_SPACE_BAR_ACTION, + GIMP_SPACE_BAR_ACTION_PAN, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_ENUM (object_class, PROP_ZOOM_QUALITY, + "zoom-quality", + "Zoom quality", + ZOOM_QUALITY_BLURB, + GIMP_TYPE_ZOOM_QUALITY, + GIMP_ZOOM_QUALITY_HIGH, + GIMP_PARAM_STATIC_STRINGS); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_USE_EVENT_HISTORY, + "use-event-history", + "Use event history", + DEFAULT_USE_EVENT_HISTORY_BLURB, + DEFAULT_USE_EVENT_HISTORY, + GIMP_PARAM_STATIC_STRINGS); + + /* only for backward compatibility: */ + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_DEFAULT_SNAP_TO_GUIDES, + "default-snap-to-guides", + NULL, NULL, + TRUE, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_DEFAULT_SNAP_TO_GRID, + "default-snap-to-grid", + NULL, NULL, + FALSE, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_DEFAULT_SNAP_TO_CANVAS, + "default-snap-to-canvas", + NULL, NULL, + FALSE, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_DEFAULT_SNAP_TO_PATH, + "default-snap-to-path", + NULL, NULL, + FALSE, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_CONFIRM_ON_CLOSE, + "confirm-on-close", + NULL, NULL, + TRUE, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); + + GIMP_CONFIG_PROP_RGB (object_class, PROP_XOR_COLOR, + "xor-color", + NULL, NULL, + FALSE, &color, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); + + GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_PERFECT_MOUSE, + "perfect-mouse", + NULL, NULL, + TRUE, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_IGNORE); +} + +static void +gimp_display_config_init (GimpDisplayConfig *config) +{ + config->default_view = + g_object_new (GIMP_TYPE_DISPLAY_OPTIONS, NULL); + + g_signal_connect (config->default_view, "notify", + G_CALLBACK (gimp_display_config_view_notify), + config); + + config->default_fullscreen_view = + g_object_new (GIMP_TYPE_DISPLAY_OPTIONS, NULL); + + g_signal_connect (config->default_fullscreen_view, "notify", + G_CALLBACK (gimp_display_config_fullscreen_notify), + config); +} + +static void +gimp_display_config_finalize (GObject *object) +{ + GimpDisplayConfig *display_config = GIMP_DISPLAY_CONFIG (object); + + g_free (display_config->image_title_format); + g_free (display_config->image_status_format); + + g_clear_object (&display_config->default_view); + g_clear_object (&display_config->default_fullscreen_view); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static void +gimp_display_config_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + GimpDisplayConfig *display_config = GIMP_DISPLAY_CONFIG (object); + + switch (property_id) + { + case PROP_TRANSPARENCY_SIZE: + display_config->transparency_size = g_value_get_enum (value); + break; + case PROP_TRANSPARENCY_TYPE: + display_config->transparency_type = g_value_get_enum (value); + break; + case PROP_SNAP_DISTANCE: + display_config->snap_distance = g_value_get_int (value); + break; + case PROP_MARCHING_ANTS_SPEED: + display_config->marching_ants_speed = g_value_get_int (value); + break; + case PROP_RESIZE_WINDOWS_ON_ZOOM: + display_config->resize_windows_on_zoom = g_value_get_boolean (value); + break; + case PROP_RESIZE_WINDOWS_ON_RESIZE: + display_config->resize_windows_on_resize = g_value_get_boolean (value); + break; + case PROP_DEFAULT_SHOW_ALL: + display_config->default_show_all = g_value_get_boolean (value); + break; + case PROP_DEFAULT_DOT_FOR_DOT: + display_config->default_dot_for_dot = g_value_get_boolean (value); + break; + case PROP_INITIAL_ZOOM_TO_FIT: + display_config->initial_zoom_to_fit = g_value_get_boolean (value); + break; + case PROP_CURSOR_MODE: + display_config->cursor_mode = g_value_get_enum (value); + break; + case PROP_CURSOR_UPDATING: + display_config->cursor_updating = g_value_get_boolean (value); + break; + case PROP_SHOW_BRUSH_OUTLINE: + display_config->show_brush_outline = g_value_get_boolean (value); + break; + case PROP_SNAP_BRUSH_OUTLINE: + display_config->snap_brush_outline = g_value_get_boolean (value); + break; + case PROP_SHOW_PAINT_TOOL_CURSOR: + display_config->show_paint_tool_cursor = g_value_get_boolean (value); + break; + case PROP_IMAGE_TITLE_FORMAT: + g_free (display_config->image_title_format); + display_config->image_title_format = g_value_dup_string (value); + break; + case PROP_IMAGE_STATUS_FORMAT: + g_free (display_config->image_status_format); + display_config->image_status_format = g_value_dup_string (value); + break; + case PROP_MONITOR_XRESOLUTION: + display_config->monitor_xres = g_value_get_double (value); + break; + case PROP_MONITOR_YRESOLUTION: + display_config->monitor_yres = g_value_get_double (value); + break; + case PROP_MONITOR_RES_FROM_GDK: + display_config->monitor_res_from_gdk = g_value_get_boolean (value); + break; + case PROP_NAV_PREVIEW_SIZE: + display_config->nav_preview_size = g_value_get_enum (value); + break; + case PROP_DEFAULT_VIEW: + if (g_value_get_object (value)) + gimp_config_sync (g_value_get_object (value), + G_OBJECT (display_config->default_view), 0); + break; + case PROP_DEFAULT_FULLSCREEN_VIEW: + if (g_value_get_object (value)) + gimp_config_sync (g_value_get_object (value), + G_OBJECT (display_config->default_fullscreen_view), + 0); + break; + case PROP_ACTIVATE_ON_FOCUS: + display_config->activate_on_focus = g_value_get_boolean (value); + break; + case PROP_SPACE_BAR_ACTION: + display_config->space_bar_action = g_value_get_enum (value); + break; + case PROP_ZOOM_QUALITY: + display_config->zoom_quality = g_value_get_enum (value); + break; + case PROP_USE_EVENT_HISTORY: + display_config->use_event_history = g_value_get_boolean (value); + break; + + case PROP_DEFAULT_SNAP_TO_GUIDES: + case PROP_DEFAULT_SNAP_TO_GRID: + case PROP_DEFAULT_SNAP_TO_CANVAS: + case PROP_DEFAULT_SNAP_TO_PATH: + case PROP_CONFIRM_ON_CLOSE: + case PROP_XOR_COLOR: + case PROP_PERFECT_MOUSE: + /* ignored */ + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +gimp_display_config_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + GimpDisplayConfig *display_config = GIMP_DISPLAY_CONFIG (object); + + switch (property_id) + { + case PROP_TRANSPARENCY_SIZE: + g_value_set_enum (value, display_config->transparency_size); + break; + case PROP_TRANSPARENCY_TYPE: + g_value_set_enum (value, display_config->transparency_type); + break; + case PROP_SNAP_DISTANCE: + g_value_set_int (value, display_config->snap_distance); + break; + case PROP_MARCHING_ANTS_SPEED: + g_value_set_int (value, display_config->marching_ants_speed); + break; + case PROP_RESIZE_WINDOWS_ON_ZOOM: + g_value_set_boolean (value, display_config->resize_windows_on_zoom); + break; + case PROP_RESIZE_WINDOWS_ON_RESIZE: + g_value_set_boolean (value, display_config->resize_windows_on_resize); + break; + case PROP_DEFAULT_SHOW_ALL: + g_value_set_boolean (value, display_config->default_show_all); + break; + case PROP_DEFAULT_DOT_FOR_DOT: + g_value_set_boolean (value, display_config->default_dot_for_dot); + break; + case PROP_INITIAL_ZOOM_TO_FIT: + g_value_set_boolean (value, display_config->initial_zoom_to_fit); + break; + case PROP_CURSOR_MODE: + g_value_set_enum (value, display_config->cursor_mode); + break; + case PROP_CURSOR_UPDATING: + g_value_set_boolean (value, display_config->cursor_updating); + break; + case PROP_SHOW_BRUSH_OUTLINE: + g_value_set_boolean (value, display_config->show_brush_outline); + break; + case PROP_SNAP_BRUSH_OUTLINE: + g_value_set_boolean (value, display_config->snap_brush_outline); + break; + case PROP_SHOW_PAINT_TOOL_CURSOR: + g_value_set_boolean (value, display_config->show_paint_tool_cursor); + break; + case PROP_IMAGE_TITLE_FORMAT: + g_value_set_string (value, display_config->image_title_format); + break; + case PROP_IMAGE_STATUS_FORMAT: + g_value_set_string (value, display_config->image_status_format); + break; + case PROP_MONITOR_XRESOLUTION: + g_value_set_double (value, display_config->monitor_xres); + break; + case PROP_MONITOR_YRESOLUTION: + g_value_set_double (value, display_config->monitor_yres); + break; + case PROP_MONITOR_RES_FROM_GDK: + g_value_set_boolean (value, display_config->monitor_res_from_gdk); + break; + case PROP_NAV_PREVIEW_SIZE: + g_value_set_enum (value, display_config->nav_preview_size); + break; + case PROP_DEFAULT_VIEW: + g_value_set_object (value, display_config->default_view); + break; + case PROP_DEFAULT_FULLSCREEN_VIEW: + g_value_set_object (value, display_config->default_fullscreen_view); + break; + case PROP_ACTIVATE_ON_FOCUS: + g_value_set_boolean (value, display_config->activate_on_focus); + break; + case PROP_SPACE_BAR_ACTION: + g_value_set_enum (value, display_config->space_bar_action); + break; + case PROP_ZOOM_QUALITY: + g_value_set_enum (value, display_config->zoom_quality); + break; + case PROP_USE_EVENT_HISTORY: + g_value_set_boolean (value, display_config->use_event_history); + break; + + case PROP_DEFAULT_SNAP_TO_GUIDES: + case PROP_DEFAULT_SNAP_TO_GRID: + case PROP_DEFAULT_SNAP_TO_CANVAS: + case PROP_DEFAULT_SNAP_TO_PATH: + case PROP_CONFIRM_ON_CLOSE: + case PROP_XOR_COLOR: + case PROP_PERFECT_MOUSE: + /* ignored */ + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +gimp_display_config_view_notify (GObject *object, + GParamSpec *pspec, + gpointer data) +{ + g_object_notify (G_OBJECT (data), "default-view"); +} + +static void +gimp_display_config_fullscreen_notify (GObject *object, + GParamSpec *pspec, + gpointer data) +{ + g_object_notify (G_OBJECT (data), "default-fullscreen-view"); +} |