2006-12-09 21:33:38 +00:00
|
|
|
/* GIMP - The GNU Image Manipulation Program
|
2001-12-10 20:43:51 +00:00
|
|
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
|
|
|
*
|
|
|
|
* GimpCoreConfig class
|
|
|
|
* Copyright (C) 2001 Sven Neumann <sven@gimp.org>
|
|
|
|
*
|
2009-01-17 22:28:01 +00:00
|
|
|
* This program is free software: you can redistribute it and/or modify
|
2001-12-10 20:43:51 +00:00
|
|
|
* it under the terms of the GNU General Public License as published by
|
2009-01-17 22:28:01 +00:00
|
|
|
* the Free Software Foundation; either version 3 of the License, or
|
2001-12-10 20:43:51 +00:00
|
|
|
* (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
|
2018-07-11 23:27:07 +02:00
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
2001-12-10 20:43:51 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __GIMP_CORE_CONFIG_H__
|
|
|
|
#define __GIMP_CORE_CONFIG_H__
|
|
|
|
|
2017-02-02 00:38:25 +01:00
|
|
|
#include "operations/operations-enums.h"
|
2001-12-18 17:45:29 +00:00
|
|
|
#include "core/core-enums.h"
|
|
|
|
|
2012-05-14 22:57:58 +02:00
|
|
|
#include "config/gimpgeglconfig.h"
|
2001-12-10 20:43:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
#define GIMP_TYPE_CORE_CONFIG (gimp_core_config_get_type ())
|
|
|
|
#define GIMP_CORE_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_CORE_CONFIG, GimpCoreConfig))
|
|
|
|
#define GIMP_CORE_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_CORE_CONFIG, GimpCoreConfigClass))
|
|
|
|
#define GIMP_IS_CORE_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_CORE_CONFIG))
|
|
|
|
#define GIMP_IS_CORE_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_CORE_CONFIG))
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _GimpCoreConfigClass GimpCoreConfigClass;
|
|
|
|
|
|
|
|
struct _GimpCoreConfig
|
|
|
|
{
|
2012-05-14 22:57:58 +02:00
|
|
|
GimpGeglConfig parent_instance;
|
2001-12-10 20:43:51 +00:00
|
|
|
|
2009-12-30 00:38:31 +01:00
|
|
|
gchar *language;
|
2022-07-06 19:33:00 +02:00
|
|
|
gchar *prev_language;
|
2006-10-27 13:52:40 +00:00
|
|
|
GimpInterpolationType interpolation_type;
|
2011-02-04 15:19:44 +01:00
|
|
|
gint default_threshold;
|
2006-10-27 13:52:40 +00:00
|
|
|
gchar *plug_in_path;
|
|
|
|
gchar *module_path;
|
|
|
|
gchar *interpreter_path;
|
|
|
|
gchar *environ_path;
|
|
|
|
gchar *brush_path;
|
|
|
|
gchar *brush_path_writable;
|
2009-10-11 01:30:54 +02:00
|
|
|
gchar *dynamics_path;
|
|
|
|
gchar *dynamics_path_writable;
|
2015-12-20 23:20:06 +01:00
|
|
|
gchar *mypaint_brush_path;
|
|
|
|
gchar *mypaint_brush_path_writable;
|
2006-10-27 13:52:40 +00:00
|
|
|
gchar *pattern_path;
|
|
|
|
gchar *pattern_path_writable;
|
|
|
|
gchar *palette_path;
|
|
|
|
gchar *palette_path_writable;
|
|
|
|
gchar *gradient_path;
|
|
|
|
gchar *gradient_path_writable;
|
2010-04-03 18:25:31 +03:00
|
|
|
gchar *tool_preset_path;
|
|
|
|
gchar *tool_preset_path_writable;
|
2010-04-04 13:58:55 +02:00
|
|
|
gchar *font_path;
|
|
|
|
gchar *font_path_writable; /* unused */
|
2006-10-27 13:52:40 +00:00
|
|
|
gchar *default_brush;
|
2009-10-11 01:30:54 +02:00
|
|
|
gchar *default_dynamics;
|
2015-12-20 23:20:06 +01:00
|
|
|
gchar *default_mypaint_brush;
|
2006-10-27 13:52:40 +00:00
|
|
|
gchar *default_pattern;
|
|
|
|
gchar *default_palette;
|
2010-04-03 18:25:31 +03:00
|
|
|
gchar *default_tool_preset;
|
2006-10-27 13:52:40 +00:00
|
|
|
gchar *default_gradient;
|
|
|
|
gchar *default_font;
|
|
|
|
gboolean global_brush;
|
2009-10-11 01:30:54 +02:00
|
|
|
gboolean global_dynamics;
|
2006-10-27 13:52:40 +00:00
|
|
|
gboolean global_pattern;
|
|
|
|
gboolean global_palette;
|
|
|
|
gboolean global_gradient;
|
|
|
|
gboolean global_font;
|
2023-08-18 08:51:46 +05:30
|
|
|
gboolean global_expand;
|
2006-10-27 13:52:40 +00:00
|
|
|
GimpTemplate *default_image;
|
|
|
|
GimpGrid *default_grid;
|
|
|
|
gint levels_of_undo;
|
|
|
|
guint64 undo_size;
|
|
|
|
GimpViewSize undo_preview_size;
|
2015-12-30 11:53:52 +01:00
|
|
|
gint filter_history_size;
|
2006-10-27 13:52:40 +00:00
|
|
|
gchar *plug_in_rc_path;
|
|
|
|
gboolean layer_previews;
|
2018-07-01 13:15:21 -04:00
|
|
|
gboolean group_layer_previews;
|
2006-10-27 13:52:40 +00:00
|
|
|
GimpViewSize layer_preview_size;
|
|
|
|
GimpThumbnailSize thumbnail_size;
|
|
|
|
guint64 thumbnail_filesize_limit;
|
|
|
|
GimpColorConfig *color_management;
|
|
|
|
gboolean save_document_history;
|
2023-11-20 00:20:03 +01:00
|
|
|
GeglColor *quick_mask_color;
|
2017-01-22 22:03:55 +01:00
|
|
|
gboolean import_promote_float;
|
|
|
|
gboolean import_promote_dither;
|
2017-02-17 22:07:43 +01:00
|
|
|
gboolean import_add_alpha;
|
2023-08-09 02:43:03 +00:00
|
|
|
gboolean import_resize_layers;
|
2017-05-04 20:35:53 +02:00
|
|
|
gchar *import_raw_plug_in;
|
2018-12-05 21:59:19 +03:00
|
|
|
GimpExportFileType export_file_type;
|
2018-06-18 02:19:41 +02:00
|
|
|
gboolean export_color_profile;
|
2019-10-10 00:45:41 +02:00
|
|
|
gboolean export_comment;
|
2021-08-25 15:00:45 -04:00
|
|
|
gboolean export_thumbnail;
|
2018-01-11 01:53:35 +01:00
|
|
|
gboolean export_metadata_exif;
|
|
|
|
gboolean export_metadata_xmp;
|
|
|
|
gboolean export_metadata_iptc;
|
app: make debugging preference finer-grained than a boolean.
Replacing the boolean property "generate-backtrace" by an enum
"debug-policy". This property allows one to choose whether to debug
WARNING, CRITICAL and FATAL (crashes), or CRITICAL and FATAL only, or
only FATAL, or finally nothing.
By default, a stable release will debug CRITICAL and crashes, and
unstable builds will start debugging at WARNINGs.
The reason for the settings is that if you stumble upon a reccurring bug
in your workflow (and this bug is not major enough for data corruption,
and "you can live with it"), you still have to wait for a new release.
At some point, you may want to disable getting a debug dialog, at least
temporarily. Oppositely, even when using a stable build, you may want to
obtain debug info for lesser issues, even WARNINGs, if you wish to help
the GIMP project.
It can be argued though whether the value GIMP_DEBUG_POLICY_NEVER is
really useful. There is nothing to gain from refusing debugging info
when the software crashed anyway. But I could still imagine that someone
is not interested in helping at all. It's sad but not like we are going
to force people to report. Let's just allow disabling the whole
debugging system.
2018-02-08 20:48:16 +01:00
|
|
|
GimpDebugPolicy debug_policy;
|
2021-06-29 16:11:03 +02:00
|
|
|
#ifdef G_OS_WIN32
|
|
|
|
GimpWin32PointerInputAPI win32_pointer_input_api;
|
|
|
|
#endif
|
2021-10-05 01:56:51 +02:00
|
|
|
GimpSelectMethod items_select_method;
|
2019-12-08 19:08:49 +01:00
|
|
|
|
|
|
|
gboolean check_updates;
|
|
|
|
gint64 check_update_timestamp;
|
|
|
|
gchar *last_known_release;
|
2020-01-02 23:09:23 +01:00
|
|
|
gint64 last_release_timestamp;
|
2020-03-30 15:37:34 +02:00
|
|
|
gchar *last_release_comment;
|
2020-02-06 21:47:00 +01:00
|
|
|
gint last_revision;
|
2022-02-20 20:21:14 +01:00
|
|
|
|
2022-02-22 12:13:46 +01:00
|
|
|
gchar *config_version;
|
2001-12-10 20:43:51 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _GimpCoreConfigClass
|
|
|
|
{
|
2012-05-14 22:57:58 +02:00
|
|
|
GimpGeglConfigClass parent_class;
|
2001-12-10 20:43:51 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
GType gimp_core_config_get_type (void) G_GNUC_CONST;
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* GIMP_CORE_CONFIG_H__ */
|