--- qsampler/trunk/src/qsamplerDevice.cpp 2005/03/10 15:48:38 442 +++ qsampler/trunk/src/qsamplerDevice.cpp 2005/03/10 21:40:11 448 @@ -431,28 +431,30 @@ opts.append(tr("false")); opts.append(tr("true")); QComboTableItem *pComboItem = new QComboTableItem(this, opts); - pComboItem->setCurrentItem(param.value.lower() == "true" ? 1 : 0); - pComboItem->setEnabled(bEnabled); + pComboItem->setCurrentItem(param.value.lower() == "true" ? 1 : 0); + pComboItem->setEnabled(bEnabled); QTable::setItem(iRow, 2, pComboItem); } else if (param.possibilities.count() > 0) { QComboTableItem *pComboItem = new QComboTableItem(this, param.possibilities); - pComboItem->setCurrentItem(param.value); - pComboItem->setEnabled(bEnabled); - pComboItem->setEditable(bEnabled && param.multiplicity); + pComboItem->setCurrentItem(param.value); + pComboItem->setEnabled(bEnabled); + pComboItem->setEditable(bEnabled && param.multiplicity); QTable::setItem(iRow, 2, pComboItem); - } else if (param.type == LSCP_TYPE_INT) { - qsamplerDeviceParamTableSpinBox *pSpinItem = + } else if (param.type == LSCP_TYPE_INT + && !param.range_min.isEmpty() + && !param.range_max.isEmpty()) { + qsamplerDeviceParamTableSpinBox *pSpinItem = new qsamplerDeviceParamTableSpinBox(this, - bEnabled ? QTableItem::OnTyping : QTableItem::Never); + bEnabled ? QTableItem::OnTyping : QTableItem::Never, + param.value); pSpinItem->setMinValue(param.range_min.toInt()); pSpinItem->setMaxValue(param.range_max.toInt()); - pSpinItem->setValue(param.value.toInt()); QTable::setItem(iRow, 2, pSpinItem); } else { - qsamplerDeviceParamTableEditBox *pEditItem = + qsamplerDeviceParamTableEditBox *pEditItem = new qsamplerDeviceParamTableEditBox(this, - bEnabled ? QTableItem::OnTyping : QTableItem::Never, + bEnabled ? QTableItem::OnTyping : QTableItem::Never, param.value); QTable::setItem(iRow, 2, pEditItem); } @@ -474,10 +476,11 @@ // Constructor. qsamplerDeviceParamTableSpinBox::qsamplerDeviceParamTableSpinBox ( - QTable *pTable, EditType editType ) - : QTableItem(pTable, editType, QString::null) + QTable *pTable, EditType editType, const QString& sText ) + : QTableItem(pTable, editType, sText) { - m_iValue = m_iMinValue = m_iMaxValue = 0; + m_iValue = sText.toInt(); + m_iMinValue = m_iMaxValue = 0; } // Public accessors. @@ -508,16 +511,15 @@ pSpinBox->setMaxValue(m_iMaxValue); } pSpinBox->setValue(m_iValue); -// pSpinBox->setEnabled(QTableItem::isEnabled()); return pSpinBox; } void qsamplerDeviceParamTableSpinBox::setContentFromEditor ( QWidget *pWidget ) { if (pWidget->inherits("QSpinBox")) - QTableItem::setText(QString::number(((QSpinBox *) pWidget)->value())); + QTableItem::setText(QString::number(((QSpinBox *) pWidget)->value())); else - QTableItem::setContentFromEditor(pWidget); + QTableItem::setContentFromEditor(pWidget); } @@ -539,16 +541,15 @@ QObject::connect(pEditBox, SIGNAL(returnPressed()), QTableItem::table(), SLOT(doValueChanged())); pEditBox->setText(QTableItem::text()); -// pEditBox->setEnabled(QTableItem::isEnabled()); return pEditBox; } void qsamplerDeviceParamTableEditBox::setContentFromEditor ( QWidget *pWidget ) { if (pWidget->inherits("QLineEdit")) - QTableItem::setText(((QLineEdit *) pWidget)->text()); + QTableItem::setText(((QLineEdit *) pWidget)->text()); else - QTableItem::setContentFromEditor(pWidget); + QTableItem::setContentFromEditor(pWidget); }