Example #1
0
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;
}