summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorAndrius Ramanauskas <knutux@gmail.com>2006-03-31 11:50:44 +0000
committerknutux <knutux@users.sourceforge.net>2006-03-31 11:50:44 +0000
commit70cbab466d2a3e414b3b75584f6ef0f2d8d2fcb5 (patch)
treea4a9893ff183ecb63275ed59195e91da54e76ccd /src/ui
parentcleanup: (sp_style_paint_clear): All callers were passing hunref=TRUE, unset=... (diff)
downloadinkscape-70cbab466d2a3e414b3b75584f6ef0f2d8d2fcb5.tar.gz
inkscape-70cbab466d2a3e414b3b75584f6ef0f2d8d2fcb5.zip
patch #1450307 - option for select all to work in layer with it's sub-layers:
* Replaced check-box in preferences with 3 radio buttons (in all document in current layer only, in current layer with sub-layers) * Altered "Select all" functionality to include objects in sub-layers (if preference is on) * Altered TAB functionality to include sub-layers (had to introduce "context layer" concept in Selection class - without it TAB'ing would end in deepest child, but it needs to return to parent on subsequent TAB key press) (bzr r380)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp10
-rw-r--r--src/ui/dialog/inkscape-preferences.h5
2 files changed, 12 insertions, 3 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index b90ed8d98..a1e87b854 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -468,13 +468,19 @@ void InkscapePreferences::initPageTransforms()
void InkscapePreferences::initPageSelecting()
{
- _sel_current.init ( _("Select only within current layer"), "options.kbselection", "inlayer", true);
+ _sel_all.init ( _("Select in all layers"), "options.kbselection", "inlayer", PREFS_SELECTION_ALL, false, 0);
+ _sel_current.init ( _("Select only within current layer"), "options.kbselection", "inlayer", PREFS_SELECTION_LAYER, true, &_sel_all);
+ _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);
_page_select.add_group_header( _("Ctrl+A, Tab, Shift+Tab:"));
+ _page_select.add_line( true, "", _sel_all, "",
+ _("Make keyboard selection commands work on objects in all layers"));
_page_select.add_line( true, "", _sel_current, "",
- _("Uncheck this to make keyboard selection commands work on objects in all layers"));
+ _("Make keyboard selection commands work on objects in current layer only"));
+ _page_select.add_line( true, "", _sel_recursive, "",
+ _("Make keyboard selection commands work on objects in current layer and all its sublayers"));
_page_select.add_line( true, "", _sel_hidden, "",
_("Uncheck this to be able to select objects that are hidden (either by themselves or by being in a hidden group or layer)"));
_page_select.add_line( true, "", _sel_locked, "",
diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h
index af3dfa44b..3702c88f3 100644
--- a/src/ui/dialog/inkscape-preferences.h
+++ b/src/ui/dialog/inkscape-preferences.h
@@ -120,7 +120,10 @@ protected:
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;
PrefSpinButton _misc_export, _misc_recent, _misc_simpl;
PrefCheckButton _misc_imp_bitmap, _misc_comment, _misc_scripts;