diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2006-05-26 07:10:40 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2006-05-26 07:10:40 +0000 |
| commit | 3652663552d7c59e1f208c00bfdb28f492af1cbe (patch) | |
| tree | 6f1e189cdba54494968b7ad96c96dc57889bc683 /src/widgets/layer-selector.cpp | |
| parent | Additional translation string cleanup for bug #1490928 (diff) | |
| download | inkscape-3652663552d7c59e1f208c00bfdb28f492af1cbe.tar.gz inkscape-3652663552d7c59e1f208c00bfdb28f492af1cbe.zip | |
Cleaned up propagation of status changes.
(bzr r1018)
Diffstat (limited to 'src/widgets/layer-selector.cpp')
| -rw-r--r-- | src/widgets/layer-selector.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/widgets/layer-selector.cpp b/src/widgets/layer-selector.cpp index 8fe0c928e..bf23dcfca 100644 --- a/src/widgets/layer-selector.cpp +++ b/src/widgets/layer-selector.cpp @@ -418,6 +418,18 @@ void LayerSelector::_protectUpdate(sigc::slot<void> slot) { _visibility_toggled_connection.block(true); _lock_toggled_connection.block(true); slot(); + + SPObject *layer = _desktop ? _desktop->currentLayer() : 0; + if ( layer ) { + bool wantedValue = ( SP_IS_ITEM(layer) ? SP_ITEM(layer)->isLocked() : false ); + if ( _lock_toggle.get_active() != wantedValue ) { + _lock_toggle.set_active( wantedValue ); + } + wantedValue = ( SP_IS_ITEM(layer) ? SP_ITEM(layer)->isHidden() : false ); + if ( _visibility_toggle.get_active() != wantedValue ) { + _visibility_toggle.set_active( wantedValue ); + } + } _visibility_toggled_connection.block(visibility_blocked); _lock_toggled_connection.block(lock_blocked); } |
