void TemplateOptionsPage::load(const SourceFileTemplate& fileTemplate, TemplateRenderer* renderer) { d->entries.clear(); QLayout* layout = new QVBoxLayout(); QHash<QString, QList<SourceFileTemplate::ConfigOption> > options = fileTemplate.customOptions(renderer); QHash<QString, QList<SourceFileTemplate::ConfigOption> >::const_iterator it; for (it = options.constBegin(); it != options.constEnd(); ++it) { QGroupBox* box = new QGroupBox(this); box->setTitle(it.key()); QFormLayout* formLayout = new QFormLayout; d->entries << it.value(); foreach (const SourceFileTemplate::ConfigOption& entry, it.value()) { QLabel* label = new QLabel(entry.label, box); QWidget* control = 0; const QString type = entry.type; if (type == "String") { control = new KLineEdit(entry.value.toString(), box); } else if (type == "Int") { KIntNumInput* input = new KIntNumInput(entry.value.toInt(), box); if (!entry.minValue.isEmpty()) { input->setMinimum(entry.minValue.toInt()); } if (!entry.maxValue.isEmpty()) { input->setMaximum(entry.maxValue.toInt()); } control = input; } else if (type == "Bool") { bool checked = (QString::compare(entry.value.toString(), "true", Qt::CaseInsensitive) == 0); QCheckBox* checkBox = new QCheckBox(entry.label, box); checkBox->setCheckState(checked ? Qt::Checked : Qt::Unchecked); } else { kDebug() << "Unrecognized option type" << entry.type; } if (control) { formLayout->addRow(label, control); d->controls.insert(entry.name, control); } } box->setLayout(formLayout); layout->addWidget(box); } setLayout(layout); }
QList<QPointer<QWidget> > KoCreatePathTool::createOptionWidgets() { Q_D(KoCreatePathTool); QList<QPointer<QWidget> > list; QWidget *angleWidget = new QWidget(); angleWidget->setObjectName("Angle Constraints"); QGridLayout *layout = new QGridLayout(angleWidget); layout->addWidget(new QLabel(i18n("Angle snapping delta:"), angleWidget), 0, 0); KIntNumInput *angleEdit = new KIntNumInput(d->angleSnappingDelta, angleWidget); angleEdit->setRange(1, 360, 1); angleEdit->setSuffix(QChar(Qt::Key_degree)); layout->addWidget(angleEdit, 0, 1); layout->addWidget(new QLabel(i18n("Activate angle snap:"), angleWidget), 1, 0); QCheckBox *angleSnap = new QCheckBox(angleWidget); angleSnap->setChecked(false); angleSnap->setCheckable(true); layout->addWidget(angleSnap, 1, 1); QWidget *specialSpacer = new QWidget(); specialSpacer->setObjectName("SpecialSpacer"); layout->addWidget(specialSpacer, 2, 1); angleWidget->setWindowTitle(i18n("Angle Constraints")); list.append(angleWidget); d->strokeWidget = new KoStrokeConfigWidget(0); d->strokeWidget->setWindowTitle(i18n("Line")); d->strokeWidget->setCanvas(canvas()); d->strokeWidget->setActive(false); list.append(d->strokeWidget); connect(angleEdit, SIGNAL(valueChanged(int)), this, SLOT(angleDeltaChanged(int))); connect(angleSnap, SIGNAL(stateChanged(int)), this, SLOT(angleSnapChanged(int))); return list; }
void KonqSideBarWebModule::setAutoReload() { KDialog dlg( 0 ); dlg.setModal( true ); dlg.setCaption( i18nc("@title:window", "Set Refresh Timeout (0 disables)" ) ); dlg.setButtons( KDialog::Ok | KDialog::Cancel ); KHBox *hbox = new KHBox( &dlg ); dlg.setMainWidget( hbox ); KIntNumInput *mins = new KIntNumInput(hbox); mins->setRange(0, 120); mins->setSuffix( ki18np(" minute", " minutes") ); KIntNumInput *secs = new KIntNumInput(hbox); secs->setRange(0, 59); secs->setSuffix( ki18np(" second", " seconds") ); if( reloadTimeout > 0 ) { int seconds = reloadTimeout / 1000; secs->setValue( seconds % 60 ); mins->setValue( ( seconds - secs->value() ) / 60 ); } if( dlg.exec() == KDialog::Accepted ) { int msec = ( mins->value() * 60 + secs->value() ) * 1000; reloadTimeout = msec; configGroup().writeEntry("Reload", reloadTimeout); reload(); } }