From: joncruz Date: Fri, 26 May 2006 16:21:44 +0000 (+0000) Subject: Clear old selection when changing layer X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=aecb6f7dbddba4a89f21259d96f61a93f729014b;p=inkscape.git Clear old selection when changing layer --- diff --git a/src/dialogs/layers-panel.cpp b/src/dialogs/layers-panel.cpp index ad2678141..a7ad817cf 100644 --- a/src/dialogs/layers-panel.cpp +++ b/src/dialogs/layers-panel.cpp @@ -26,6 +26,8 @@ #include "document.h" #include "desktop.h" +#include "desktop-handles.h" +#include "selection.h" #include "sp-object.h" #include "sp-item.h" #include "widgets/icon.h" @@ -388,7 +390,6 @@ bool LayersPanel::_checkForSelected(const Gtk::TreePath &path, const Gtk::TreeIt bool stopGoing = false; Gtk::TreeModel::Row row = *iter; - Glib::ustring tmp = row[_model->_colLabel]; if ( layer == row[_model->_colObject] ) { _tree.expand_to_path( path ); @@ -471,10 +472,14 @@ void LayersPanel::_pushTreeSelectionToCurrent() if ( inTree ) { SPObject* curr = _desktop->currentLayer(); if ( curr != inTree ) { + // TODO - move these to a function in layer-manager.cpp _desktop->setCurrentLayer( inTree ); + sp_desktop_selection(_desktop)->clear(); } } else { + // TODO - move these to a function in layer-manager.cpp _desktop->setCurrentLayer( _desktop->doc()->root ); + sp_desktop_selection(_desktop)->clear(); } } @@ -571,6 +576,7 @@ void LayersPanel::_handleRowChange( Gtk::TreeModel::Path const& path, Gtk::TreeM gchar const* oldLabel = obj->label(); Glib::ustring tmp = row[_model->_colLabel]; if ( oldLabel && oldLabel[0] && !tmp.empty() && (tmp != oldLabel) ) { + // TODO fix name collision bug obj->setLabel(tmp.c_str()); } }