Code

Ctrl+click in pen/pencil tool: Created dots are now selected; Alt is used for randomn...
[inkscape.git] / src / ui / dialog / inkscape-preferences.cpp
index b0791426564a78f5eef7fc4e6c6ea184837bc01b..34e97a71372789c4e35634d1e1abcd8d4a85d81f 100644 (file)
@@ -235,6 +235,16 @@ void InkscapePreferences::AddConvertGuidesCheckbox(DialogPage& p, const std::str
     p.add_line( false, "", *cb, "", _("Converting an object to guides places these along the object's true edges (imitating the object's shape), not along the bounding box."));
 }
 
+void InkscapePreferences::AddDotSizeSpinbutton(DialogPage& p, const std::string& prefs_path, double def_value)
+{
+    PrefSpinButton* sb = Gtk::manage( new PrefSpinButton);
+    sb->init ( prefs_path, "dot-size", 0.0, 1000.0, 0.1, 10.0, def_value, false, false);
+    p.add_line( false, _("Ctrl+click dot size:"), *sb, "times current stroke width", 
+                       _("Size of dots created with Ctrl+click (relative to current stroke width)"),
+                       false );
+}
+
+
 void StyleFromSelectionToTool(gchar const *prefs_path, StyleSwatch *swatch)
 {
     SPDesktop *desktop = SP_ACTIVE_DESKTOP;
@@ -326,6 +336,19 @@ void InkscapePreferences::initPageTools()
     Gtk::TreeModel::iterator iter_tools = this->AddPage(_page_tools, _("Tools"), PREFS_PAGE_TOOLS);    
     _path_tools = _page_list.get_model()->get_path(iter_tools);
 
+    _page_tools.add_group_header( _("Bounding box to use:"));
+    _t_bbox_visual.init ( _("Visual bounding box"), "tools", "bounding_box", "visual", false, 0);
+    _page_tools.add_line( true, "", _t_bbox_visual, "",
+                            _("This bounding box includes stroke width, markers, filter margins, etc."));
+    _t_bbox_geometric.init ( _("Geometric bounding box"), "tools", "bounding_box", "geometric", true, &_t_bbox_visual);
+    _page_tools.add_line( true, "", _t_bbox_geometric, "",
+                            _("This bounding box includes only the bare path"));
+
+    _page_tools.add_group_header( _("Conversion to guides:"));
+    _t_cvg_keep_objects.init ( _("Keep objects after conversion to guides"), "tools", "cvg_keep_objects", false);
+    _page_tools.add_line( true, "", _t_cvg_keep_objects, "",
+                            _("When converting an object to guides, don't delete the object after the conversion."));
+
     _calligrapy_use_abs_size.init ( _("Width is in absolute units"), "tools.calligraphic", "abs_width", false);
     _calligrapy_keep_selected.init ( _("Select new path"), "tools.calligraphic", "keep_selected", true);
     _connector_ignore_text.init( _("Don't attach connectors to text objects"), "tools.connector", "ignoretext", true);
@@ -352,14 +375,6 @@ void InkscapePreferences::initPageTools()
     _page_selector.add_line( true, "", _t_sel_cue_box, "", 
                             _("Each selected object displays its bounding box"));
 
-    _page_selector.add_group_header( _("Bounding box to use:"));
-    _t_sel_bbox_visual.init ( _("Visual bounding box"), "tools.select", "bounding_box", "visual", false, 0);
-    _page_selector.add_line( true, "", _t_sel_bbox_visual, "",
-                            _("This bounding box includes stroke width, markers, filter margins, etc."));
-    _t_sel_bbox_geometric.init ( _("Geometric bounding box"), "tools.select", "bounding_box", "geometric", true, &_t_sel_bbox_visual);
-    _page_selector.add_line( true, "", _t_sel_bbox_geometric, "",
-                            _("This bounding box includes only the bare path"));
-
     //Node
     this->AddPage(_page_node, _("Node"), iter_tools, PREFS_PAGE_TOOLS_NODE);
     AddSelcueCheckbox(_page_node, "tools.nodes", true);
@@ -402,10 +417,12 @@ void InkscapePreferences::initPageTools()
                            _("This value affects the amount of smoothing applied to freehand lines; lower values produce more uneven paths with more nodes"),
                            false );
     this->AddNewObjectsStyle(_page_pencil, "tools.freehand.pencil");
+    this->AddDotSizeSpinbutton(_page_pencil, "tools.freehand.pencil", 3.0);
     //Pen
     this->AddPage(_page_pen, _("Pen"), iter_tools, PREFS_PAGE_TOOLS_PEN);
     this->AddSelcueCheckbox(_page_pen, "tools.freehand.pen", true);
     this->AddNewObjectsStyle(_page_pen, "tools.freehand.pen");
+    this->AddDotSizeSpinbutton(_page_pen, "tools.freehand.pen", 3.0);
     //Calligraphy
     this->AddPage(_page_calligraphy, _("Calligraphy"), iter_tools, PREFS_PAGE_TOOLS_CALLIGRAPHY);
     this->AddSelcueCheckbox(_page_calligraphy, "tools.calligraphic", false);
@@ -807,6 +824,8 @@ void InkscapePreferences::initPageGrids()
 {
     _page_grids.add_group_header( _("Default grid settings"));
 
+    _grids_no_emphasize_on_zoom.init( _("Don't emphasize gridlines when zoomed out"), "options.grids", "no_emphasize_when_zoomedout", false);
+    _page_grids.add_line( false, "", _grids_no_emphasize_on_zoom, "", _("If set and zoomed out, the gridlines will be shown in normal color instead of major grid line color."), false);
     _page_grids.add_line( false, "", _grids_notebook, "", "", false);
     _grids_notebook.append_page(_grids_xy,     CanvasGrid::getName( GRID_RECTANGULAR ));
     _grids_notebook.append_page(_grids_axonom, CanvasGrid::getName( GRID_AXONOMETRIC ));