summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/xml-tree.cpp
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-07-05 16:58:08 +0000
committerJabiertxof <jabier.arraiza@marker.es>2019-07-05 16:58:08 +0000
commit92ff5ac3e3d172ca2ff0eea39e1a939557e81cf4 (patch)
tree78eb6fc95bf3fdf9e2f75349c65205db62751de3 /src/ui/dialog/xml-tree.cpp
parentFix whitespace preserve for inx attributes (diff)
downloadinkscape-92ff5ac3e3d172ca2ff0eea39e1a939557e81cf4.tar.gz
inkscape-92ff5ac3e3d172ca2ff0eea39e1a939557e81cf4.zip
Allow styling def sections and go to the eleemnt
Diffstat (limited to 'src/ui/dialog/xml-tree.cpp')
-rw-r--r--src/ui/dialog/xml-tree.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ui/dialog/xml-tree.cpp b/src/ui/dialog/xml-tree.cpp
index 542502c5f..38fb6d026 100644
--- a/src/ui/dialog/xml-tree.cpp
+++ b/src/ui/dialog/xml-tree.cpp
@@ -285,7 +285,9 @@ void XmlTree::present()
XmlTree::~XmlTree ()
{
set_tree_desktop(nullptr);
-
+ if (current_desktop) {
+ current_desktop->getDocument()->setXMLDialogSelectedObject(nullptr);
+ }
_message_changed_connection.disconnect();
_message_context = nullptr;
_message_stack = nullptr;
@@ -379,6 +381,9 @@ void XmlTree::set_tree_select(Inkscape::XML::Node *repr)
}
selected_repr = repr;
+ if (current_desktop) {
+ current_desktop->getDocument()->setXMLDialogSelectedObject(nullptr);
+ }
if (repr) {
GtkTreeIter node;
@@ -454,7 +459,7 @@ void XmlTree::set_dt_select(Inkscape::XML::Node *repr)
} else {
object = nullptr;
}
-
+
blocked++;
if ( object && in_dt_coordsys(*object)
&& !(SP_IS_STRING(object) ||
@@ -463,6 +468,10 @@ void XmlTree::set_dt_select(Inkscape::XML::Node *repr)
/* We cannot set selection to root or string - they are not items and selection is not
* equipped to deal with them */
selection->set(SP_ITEM(object));
+ current_desktop->getDocument()->setXMLDialogSelectedObject(nullptr);
+ } else if (object && !current_desktop->isLayer(object)) {
+ current_desktop->getDocument()->setXMLDialogSelectedObject(object);
+ selection->clear();
}
blocked--;