From 66f12daab54277b91b8fa44c9b0cc6961f6357b1 Mon Sep 17 00:00:00 2001 From: John Smith Date: Sat, 3 Nov 2012 19:18:09 +0900 Subject: Fix for 1065933 : Better support for sub-layers in 'Show/Hide other layers' (bzr r11861) --- src/desktop.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index fa0c8647f..f10174119 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -549,12 +549,17 @@ void SPDesktop::toggleLayerSolo(SPObject *object) { bool othersShowing = false; std::vector layers; for ( SPObject* obj = Inkscape::next_layer(currentRoot(), object); obj; obj = Inkscape::next_layer(currentRoot(), obj) ) { - layers.push_back(obj); - othersShowing |= !SP_ITEM(obj)->isHidden(); + // Don't hide ancestors, since that would in turn hide the layer as well + if (!obj->isAncestorOf(object)) { + layers.push_back(obj); + othersShowing |= !SP_ITEM(obj)->isHidden(); + } } for ( SPObject* obj = Inkscape::previous_layer(currentRoot(), object); obj; obj = Inkscape::previous_layer(currentRoot(), obj) ) { - layers.push_back(obj); - othersShowing |= !SP_ITEM(obj)->isHidden(); + if (!obj->isAncestorOf(object)) { + layers.push_back(obj); + othersShowing |= !SP_ITEM(obj)->isHidden(); + } } -- cgit v1.2.3 From f1a9fc07d9f4cfa94da390247c25ce4ba693a34e Mon Sep 17 00:00:00 2001 From: John Smith Date: Sun, 18 Nov 2012 21:33:53 +0900 Subject: Fix for 1079971 : Symbol dialog : Drag & Drop to the canvas (bzr r11880) --- src/desktop.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index f10174119..2f8f3e4b6 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -1903,6 +1903,7 @@ SPDesktop::show_dialogs() mapVerbPreference.insert(std::make_pair ((int)SP_VERB_DIALOG_CLONETILER, "/dialogs/clonetiler") ); mapVerbPreference.insert(std::make_pair ((int)SP_VERB_DIALOG_ITEM, "/dialogs/object") ); mapVerbPreference.insert(std::make_pair ((int)SP_VERB_DIALOG_SPELLCHECK, "/dialogs/spellcheck") ); + mapVerbPreference.insert(std::make_pair ((int)SP_VERB_DIALOG_SYMBOLS, "/dialogs/symbols") ); for (iter = mapVerbPreference.begin(); iter != mapVerbPreference.end(); iter++) { int verbId = iter->first; -- cgit v1.2.3