QWidget *KFileMetaInfoWidget::makeIntWidget() { QSpinBox *sb = new QSpinBox(this, "metainfo integer widget"); sb->setValue(m_item.value().toInt()); if(m_validator) { if(m_validator->inherits("QIntValidator")) { sb->setMinValue(static_cast< QIntValidator * >(m_validator)->bottom()); sb->setMaxValue(static_cast< QIntValidator * >(m_validator)->top()); } reparentValidator(sb, m_validator); sb->setValidator(m_validator); } // make sure that an uint cannot be set to a value < 0 if(m_item.type() == QVariant::UInt) sb->setMinValue(QMAX(sb->minValue(), 0)); connect(sb, SIGNAL(valueChanged(int)), this, SLOT(slotChanged(int))); return sb; }