X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fdialog%2Finkscape-preferences.h;h=6798de21d40e9f8f5649fc5951a84e9bd2109582;hb=11a7559367dd1824198fe3b75e6d6ceb208ea1b7;hp=269bce7f03ddac29fce44c1a7cb8ea8ed4acc31f;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h index 269bce7f0..6798de21d 100644 --- a/src/ui/dialog/inkscape-preferences.h +++ b/src/ui/dialog/inkscape-preferences.h @@ -1,11 +1,13 @@ /** - * \brief Inkscape Preferences dialog + * brief Inkscape Preferences dialog * * Authors: * Carl Hetherington * Marco Scholten + * Johan Engelen + * Bruno Dilly * - * Copyright (C) 2004, 2006 Authors + * Copyright (C) 2004-2007 Authors * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -28,6 +30,42 @@ #include "dialog.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_MOUSE, + PREFS_PAGE_SCROLLING, + PREFS_PAGE_STEPS, + PREFS_PAGE_TOOLS, + PREFS_PAGE_TOOLS_SELECTOR, + PREFS_PAGE_TOOLS_NODE, + PREFS_PAGE_TOOLS_TWEAK, + 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_TEXT, + PREFS_PAGE_TOOLS_GRADIENT, + PREFS_PAGE_TOOLS_CONNECTOR, + PREFS_PAGE_TOOLS_DROPPER, + PREFS_PAGE_WINDOWS, + PREFS_PAGE_CLONES, + PREFS_PAGE_MASKS, + PREFS_PAGE_FILTERS, + PREFS_PAGE_TRANSFORMS, + PREFS_PAGE_SELECTING, + PREFS_PAGE_IMPORTEXPORT, + PREFS_PAGE_MISC +}; + using namespace Inkscape::UI::Widget; namespace Inkscape { @@ -38,7 +76,10 @@ class InkscapePreferences : public Dialog { public: virtual ~InkscapePreferences(); - static InkscapePreferences *create() {return new InkscapePreferences(); } + static InkscapePreferences *create(Behavior::BehaviorFactory behavior_factory) + { return new InkscapePreferences(behavior_factory); } + + void present(); protected: Gtk::Frame _page_frame; @@ -51,59 +92,92 @@ protected: { public: PageListModelColumns() - { Gtk::TreeModelColumnRecord::add(_col_id); Gtk::TreeModelColumnRecord::add(_col_page); } - Gtk::TreeModelColumn _col_id; + { Gtk::TreeModelColumnRecord::add(_col_name); Gtk::TreeModelColumnRecord::add(_col_page); Gtk::TreeModelColumnRecord::add(_col_id); } + Gtk::TreeModelColumn _col_name; + Gtk::TreeModelColumn _col_id; Gtk::TreeModelColumn _col_page; }; PageListModelColumns _page_list_columns; + Gtk::TreeModel::Path _path_tools; + Gtk::TreeModel::Path _path_shapes; + DialogPage _page_mouse, _page_scrolling, _page_steps, _page_tools, _page_windows, - _page_clones, _page_transforms, _page_select, _page_misc; + _page_clones, _page_mask, _page_transforms, _page_filters, _page_select, + _page_importexport, _page_misc; DialogPage _page_selector, _page_node, _page_zoom, _page_shapes, _page_pencil, _page_pen, _page_calligraphy, _page_text, _page_gradient, _page_connector, _page_dropper; - DialogPage _page_rectangle, _page_ellipse, _page_star, _page_spiral; + DialogPage _page_rectangle, _page_3dbox, _page_ellipse, _page_star, _page_spiral, _page_paintbucket; PrefSpinButton _mouse_sens, _mouse_thres; + PrefCheckButton _mouse_use_ext_input; PrefSpinButton _scroll_wheel, _scroll_arrow_px, _scroll_arrow_acc, _scroll_auto_speed, _scroll_auto_thres; + PrefCheckButton _scroll_space; + PrefCheckButton _wheel_zoom; PrefCombo _steps_rot_snap; PrefCheckButton _steps_compass; PrefSpinButton _steps_arrow, _steps_scale, _steps_inset, _steps_zoom; PrefRadioButton _t_sel_trans_obj, _t_sel_trans_outl, _t_sel_cue_none, _t_sel_cue_mark, - _t_sel_cue_box, _t_sel_org_edge, _t_sel_org_node; + _t_sel_cue_box, _t_sel_bbox_visual, _t_sel_bbox_geometric; PrefSpinButton _t_pencil_tolerance; + PrefRadioButton _win_dockable, _win_floating; PrefRadioButton _win_ontop_none, _win_ontop_normal, _win_ontop_agressive; - PrefCheckButton _win_save_geom, _win_hide_task, _win_zoom_resize; + PrefRadioButton _win_save_geom_off, _win_save_geom, _win_save_geom_prefs; + PrefCheckButton _win_hide_task, _win_zoom_resize , _win_show_close; +// FIXME: Temporary Win32 special code to enable transient dialogs +#ifdef WIN32 + PrefCheckButton _win_ontop_win32; +#endif + + PrefCheckButton _calligrapy_use_abs_size; + PrefCheckButton _calligrapy_keep_selected; + + PrefCheckButton _connector_ignore_text; + PrefRadioButton _clone_option_parallel, _clone_option_stay, _clone_option_transform, _clone_option_unlink, _clone_option_delete; + PrefCheckButton _mask_mask_on_top; + PrefCheckButton _mask_mask_remove; + + PrefRadioButton _blur_quality_best, _blur_quality_better, _blur_quality_normal, _blur_quality_worse, _blur_quality_worst; + PrefCheckButton _trans_scale_stroke, _trans_scale_corner, _trans_gradient,_trans_pattern; PrefRadioButton _trans_optimized, _trans_preserved; - PrefCheckButton _sel_current, _sel_hidden, _sel_locked; + PrefRadioButton _sel_all; + PrefRadioButton _sel_current; + PrefRadioButton _sel_recursive; + PrefCheckButton _sel_hidden, _sel_locked; + PrefCheckButton _sel_layer_deselects; - PrefSpinButton _misc_export, _misc_recent, _misc_simpl; - PrefCheckButton _misc_imp_bitmap, _misc_comment, _misc_scripts; + PrefSpinButton _importexport_export, _misc_recent, _misc_simpl; + PrefCheckButton _importexport_imp_bitmap, _misc_comment, _misc_scripts; + PrefCheckButton _misc_small_toolbar; PrefCombo _misc_overs_bitmap; + PrefEntryButtonHBox _importexport_ocal_url; + PrefEntry _importexport_ocal_username; + PrefEntry _importexport_ocal_password; int _max_dialog_width; int _max_dialog_height; int _sb_width; DialogPage* _current_page; - Gtk::TreeModel::iterator AddPage(DialogPage& p, Glib::ustring title); - Gtk::TreeModel::iterator AddPage(DialogPage& p, Glib::ustring title, Gtk::TreeModel::iterator parent); + Gtk::TreeModel::iterator AddPage(DialogPage& p, Glib::ustring title, int id); + Gtk::TreeModel::iterator AddPage(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(DialogPage& p, const std::string& prefs_path, bool def_value); static void AddGradientCheckbox(DialogPage& p, const std::string& prefs_path, bool def_value); static void AddNewObjectsStyle(DialogPage& p, const std::string& prefs_path); - static void StyleFromSelectionToTool(gchar const *prefs_path); void on_pagelist_selection_changed(); void initPageMouse(); @@ -112,12 +186,15 @@ protected: void initPageTools(); void initPageWindows(); void initPageClones(); + void initPageMasks(); void initPageTransforms(); + void initPageFilters(); void initPageSelecting(); + void initPageImportExport(); void initPageMisc(); private: - InkscapePreferences(); + InkscapePreferences(Behavior::BehaviorFactory behavior_factory); InkscapePreferences(InkscapePreferences const &d); InkscapePreferences operator=(InkscapePreferences const &d); };