void PrinterBehavior::currentIndexChangedCB(int index) { KComboBox *comboBox = qobject_cast<KComboBox*>(sender()); bool isDifferent = comboBox->property("defaultChoice").toInt() != index; if (isDifferent != comboBox->property("different").toBool()) { // it's different from the last time so add or remove changes isDifferent ? m_changes++ : m_changes--; comboBox->setProperty("different", isDifferent); emit changed(m_changes); } QString attribute = comboBox->property("AttributeName").toString(); QVariant value; // job-sheets-default has always two values if (attribute == "job-sheets-default") { QStringList values; values << ui->startingBannerCB->itemData(ui->startingBannerCB->currentIndex()).toString(); values << ui->endingBannerCB->itemData(ui->endingBannerCB->currentIndex()).toString(); value = values; } else { value = comboBox->itemData(index).toString(); } // store the new values if (isDifferent) { m_changedValues[attribute] = value; } else { m_changedValues.remove(attribute); } }
void MetaQueryWidget::numValueFormatChanged(int index) { KComboBox* combo = static_cast<KComboBox*>(sender()); if( combo ) { m_filter.numValue = combo->itemData( index ).toInt(); emit changed(m_filter); } }