Code

typo fixed
[inkscape.git] / src / ui / dialog / inkscape-preferences.cpp
index f5b447e2616de33fc3a6c094e199247d1a536420..caf86161acbb10dd791ce2fc0279a2c2a2b95d69 100644 (file)
@@ -34,6 +34,7 @@
 #include "selection-chemistry.h"
 #include "xml/repr.h"
 #include "ui/widget/style-swatch.h"
+#include "display/nr-filter-gaussian.h"
 
 namespace Inkscape {
 namespace UI {
@@ -95,6 +96,7 @@ InkscapePreferences::InkscapePreferences()
     initPageWindows();
     initPageClones();
     initPageTransforms();
+    initPageFilters();
     initPageSelecting();
     initPageMisc();
 
@@ -302,6 +304,7 @@ void InkscapePreferences::initPageTools()
     _path_tools = _page_list.get_model()->get_path(iter_tools);
 
     _calligrapy_use_abs_size.init ( _("Width is in absolute units"), "tools.calligraphic", "abs_width", false);
+    _calligrapy_keep_selected.init ( _("Keep selected"), "tools.calligraphic", "keep_selected", true);
     _connector_ignore_text.init( _("Don't attach connectors to text objects"), "tools.connector", "ignoretext", true);
 
     //Selector
@@ -374,6 +377,8 @@ void InkscapePreferences::initPageTools()
     this->AddNewObjectsStyle(_page_calligraphy, "tools.calligraphic");
     _page_calligraphy.add_line( false, "", _calligrapy_use_abs_size, "", 
                             _("If on, pen width is in absolute units (px) independent of zoom; otherwise pen width depends on zoom so that it looks the same at any zoom"));
+    _page_calligraphy.add_line( false, "", _calligrapy_keep_selected, "", 
+                            _("If on, each object created with this tool will remain selected after you finish drawing it"));
     //Text
     this->AddPage(_page_text, _("Text"), iter_tools, PREFS_PAGE_TOOLS_TEXT);
     this->AddSelcueCheckbox(_page_text, "tools.text", true);
@@ -386,7 +391,7 @@ void InkscapePreferences::initPageTools()
     this->AddPage(_page_connector, _("Connector"), iter_tools, PREFS_PAGE_TOOLS_CONNECTOR);
     this->AddSelcueCheckbox(_page_connector, "tools.connector", true);
     _page_connector.add_line(false, "", _connector_ignore_text, "", 
-            _("If on, conector attachment points will not be shown for text objects"));
+            _("If on, connector attachment points will not be shown for text objects"));
     //Dropper
     this->AddPage(_page_dropper, _("Dropper"), iter_tools, PREFS_PAGE_TOOLS_DROPPER);
     this->AddSelcueCheckbox(_page_dropper, "tools.dropper", true);
@@ -398,6 +403,7 @@ void InkscapePreferences::initPageWindows()
     _win_save_geom.init ( _("Save window geometry"), "options.savewindowgeometry", "value", true);
     _win_hide_task.init ( _("Dialogs are hidden in taskbar"), "options.dialogsskiptaskbar", "value", true);
     _win_zoom_resize.init ( _("Zoom when window is resized"), "options.stickyzoom", "value", false);
+    _win_show_close.init ( _("Show close button on dialogs"), "dialogs", "showclose", false);
     _win_ontop_none.init ( _("None"), "options.transientpolicy", "value", 0, false, 0);
     _win_ontop_normal.init ( _("Normal"), "options.transientpolicy", "value", 1, true, &_win_ontop_none);
     _win_ontop_agressive.init ( _("Aggressive"), "options.transientpolicy", "value", 2, false, &_win_ontop_none);
@@ -408,6 +414,8 @@ void InkscapePreferences::initPageWindows()
                             _("Whether dialog windows are to be hidden in the window manager taskbar"));
     _page_windows.add_line( false, "", _win_zoom_resize, "", 
                             _("Zoom drawing when document window is resized, to keep the same area visible (this is the default which can be changed in any window using the button above the right scrollbar)"));
+    _page_windows.add_line( false, "", _win_show_close, "", 
+                            _("Whether dialog windows have a close button (requires restart)"));
     _page_windows.add_group_header( _("Dialogs on top:"));
     _page_windows.add_line( true, "", _win_ontop_none, "", 
                             _("Dialogs are treated as regular windows"));
