1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis 3 * 4 * GimpGuiConfig class 5 * Copyright (C) 2001 Sven Neumann <sven@gimp.org> 6 * 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 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * 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 #ifndef __GIMP_GUI_CONFIG_H__ 22 #define __GIMP_GUI_CONFIG_H__ 23 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 #define GIMP_TYPE_GUI_CONFIG (gimp_gui_config_get_type ()) 32 #define GIMP_GUI_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_GUI_CONFIG, GimpGuiConfig)) 33 #define GIMP_GUI_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_GUI_CONFIG, GimpGuiConfigClass)) 34 #define GIMP_IS_GUI_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_GUI_CONFIG)) 35 #define GIMP_IS_GUI_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_GUI_CONFIG)) 36 37 38 typedef struct _GimpGuiConfigClass GimpGuiConfigClass; 39 40 struct _GimpGuiConfig 41 { 42 GimpDisplayConfig parent_instance; 43 44 gboolean edit_non_visible; 45 gboolean move_tool_changes_active; 46 gint filter_tool_max_recent; 47 gboolean filter_tool_use_last_settings; 48 gboolean filter_tool_show_color_options; 49 gboolean trust_dirty_flag; 50 gboolean save_device_status; 51 gboolean devices_share_tool; 52 gboolean save_session_info; 53 gboolean restore_session; 54 gboolean restore_monitor; 55 gboolean save_tool_options; 56 gboolean compact_sliders; 57 gboolean show_tooltips; 58 gboolean tearoff_menus; 59 gboolean can_change_accels; 60 gboolean save_accels; 61 gboolean restore_accels; 62 gint last_opened_size; 63 guint64 max_new_image_size; 64 gboolean toolbox_color_area; 65 gboolean toolbox_foo_area; 66 gboolean toolbox_image_area; 67 gboolean toolbox_wilber; 68 gboolean toolbox_groups; 69 GimpToolGroupMenuMode toolbox_group_menu_mode; 70 gchar *theme_path; 71 gchar *theme; 72 gchar *icon_theme_path; 73 gchar *icon_theme; 74 GimpIconSize icon_size; 75 gboolean use_help; 76 gboolean show_help_button; 77 gchar *help_locales; 78 GimpHelpBrowserType help_browser; 79 gboolean user_manual_online; 80 gchar *user_manual_online_uri; 81 gboolean search_show_unavailable; 82 gint action_history_size; 83 GimpWindowHint dock_window_hint; 84 GimpHandedness cursor_handedness; 85 86 /* experimental playground */ 87 gboolean playground_npd_tool; 88 gboolean playground_seamless_clone_tool; 89 90 /* saved in sessionrc */ 91 gboolean hide_docks; 92 gboolean single_window_mode; 93 gboolean show_tabs; 94 GimpPosition tabs_position; 95 gint last_tip_shown; 96 }; 97 98 struct _GimpGuiConfigClass 99 { 100 GimpDisplayConfigClass parent_class; 101 102 void (* size_changed) (GimpGuiConfig *config); 103 }; 104 105 106 GType gimp_gui_config_get_type (void) G_GNUC_CONST; 107 108 GimpIconSize gimp_gui_config_detect_icon_size (GimpGuiConfig *config); 109 110 #endif /* GIMP_GUI_CONFIG_H__ */ 111