gimpguiconfig.h 3.56 KB
Newer Older
1
/* GIMP - The GNU Image Manipulation Program
2 3 4 5 6
 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
 *
 * GimpGuiConfig class
 * Copyright (C) 2001  Sven Neumann <sven@gimp.org>
 *
7
 * This program is free software: you can redistribute it and/or modify
8
 * it under the terms of the GNU General Public License as published by
9
 * the Free Software Foundation; either version 3 of the License, or
10 11 12 13 14 15 16 17
 * (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
18
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 20 21 22 23
 */

#ifndef __GIMP_GUI_CONFIG_H__
#define __GIMP_GUI_CONFIG_H__

24
#include "config/gimpdisplayconfig.h"
25 26


27
#define GIMP_CONFIG_DEFAULT_THEME          "Dark"
28
#define GIMP_CONFIG_DEFAULT_ICON_THEME     "Symbolic"
29 30


31 32 33 34 35 36 37 38 39 40 41
#define GIMP_TYPE_GUI_CONFIG            (gimp_gui_config_get_type ())
#define GIMP_GUI_CONFIG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_GUI_CONFIG, GimpGuiConfig))
#define GIMP_GUI_CONFIG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_GUI_CONFIG, GimpGuiConfigClass))
#define GIMP_IS_GUI_CONFIG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_GUI_CONFIG))
#define GIMP_IS_GUI_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_GUI_CONFIG))


typedef struct _GimpGuiConfigClass GimpGuiConfigClass;

struct _GimpGuiConfig
{
42
  GimpDisplayConfig    parent_instance;
43

44
  gboolean             move_tool_changes_active;
45
  gint                 filter_tool_max_recent;
46
  gboolean             filter_tool_use_last_settings;
47
  gboolean             filter_tool_show_color_options;
48
  gboolean             trust_dirty_flag;
49
  gboolean             save_device_status;
50
  gboolean             devices_share_tool;
51
  gboolean             save_session_info;
52
  gboolean             restore_session;
53
  gboolean             restore_monitor;
54
  gboolean             save_tool_options;
55
  gboolean             can_change_accels;
56 57
  gboolean             save_accels;
  gboolean             restore_accels;
58
  gint                 last_opened_size;
59
  guint64              max_new_image_size;
60 61 62
  gboolean             toolbox_color_area;
  gboolean             toolbox_foo_area;
  gboolean             toolbox_image_area;
63
  gboolean             toolbox_wilber;
64 65
  gchar               *theme_path;
  gchar               *theme;
66
  gboolean             prefer_dark_theme;
67 68
  gchar               *icon_theme_path;
  gchar               *icon_theme;
69
  gboolean             use_help;
70
  gboolean             show_help_button;
71
  gchar               *help_locales;
72
  GimpHelpBrowserType  help_browser;
73 74
  gboolean             user_manual_online;
  gchar               *user_manual_online_uri;
75 76
  gboolean             search_show_unavailable;
  gint                 action_history_size;
77
  GimpWindowHint       dock_window_hint;
78
  GimpHandedness       cursor_handedness;
79

80 81
  /* experimental playground */
  gboolean             playground_npd_tool;
82
  gboolean             playground_seamless_clone_tool;
83

84 85 86
  /* saved in sessionrc */
  gboolean             hide_docks;
  gboolean             single_window_mode;
87
  GimpPosition         tabs_position;
88
  gint                 last_tip_shown;
89 90 91 92
};

struct _GimpGuiConfigClass
{
93
  GimpDisplayConfigClass  parent_class;
94 95

  void (* size_changed) (GimpGuiConfig *config);
96 97 98 99 100 101
};


GType  gimp_gui_config_get_type (void) G_GNUC_CONST;

#endif /* GIMP_GUI_CONFIG_H__ */