--- qsampler/trunk/src/qsamplerOptions.cpp 2015/03/03 17:41:04 2722 +++ qsampler/trunk/src/qsamplerOptions.cpp 2015/03/06 23:18:51 2723 @@ -417,6 +417,8 @@ void Options::loadComboBoxHistory ( QComboBox *pComboBox, int iLimit ) { + const bool bBlockSignals = pComboBox->blockSignals(true); + // Load combobox list from configuration settings file... m_settings.beginGroup("/History/" + pComboBox->objectName()); @@ -424,7 +426,7 @@ pComboBox->setUpdatesEnabled(false); pComboBox->setDuplicatesEnabled(false); pComboBox->clear(); - for (int i = 0; i < iLimit; i++) { + for (int i = 0; i < iLimit; ++i) { const QString& sText = m_settings.value( "/Item" + QString::number(i + 1)).toString(); if (sText.isEmpty()) @@ -435,38 +437,46 @@ } m_settings.endGroup(); + + pComboBox->blockSignals(bBlockSignals); } void Options::saveComboBoxHistory ( QComboBox *pComboBox, int iLimit ) { + const bool bBlockSignals = pComboBox->blockSignals(true); + // Add current text as latest item... - const QString& sCurrentText = pComboBox->currentText(); + const QString sCurrentText = pComboBox->currentText(); int iCount = pComboBox->count(); for (int i = 0; i < iCount; i++) { const QString& sText = pComboBox->itemText(i); if (sText == sCurrentText) { pComboBox->removeItem(i); - iCount--; + --iCount; break; } } while (iCount >= iLimit) pComboBox->removeItem(--iCount); pComboBox->insertItem(0, sCurrentText); - iCount++; + pComboBox->setCurrentIndex(0); + ++iCount; // Save combobox list to configuration settings file... m_settings.beginGroup("/History/" + pComboBox->objectName()); - for (int i = 0; i < iCount; i++) { + for (int i = 0; i < iCount; ++i) { const QString& sText = pComboBox->itemText(i); if (sText.isEmpty()) break; m_settings.setValue("/Item" + QString::number(i + 1), sText); } m_settings.endGroup(); + + pComboBox->blockSignals(bBlockSignals); } + int Options::getMaxVoices() { #ifndef CONFIG_MAX_VOICES return -1;