Mercurial > hg > svgui
diff widgets/PropertyBox.cpp @ 55:128ebfeeebee
* Add Insert Instant function in main window
* Ensure selections and window geometry are saved in session file
* Add wait cursor on session file save
* Various improvements to display of texts in pane (clearer readability)
* Use commands for setting properties on layers and panes
(still need to batch up multiple sets on the same property)
* Fix failure of spectrogram to refresh when initial part became visible
* Some fixes & paint optimisations in View &c
* Make curve mode for time value layers work properly when resolution == 1
* Some vague improvements for time value layer vertical scale
author | Chris Cannam |
---|---|
date | Thu, 16 Mar 2006 18:46:00 +0000 |
parents | 2e2ad8510e52 |
children | 2b87a7bd9256 |
line wrap: on
line diff
--- a/widgets/PropertyBox.cpp Wed Mar 15 18:21:17 2006 +0000 +++ b/widgets/PropertyBox.cpp Thu Mar 16 18:46:00 2006 +0000 @@ -264,7 +264,11 @@ m_propertyControllers[name] = cb; } - if (cb->isChecked() != (value > 0)) cb->setChecked(value > 0); + if (cb->isChecked() != (value > 0)) { + cb->blockSignals(true); + cb->setChecked(value > 0); + cb->blockSignals(false); + } break; } @@ -308,7 +312,11 @@ m_propertyControllers[name] = dial; } - if (dial->value() != value) dial->setValue(value); + if (dial->value() != value) { + dial->blockSignals(true); + dial->setValue(value); + dial->blockSignals(false); + } break; } @@ -340,7 +348,11 @@ m_propertyControllers[name] = cb; } - if (cb->currentIndex() != value) cb->setCurrentIndex(value); + if (cb->currentIndex() != value) { + cb->blockSignals(true); + cb->setCurrentIndex(value); + cb->blockSignals(false); + } #ifdef Q_WS_MAC // Crashes on startup without this, for some reason @@ -360,6 +372,10 @@ { if (pc != m_container) return; +#ifdef DEBUG_PROPERTY_BOX + std::cerr << "PropertyBox::propertyContainerPropertyChanged" << std::endl; +#endif + PropertyContainer::PropertyList properties = m_container->getProperties(); size_t i; @@ -386,7 +402,7 @@ PropertyContainer::PropertyType type = m_container->getPropertyType(name); if (type != PropertyContainer::InvalidProperty) { - m_container->setProperty(name, value); + m_container->setPropertyWithCommand(name, value); } if (type == PropertyContainer::RangeProperty) {