void KgpgKeyInfo::slotChangeDate() { QPointer<SelectExpiryDate> dialog = new SelectExpiryDate(this, m_node->getExpiration()); if (dialog->exec() == QDialog::Accepted) { keychange->setExpiration(dialog->date()); buttonBox->button(QDialogButtonBox::Apply)->setEnabled(keychange->wasChanged()); } delete dialog; }
bool AlbumPropsEdit::createNew(PAlbum* parent, QString& title, QString& comments, QDate& date, QString& category, QStringList& albumCategories) { QPointer<AlbumPropsEdit> dlg = new AlbumPropsEdit(parent, true); bool ok = dlg->exec() == QDialog::Accepted; title = dlg->title(); comments = dlg->comments(); date = dlg->date(); category = dlg->category(); albumCategories = dlg->albumCategories(); delete dlg; return ok; }
void tst_QItemDelegate::dateAndTimeEditorTest2() { // prepare createeditor FastEditItemView w; QStandardItemModel s; s.setRowCount(2); s.setColumnCount(1); w.setModel(&s); ChooseEditorDelegate *d = new ChooseEditorDelegate(&w); w.setItemDelegate(d); const QTime time1(3, 13, 37); const QDate date1(2013, 3, 7); QPointer<QTimeEdit> timeEdit; QPointer<QDateEdit> dateEdit; QPointer<QDateTimeEdit> dateTimeEdit; // Do some checks // a. Open time editor on empty cell + write QTime data const QModelIndex i1 = s.index(0, 0); timeEdit = new QTimeEdit(); d->setNextOpenEditor(timeEdit); QCOMPARE(w.fastEdit(i1), timeEdit.data()); timeEdit->setTime(time1); d->setModelData(timeEdit, &s, i1); QCOMPARE(s.data(i1).type(), QVariant::Time); // ensure that we wrote a time variant. QCOMPARE(s.data(i1).toTime(), time1); // ensure that it is the correct time. w.doCloseEditor(timeEdit); QVERIFY(d->currentEditor() == 0); // should happen at doCloseEditor. We only test this once. // b. Test that automatic edit of a QTime value is QTimeEdit (and not QDateTimeEdit) QWidget *editor = w.fastEdit(i1); timeEdit = qobject_cast<QTimeEdit*>(editor); QVERIFY(timeEdit); QCOMPARE(timeEdit->time(), time1); w.doCloseEditor(timeEdit); const QTime time2(4, 14, 37); const QDate date2(2014, 4, 7); const QDateTime datetime1(date1, time1); const QDateTime datetime2(date2, time2); // c. Test that the automatic open of an QDateTime is QDateTimeEdit + value check + set check s.setData(i1, datetime2); editor = w.fastEdit(i1); timeEdit = qobject_cast<QTimeEdit*>(editor); QVERIFY(timeEdit == 0); dateEdit = qobject_cast<QDateEdit*>(editor); QVERIFY(dateEdit == 0); dateTimeEdit = qobject_cast<QDateTimeEdit*>(editor); QVERIFY(dateTimeEdit); QCOMPARE(dateTimeEdit->dateTime(), datetime2); dateTimeEdit->setDateTime(datetime1); d->setModelData(dateTimeEdit, &s, i1); QCOMPARE(s.data(i1).type(), QVariant::DateTime); // ensure that we wrote a datetime variant. QCOMPARE(s.data(i1).toDateTime(), datetime1); w.doCloseEditor(dateTimeEdit); // d. Open date editor on empty cell + write QDate data (similar to a) const QModelIndex i2 = s.index(1, 0); dateEdit = new QDateEdit(); d->setNextOpenEditor(dateEdit); QCOMPARE(w.fastEdit(i2), dateEdit.data()); dateEdit->setDate(date1); d->setModelData(dateEdit, &s, i2); QCOMPARE(s.data(i2).type(), QVariant::Date); // ensure that we wrote a time variant. QCOMPARE(s.data(i2).toDate(), date1); // ensure that it is the correct date. w.doCloseEditor(dateEdit); // e. Test that the default editor editor (QDateEdit) on a QDate (index i2) (similar to b) editor = w.fastEdit(i2); dateEdit = qobject_cast<QDateEdit*>(editor); QVERIFY(dateEdit); QCOMPARE(dateEdit->date(), date1); w.doCloseEditor(dateEdit); }