1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
|
/** @file
* @brief Inkscape Preferences dialog
*/
/* Authors:
* Carl Hetherington
* Marco Scholten
* Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
* Bruno Dilly <bruno.dilly@gmail.com>
*
* Copyright (C) 2004-2007 Authors
*
* Released under GNU GPL. Read the file 'COPYING' for more information.
*/
#ifndef INKSCAPE_UI_DIALOG_INKSCAPE_PREFERENCES_H
#define INKSCAPE_UI_DIALOG_INKSCAPE_PREFERENCES_H
#include <iostream>
#include <vector>
#include <gtkmm/base.h>
#include <gtkmm/table.h>
#include <gtkmm/colorbutton.h>
#include <gtkmm/comboboxtext.h>
#include <gtkmm/spinbutton.h>
#include <gtkmm/treestore.h>
#include <gtkmm/treeview.h>
#include <gtkmm/radiobutton.h>
#include <gtkmm/frame.h>
#include <gtkmm/notebook.h>
#include "ui/widget/preferences-widget.h"
#include <sigc++/sigc++.h>
#include <glibmm/i18n.h>
#include <gtkmm/textview.h>
#include <gtkmm/scrolledwindow.h>
#include "ui/widget/panel.h"
// UPDATE THIS IF YOU'RE ADDING PREFS PAGES.
// Otherwise the commands that open the dialog with the new page will fail.
enum {
PREFS_PAGE_TOOLS,
PREFS_PAGE_TOOLS_SELECTOR,
PREFS_PAGE_TOOLS_NODE,
PREFS_PAGE_TOOLS_TWEAK,
PREFS_PAGE_TOOLS_SPRAY,
PREFS_PAGE_TOOLS_ZOOM,
PREFS_PAGE_TOOLS_SHAPES,
PREFS_PAGE_TOOLS_SHAPES_RECT,
PREFS_PAGE_TOOLS_SHAPES_3DBOX,
PREFS_PAGE_TOOLS_SHAPES_ELLIPSE,
PREFS_PAGE_TOOLS_SHAPES_STAR,
PREFS_PAGE_TOOLS_SHAPES_SPIRAL,
PREFS_PAGE_TOOLS_PENCIL,
PREFS_PAGE_TOOLS_PEN,
PREFS_PAGE_TOOLS_CALLIGRAPHY,
PREFS_PAGE_TOOLS_PAINTBUCKET,
PREFS_PAGE_TOOLS_ERASER,
PREFS_PAGE_TOOLS_LPETOOL,
PREFS_PAGE_TOOLS_TEXT,
PREFS_PAGE_TOOLS_GRADIENT,
PREFS_PAGE_TOOLS_CONNECTOR,
PREFS_PAGE_TOOLS_DROPPER,
PREFS_PAGE_SELECTING,
PREFS_PAGE_TRANSFORMS,
PREFS_PAGE_CLONES,
PREFS_PAGE_MASKS,
PREFS_PAGE_FILTERS,
PREFS_PAGE_BITMAPS,
PREFS_PAGE_CMS,
PREFS_PAGE_GRIDS,
PREFS_PAGE_SVGOUTPUT,
PREFS_PAGE_SAVE,
PREFS_PAGE_IMPORTEXPORT,
PREFS_PAGE_MOUSE,
PREFS_PAGE_SCROLLING,
PREFS_PAGE_SNAPPING,
PREFS_PAGE_STEPS,
PREFS_PAGE_UI,
PREFS_PAGE_WINDOWS,
PREFS_PAGE_SPELLCHECK,
PREFS_PAGE_MISC
};
namespace Inkscape {
namespace UI {
namespace Dialog {
class InkscapePreferences : public UI::Widget::Panel {
public:
virtual ~InkscapePreferences();
static InkscapePreferences &getInstance() { return *new InkscapePreferences(); }
protected:
Gtk::Frame _page_frame;
Gtk::Label _page_title;
Gtk::TreeView _page_list;
Glib::RefPtr<Gtk::TreeStore> _page_list_model;
//Pagelist model columns:
class PageListModelColumns : public Gtk::TreeModel::ColumnRecord
{
public:
PageListModelColumns()
{ Gtk::TreeModelColumnRecord::add(_col_name); Gtk::TreeModelColumnRecord::add(_col_page); Gtk::TreeModelColumnRecord::add(_col_id); }
Gtk::TreeModelColumn<Glib::ustring> _col_name;
Gtk::TreeModelColumn<int> _col_id;
Gtk::TreeModelColumn<UI::Widget::DialogPage*> _col_page;
};
PageListModelColumns _page_list_columns;
Gtk::TreeModel::Path _path_tools;
Gtk::TreeModel::Path _path_shapes;
UI::Widget::DialogPage _page_mouse;
UI::Widget::DialogPage _page_scrolling;
UI::Widget::DialogPage _page_snapping;
UI::Widget::DialogPage _page_steps;
UI::Widget::DialogPage _page_tools;
UI::Widget::DialogPage _page_windows;
UI::Widget::DialogPage _page_clones;
UI::Widget::DialogPage _page_mask;
UI::Widget::DialogPage _page_transforms;
UI::Widget::DialogPage _page_filters;
UI::Widget::DialogPage _page_select;
UI::Widget::DialogPage _page_importexport;
UI::Widget::DialogPage _page_cms;
UI::Widget::DialogPage _page_grids;
UI::Widget::DialogPage _page_svgoutput;
UI::Widget::DialogPage _page_misc;
UI::Widget::DialogPage _page_ui;
UI::Widget::DialogPage _page_save;
UI::Widget::DialogPage _page_bitmaps;
UI::Widget::DialogPage _page_spellcheck;
UI::Widget::DialogPage _page_selector;
UI::Widget::DialogPage _page_node;
UI::Widget::DialogPage _page_tweak;
UI::Widget::DialogPage _page_spray;
UI::Widget::DialogPage _page_zoom;
UI::Widget::DialogPage _page_shapes;
UI::Widget::DialogPage _page_pencil;
UI::Widget::DialogPage _page_pen;
UI::Widget::DialogPage _page_calligraphy;
UI::Widget::DialogPage _page_text;
UI::Widget::DialogPage _page_gradient;
UI::Widget::DialogPage _page_connector;
UI::Widget::DialogPage _page_dropper;
UI::Widget::DialogPage _page_lpetool;
UI::Widget::DialogPage _page_rectangle;
UI::Widget::DialogPage _page_3dbox;
UI::Widget::DialogPage _page_ellipse;
UI::Widget::DialogPage _page_star;
UI::Widget::DialogPage _page_spiral;
UI::Widget::DialogPage _page_paintbucket;
UI::Widget::DialogPage _page_eraser;
UI::Widget::PrefSpinButton _mouse_sens;
UI::Widget::PrefSpinButton _mouse_thres;
UI::Widget::PrefCheckButton _mouse_use_ext_input;
UI::Widget::PrefCheckButton _mouse_switch_on_ext_input;
UI::Widget::PrefSpinButton _scroll_wheel;
UI::Widget::PrefSpinButton _scroll_arrow_px;
UI::Widget::PrefSpinButton _scroll_arrow_acc;
UI::Widget::PrefSpinButton _scroll_auto_speed;
UI::Widget::PrefSpinButton _scroll_auto_thres;
UI::Widget::PrefCheckButton _scroll_space;
UI::Widget::PrefCheckButton _wheel_zoom;
Gtk::HScale *_slider_snapping_delay;
UI::Widget::PrefCheckButton _snap_indicator;
UI::Widget::PrefCheckButton _snap_closest_only;
UI::Widget::PrefCheckButton _snap_mouse_pointer;
UI::Widget::PrefCombo _steps_rot_snap;
UI::Widget::PrefCheckButton _steps_compass;
UI::Widget::PrefSpinButton _steps_arrow;
UI::Widget::PrefSpinButton _steps_scale;
UI::Widget::PrefSpinButton _steps_inset;
UI::Widget::PrefSpinButton _steps_zoom;
UI::Widget::PrefRadioButton _t_sel_trans_obj;
UI::Widget::PrefRadioButton _t_sel_trans_outl;
UI::Widget::PrefRadioButton _t_sel_cue_none;
UI::Widget::PrefRadioButton _t_sel_cue_mark;
UI::Widget::PrefRadioButton _t_sel_cue_box;
UI::Widget::PrefRadioButton _t_bbox_visual;
UI::Widget::PrefRadioButton _t_bbox_geometric;
UI::Widget::PrefCheckButton _t_cvg_keep_objects;
UI::Widget::PrefCheckButton _t_cvg_convert_whole_groups;
UI::Widget::PrefCheckButton _t_node_show_outline;
UI::Widget::PrefCheckButton _t_node_live_outline;
UI::Widget::PrefCheckButton _t_node_live_objects;
UI::Widget::PrefCheckButton _t_node_pathflash_enabled;
UI::Widget::PrefCheckButton _t_node_pathflash_selected;
UI::Widget::PrefSpinButton _t_node_pathflash_timeout;
UI::Widget::PrefCheckButton _t_node_show_path_direction;
UI::Widget::PrefCheckButton _t_node_single_node_transform_handles;
UI::Widget::PrefCheckButton _t_node_delete_preserves_shape;
UI::Widget::PrefColorPicker _t_node_pathoutline_color;
UI::Widget::PrefRadioButton _win_dockable;
UI::Widget::PrefRadioButton _win_floating;
UI::Widget::PrefRadioButton _win_ontop_none;
UI::Widget::PrefRadioButton _win_ontop_normal;
UI::Widget::PrefRadioButton _win_ontop_agressive;
UI::Widget::PrefRadioButton _win_save_geom_off;
UI::Widget::PrefRadioButton _win_save_geom;
UI::Widget::PrefRadioButton _win_save_geom_prefs;
UI::Widget::PrefCheckButton _win_hide_task;
UI::Widget::PrefCheckButton _win_zoom_resize;
UI::Widget::PrefCheckButton _win_show_close;
UI::Widget::PrefSpinButton _win_trans_focus; /**< The dialog transparency setting for when the dialog is focused. */
UI::Widget::PrefSpinButton _win_trans_blur; /**< The dialog transparency setting for when the dialog is out of focus. */
UI::Widget::PrefSpinButton _win_trans_time; /**< How much time to go from one transparency setting to another */
UI::Widget::PrefCheckButton _pencil_average_all_sketches;
UI::Widget::PrefCheckButton _calligrapy_use_abs_size;
UI::Widget::PrefCheckButton _calligrapy_keep_selected;
UI::Widget::PrefCheckButton _connector_ignore_text;
UI::Widget::PrefRadioButton _clone_option_parallel;
UI::Widget::PrefRadioButton _clone_option_stay;
UI::Widget::PrefRadioButton _clone_option_transform;
UI::Widget::PrefRadioButton _clone_option_unlink;
UI::Widget::PrefRadioButton _clone_option_delete;
UI::Widget::PrefCheckButton _clone_relink_on_duplicate;
UI::Widget::PrefCheckButton _mask_mask_on_top;
UI::Widget::PrefCheckButton _mask_mask_remove;
UI::Widget::PrefRadioButton _mask_grouping_none;
UI::Widget::PrefRadioButton _mask_grouping_separate;
UI::Widget::PrefRadioButton _mask_grouping_all;
UI::Widget::PrefCheckButton _mask_ungrouping;
UI::Widget::PrefRadioButton _blur_quality_best;
UI::Widget::PrefRadioButton _blur_quality_better;
UI::Widget::PrefRadioButton _blur_quality_normal;
UI::Widget::PrefRadioButton _blur_quality_worse;
UI::Widget::PrefRadioButton _blur_quality_worst;
UI::Widget::PrefRadioButton _filter_quality_best;
UI::Widget::PrefRadioButton _filter_quality_better;
UI::Widget::PrefRadioButton _filter_quality_normal;
UI::Widget::PrefRadioButton _filter_quality_worse;
UI::Widget::PrefRadioButton _filter_quality_worst;
UI::Widget::PrefCheckButton _show_filters_info_box;
UI::Widget::PrefSpinButton _filter_multi_threaded;
UI::Widget::PrefCheckButton _trans_scale_stroke;
UI::Widget::PrefCheckButton _trans_scale_corner;
UI::Widget::PrefCheckButton _trans_gradient;
UI::Widget::PrefCheckButton _trans_pattern;
UI::Widget::PrefRadioButton _trans_optimized;
UI::Widget::PrefRadioButton _trans_preserved;
UI::Widget::PrefRadioButton _sel_all;
UI::Widget::PrefRadioButton _sel_current;
UI::Widget::PrefRadioButton _sel_recursive;
UI::Widget::PrefCheckButton _sel_hidden;
UI::Widget::PrefCheckButton _sel_locked;
UI::Widget::PrefCheckButton _sel_layer_deselects;
UI::Widget::PrefSpinButton _importexport_export;
UI::Widget::PrefSpinButton _misc_simpl;
UI::Widget::PrefSlider _snap_delay;
UI::Widget::PrefSlider _snap_weight;
UI::Widget::PrefSpinButton _misc_latency_skew;
UI::Widget::PrefCheckButton _misc_comment;
UI::Widget::PrefCheckButton _misc_forkvectors;
UI::Widget::PrefCheckButton _misc_scripts;
UI::Widget::PrefCheckButton _misc_namedicon_delay;
Gtk::TextView _misc_info;
Gtk::ScrolledWindow _misc_info_scroll;
// UI page
UI::Widget::PrefCombo _ui_languages;
UI::Widget::PrefCombo _misc_small_toolbar;
UI::Widget::PrefCombo _misc_small_secondary;
UI::Widget::PrefCombo _misc_small_tools;
UI::Widget::PrefCheckButton _ui_colorsliders_top;
UI::Widget::PrefSpinButton _misc_recent;
UI::Widget::PrefCheckButton _ui_partialdynamic;
UI::Widget::ZoomCorrRulerSlider _ui_zoom_correction;
//Spellcheck
UI::Widget::PrefCombo _spell_language;
UI::Widget::PrefCombo _spell_language2;
UI::Widget::PrefCombo _spell_language3;
UI::Widget::PrefCheckButton _spell_ignorenumbers;
UI::Widget::PrefCheckButton _spell_ignoreallcaps;
UI::Widget::PrefCombo _misc_overs_bitmap;
UI::Widget::PrefCombo _misc_bitmap_editor;
UI::Widget::PrefCheckButton _misc_bitmap_autoreload;
UI::Widget::PrefSpinButton _bitmap_copy_res;
UI::Widget::PrefCheckButton _save_use_current_dir;
UI::Widget::PrefCheckButton _save_autosave_enable;
UI::Widget::PrefSpinButton _save_autosave_interval;
UI::Widget::PrefEntry _save_autosave_path;
UI::Widget::PrefSpinButton _save_autosave_max;
Gtk::ComboBoxText _cms_display_profile;
UI::Widget::PrefCheckButton _cms_from_display;
UI::Widget::PrefCombo _cms_intent;
UI::Widget::PrefCheckButton _cms_softproof;
UI::Widget::PrefCheckButton _cms_gamutwarn;
Gtk::ColorButton _cms_gamutcolor;
Gtk::ComboBoxText _cms_proof_profile;
UI::Widget::PrefCombo _cms_proof_intent;
UI::Widget::PrefCheckButton _cms_proof_blackpoint;
UI::Widget::PrefCheckButton _cms_proof_preserveblack;
Gtk::Notebook _grids_notebook;
UI::Widget::PrefCheckButton _grids_no_emphasize_on_zoom;
UI::Widget::DialogPage _grids_xy;
UI::Widget::DialogPage _grids_axonom;
// CanvasXYGrid properties:
UI::Widget::PrefUnit _grids_xy_units;
UI::Widget::PrefSpinButton _grids_xy_origin_x;
UI::Widget::PrefSpinButton _grids_xy_origin_y;
UI::Widget::PrefSpinButton _grids_xy_spacing_x;
UI::Widget::PrefSpinButton _grids_xy_spacing_y;
UI::Widget::PrefColorPicker _grids_xy_color;
UI::Widget::PrefColorPicker _grids_xy_empcolor;
UI::Widget::PrefSpinButton _grids_xy_empspacing;
UI::Widget::PrefCheckButton _grids_xy_dotted;
// CanvasAxonomGrid properties:
UI::Widget::PrefUnit _grids_axonom_units;
UI::Widget::PrefSpinButton _grids_axonom_origin_x;
UI::Widget::PrefSpinButton _grids_axonom_origin_y;
UI::Widget::PrefSpinButton _grids_axonom_spacing_y;
UI::Widget::PrefSpinButton _grids_axonom_angle_x;
UI::Widget::PrefSpinButton _grids_axonom_angle_z;
UI::Widget::PrefColorPicker _grids_axonom_color;
UI::Widget::PrefColorPicker _grids_axonom_empcolor;
UI::Widget::PrefSpinButton _grids_axonom_empspacing;
// SVG Output page:
UI::Widget::PrefCheckButton _svgoutput_usenamedcolors;
UI::Widget::PrefSpinButton _svgoutput_numericprecision;
UI::Widget::PrefSpinButton _svgoutput_minimumexponent;
UI::Widget::PrefCheckButton _svgoutput_inlineattrs;
UI::Widget::PrefSpinButton _svgoutput_indent;
UI::Widget::PrefCheckButton _svgoutput_allowrelativecoordinates;
UI::Widget::PrefCheckButton _svgoutput_forcerepeatcommands;
UI::Widget::PrefEntryButtonHBox _importexport_ocal_url;
UI::Widget::PrefEntry _importexport_ocal_username;
UI::Widget::PrefEntry _importexport_ocal_password;
int _max_dialog_width;
int _max_dialog_height;
int _sb_width;
UI::Widget::DialogPage* _current_page;
Gtk::TreeModel::iterator AddPage(UI::Widget::DialogPage& p, Glib::ustring title, int id);
Gtk::TreeModel::iterator AddPage(UI::Widget::DialogPage& p, Glib::ustring title, Gtk::TreeModel::iterator parent, int id);
bool SetMaxDialogSize(const Gtk::TreeModel::iterator& iter);
bool PresentPage(const Gtk::TreeModel::iterator& iter);
static void AddSelcueCheckbox(UI::Widget::DialogPage& p, Glib::ustring const &prefs_path, bool def_value);
static void AddGradientCheckbox(UI::Widget::DialogPage& p, Glib::ustring const &prefs_path, bool def_value);
static void AddConvertGuidesCheckbox(UI::Widget::DialogPage& p, Glib::ustring const &prefs_path, bool def_value);
static void AddDotSizeSpinbutton(UI::Widget::DialogPage& p, Glib::ustring const &prefs_path, double def_value);
static void AddNewObjectsStyle(UI::Widget::DialogPage& p, Glib::ustring const &prefs_path, const gchar* banner = NULL);
void on_pagelist_selection_changed();
void on_reset_open_recent_clicked();
void initPageMouse();
void initPageScrolling();
void initPageSnapping();
void initPageSteps();
void initPageTools();
void initPageWindows();
void initPageClones();
void initPageMasks();
void initPageTransforms();
void initPageFilters();
void initPageSelecting();
void initPageImportExport();
void initPageCMS();
void initPageGrids();
void initPageSVGOutput();
void initPageUI();
void initPageSpellcheck();
void initPageSave();
void initPageBitmaps();
void initPageMisc();
void initPageI18n();
void _presentPages();
private:
InkscapePreferences();
InkscapePreferences(InkscapePreferences const &d);
InkscapePreferences operator=(InkscapePreferences const &d);
};
} // namespace Dialog
} // namespace UI
} // namespace Inkscape
#endif //INKSCAPE_UI_DIALOG_INKSCAPE_PREFERENCES_H
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
|