@@ -474,6 +482,35 @@ void InkscapePreferences::initPageTransforms()
     this->AddPage(_page_transforms, _("Transforms"), PREFS_PAGE_TRANSFORMS);
 }
 
+void InkscapePreferences::initPageFilters()
+{
+    _blur_quality_best.init ( _("Best quality (slowest)"), "options.blurquality", "value", 
+                                  BLUR_QUALITY_BEST, false, 0);
+    _blur_quality_better.init ( _("Better quality (slower)"), "options.blurquality", "value", 
+                                  BLUR_QUALITY_BETTER, false, &_blur_quality_best);
+    _blur_quality_normal.init ( _("Average quality"), "options.blurquality", "value", 
+                                  BLUR_QUALITY_NORMAL, true, &_blur_quality_best);
+    _blur_quality_worse.init ( _("Lower quality (faster)"), "options.blurquality", "value", 
+                                  BLUR_QUALITY_WORSE, false, &_blur_quality_best);
+    _blur_quality_worst.init ( _("Lowest quality (fastest)"), "options.blurquality", "value", 
+                                  BLUR_QUALITY_WORST, false, &_blur_quality_best);
+
+    _page_filters.add_group_header( _("Gaussian blur quality for display:"));
+    _page_filters.add_line( true, "", _blur_quality_best, "", 
+                           _("Best quality, but display may be very slow at high zooms (bitmap export always uses best quality)"));
+    _page_filters.add_line( true, "", _blur_quality_better, "", 
+                           _("Better quality, but slower display"));
+    _page_filters.add_line( true, "", _blur_quality_normal, "", 
+                           _("Average quality, acceptable display speed"));
+    _page_filters.add_line( true, "", _blur_quality_worse, "", 
+                           _("Lower quality (some artifacts), but display is faster"));
+    _page_filters.add_line( true, "", _blur_quality_worst, "", 
+                           _("Lowest quality (considerable artifacts), but display is fastest"));
+
+    this->AddPage(_page_filters, _("Filters"), PREFS_PAGE_FILTERS);
+}
+
+
 void InkscapePreferences::initPageSelecting()
 {
     _sel_all.init ( _("Select in all layers"), "options.kbselection", "inlayer", PREFS_SELECTION_ALL, false, 0);
@@ -481,6 +518,7 @@ void InkscapePreferences::initPageSelecting()
     _sel_recursive.init ( _("Select in current layer and sublayers"), "options.kbselection", "inlayer", PREFS_SELECTION_LAYER_RECURSIVE, false, &_sel_all);
     _sel_hidden.init ( _("Ignore hidden objects"), "options.kbselection", "onlyvisible", true);
     _sel_locked.init ( _("Ignore locked objects"), "options.kbselection", "onlysensitive", true);
+    _sel_layer_deselects.init ( _("Deselect upon layer change"), "options.selection", "layerdeselect", true);
 
     _page_select.add_group_header( _("Ctrl+A, Tab, Shift+Tab:"));
     _page_select.add_line( true, "", _sel_all, "", 
@@ -494,6 +532,9 @@ void InkscapePreferences::initPageSelecting()
     _page_select.add_line( true, "", _sel_locked, "", 
                            _("Uncheck this to be able to select objects that are locked (either by themselves or by being in a locked group or layer)"));
 
+    _page_select.add_line( false, "", _sel_layer_deselects, "", 
+                           _("Uncheck this to be able to keep the current objects selected when the current layer changes"));
+
     this->AddPage(_page_select, _("Selecting"), PREFS_PAGE_SELECTING);
 }
 
@@ -529,6 +570,9 @@ void InkscapePreferences::initPageMisc()
     _misc_mask_remove.init ( _("Remove clipping path or mask after applying"), "options.maskobject", "remove", true);
     _page_misc.add_line(true, "", _misc_mask_remove, "", 
                         _("After applying, remove the object used as the clipping path or mask from the drawing"));
+    _misc_use_ext_input.init( _("Use a pressure sensitive tablet or other device (requires restart)"), "options.useextinput", "value", true);
+    _page_misc.add_line(true, "",_misc_use_ext_input, "",
+                        _("Use the capabilities of a tablet or other pressure sensitive device. Disable this only if you have problems with the tablet."));
 
     this->AddPage(_page_misc, _("Misc"), PREFS_PAGE_MISC);
 }