Changeset View
Changeset View
Standalone View
Standalone View
src/migration/importwizard.cpp
Show All 26 Lines | |||||
27 | #include <core/kexi.h> | 27 | #include <core/kexi.h> | ||
28 | #include <kexiutils/utils.h> | 28 | #include <kexiutils/utils.h> | ||
29 | #include <kexidbdrivercombobox.h> | 29 | #include <kexidbdrivercombobox.h> | ||
30 | #include <kexitextmsghandler.h> | 30 | #include <kexitextmsghandler.h> | ||
31 | #include <widget/kexicharencodingcombobox.h> | 31 | #include <widget/kexicharencodingcombobox.h> | ||
32 | #include <widget/kexiprjtypeselector.h> | 32 | #include <widget/kexiprjtypeselector.h> | ||
33 | #include <widget/KexiConnectionSelectorWidget.h> | 33 | #include <widget/KexiConnectionSelectorWidget.h> | ||
34 | #include <widget/KexiProjectSelectorWidget.h> | 34 | #include <widget/KexiProjectSelectorWidget.h> | ||
35 | #include <widget/KexiDBTitlePage.h> | 35 | #include <widget/KexiDBCaptionPage.h> | ||
36 | #include <widget/KexiDBPasswordDialog.h> | 36 | #include <widget/KexiDBPasswordDialog.h> | ||
37 | #include <widget/KexiStartupFileHandler.h> | 37 | #include <widget/KexiStartupFileHandler.h> | ||
38 | #include <KexiIcon.h> | 38 | #include <KexiIcon.h> | ||
39 | 39 | | |||
40 | #include <KDbDriverManager> | 40 | #include <KDbDriverManager> | ||
41 | #include <KDbDriver> | 41 | #include <KDbDriver> | ||
42 | #include <KDbConnectionData> | 42 | #include <KDbConnectionData> | ||
43 | #include <KDbUtils> | 43 | #include <KDbUtils> | ||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Line(s) | 69 | public: | |||
90 | KPageWidgetItem *introPageItem, *srcConnPageItem, *srcDBPageItem, | 90 | KPageWidgetItem *introPageItem, *srcConnPageItem, *srcDBPageItem, | ||
91 | *dstTypePageItem, *dstPageItem, *importTypePageItem, | 91 | *dstTypePageItem, *dstPageItem, *importTypePageItem, | ||
92 | *importingPageItem, *finishPageItem; | 92 | *importingPageItem, *finishPageItem; | ||
93 | 93 | | |||
94 | 94 | | |||
95 | QGroupBox *importTypeGroupBox; | 95 | QGroupBox *importTypeGroupBox; | ||
96 | QRadioButton *importTypeStructureAndDataCheckBox; | 96 | QRadioButton *importTypeStructureAndDataCheckBox; | ||
97 | QRadioButton *importTypeStructureOnlyCheckBox; | 97 | QRadioButton *importTypeStructureOnlyCheckBox; | ||
98 | KexiDBTitlePage* dstTitlePageWidget; | 98 | KexiDBCaptionPage* dstCaptionPageWidget; | ||
99 | KPageWidgetItem *dstTitlePageItem; | 99 | KPageWidgetItem *dstCaptionPageItem; | ||
100 | 100 | | |||
101 | KexiPrjTypeSelector *dstPrjTypeSelector; | 101 | KexiPrjTypeSelector *dstPrjTypeSelector; | ||
102 | 102 | | |||
103 | KexiConnectionSelectorWidget *srcConn, *dstConn; | 103 | KexiConnectionSelectorWidget *srcConn, *dstConn; | ||
104 | QString driverIdForSelectedSource; | 104 | QString driverIdForSelectedSource; | ||
105 | 105 | | |||
106 | QLineEdit *dstNewDBTitleLineEdit; | 106 | QLineEdit *dstNewDBCaptionLineEdit; | ||
107 | QLabel *dstNewDBNameLabel; | 107 | QLabel *dstNewDBNameLabel; | ||
108 | QLineEdit *dstNewDBNameLineEdit; | 108 | QLineEdit *dstNewDBNameLineEdit; | ||
109 | 109 | | |||
110 | QLabel *dstNewDBNameUrlLabel; | 110 | QLabel *dstNewDBNameUrlLabel; | ||
111 | KUrlRequester *dstNewDBNameUrl; | 111 | KUrlRequester *dstNewDBNameUrl; | ||
112 | KexiStartupFileHandler *dstNewDBFileHandler; | 112 | KexiStartupFileHandler *dstNewDBFileHandler; | ||
113 | KexiProjectSelectorWidget *srcProjectSelector; | 113 | KexiProjectSelectorWidget *srcProjectSelector; | ||
114 | 114 | | |||
Show All 29 Lines | 139 | { | |||
144 | KexiMainWindowIface::global()->setReasonableDialogSize(this); | 144 | KexiMainWindowIface::global()->setReasonableDialogSize(this); | ||
145 | 145 | | |||
146 | parseArguments(); | 146 | parseArguments(); | ||
147 | 147 | | |||
148 | setupIntro(); | 148 | setupIntro(); | ||
149 | setupSrcConn(); | 149 | setupSrcConn(); | ||
150 | setupSrcDB(); | 150 | setupSrcDB(); | ||
151 | setupDstType(); | 151 | setupDstType(); | ||
152 | setupDstTitle(); | 152 | setupDstCaption(); | ||
153 | setupDst(); | 153 | setupDst(); | ||
154 | setupImportType(); | 154 | setupImportType(); | ||
155 | setupImporting(); | 155 | setupImporting(); | ||
156 | setupFinish(); | 156 | setupFinish(); | ||
157 | 157 | | |||
158 | connect(this, SIGNAL(currentPageChanged(KPageWidgetItem*,KPageWidgetItem*)), this, SLOT(slot_currentPageChanged(KPageWidgetItem*,KPageWidgetItem*))); | 158 | connect(this, SIGNAL(currentPageChanged(KPageWidgetItem*,KPageWidgetItem*)), this, SLOT(slot_currentPageChanged(KPageWidgetItem*,KPageWidgetItem*))); | ||
159 | connect(button(QDialogButtonBox::Help), &QPushButton::clicked, this, &ImportWizard::helpClicked); | 159 | connect(button(QDialogButtonBox::Help), &QPushButton::clicked, this, &ImportWizard::helpClicked); | ||
160 | 160 | | |||
▲ Show 20 Lines • Show All 179 Lines • ▼ Show 20 Line(s) | 322 | { | |||
340 | vbox->addStretch(1); | 340 | vbox->addStretch(1); | ||
341 | 341 | | |||
342 | d->dstTypePageItem = new KPageWidgetItem(d->dstTypePageWidget, xi18n("Select Destination Database Type")); | 342 | d->dstTypePageItem = new KPageWidgetItem(d->dstTypePageWidget, xi18n("Select Destination Database Type")); | ||
343 | addPage(d->dstTypePageItem); | 343 | addPage(d->dstTypePageItem); | ||
344 | } | 344 | } | ||
345 | 345 | | |||
346 | //=========================================================== | 346 | //=========================================================== | ||
347 | // | 347 | // | ||
348 | void ImportWizard::setupDstTitle() | 348 | void ImportWizard::setupDstCaption() | ||
349 | { | 349 | { | ||
350 | d->dstTitlePageWidget = new KexiDBTitlePage(xi18n("Destination project's caption:"), this); | 350 | d->dstCaptionPageWidget = new KexiDBCaptionPage(xi18n("Destination project's caption:"), this); | ||
351 | d->dstTitlePageWidget->layout()->setMargin(KexiUtils::marginHint()); | 351 | d->dstCaptionPageWidget->layout()->setMargin(KexiUtils::marginHint()); | ||
352 | d->dstTitlePageWidget->updateGeometry(); | 352 | d->dstCaptionPageWidget->updateGeometry(); | ||
353 | d->dstNewDBTitleLineEdit = d->dstTitlePageWidget->le_title; | 353 | d->dstNewDBCaptionLineEdit = d->dstCaptionPageWidget->le_caption; | ||
354 | connect(d->dstNewDBTitleLineEdit, SIGNAL(textChanged(QString)), | 354 | connect(d->dstNewDBCaptionLineEdit, &QLineEdit::textChanged, this, | ||
355 | this, SLOT(destinationTitleTextChanged(QString))); | 355 | &ImportWizard::destinationCaptionTextChanged); | ||
356 | d->dstNewDBNameUrlLabel = d->dstTitlePageWidget->label_requester; | 356 | d->dstNewDBNameUrlLabel = d->dstCaptionPageWidget->label_requester; | ||
357 | d->dstNewDBNameUrl = d->dstTitlePageWidget->file_requester; | 357 | d->dstNewDBNameUrl = d->dstCaptionPageWidget->file_requester; | ||
358 | d->dstNewDBFileHandler = new KexiStartupFileHandler( | 358 | d->dstNewDBFileHandler = new KexiStartupFileHandler( | ||
359 | QUrl("kfiledialog:///ProjectMigrationDestinationDir"), | 359 | QUrl("kfiledialog:///ProjectMigrationDestinationDir"), | ||
360 | KexiFileFilters::SavingFileBasedDB, | 360 | KexiFileFilters::SavingFileBasedDB, | ||
361 | d->dstTitlePageWidget->file_requester); | 361 | d->dstCaptionPageWidget->file_requester); | ||
362 | d->dstNewDBNameLabel = new QLabel(xi18n("Destination project's name:"), d->dstTitlePageWidget); | 362 | d->dstNewDBNameLabel = new QLabel(xi18n("Destination project's name:"), d->dstCaptionPageWidget); | ||
363 | d->dstTitlePageWidget->formLayout->setWidget(2, QFormLayout::LabelRole, d->dstNewDBNameLabel); | 363 | d->dstCaptionPageWidget->formLayout->setWidget(2, QFormLayout::LabelRole, d->dstNewDBNameLabel); | ||
364 | d->dstNewDBNameLineEdit = new QLineEdit(d->dstTitlePageWidget); | 364 | d->dstNewDBNameLineEdit = new QLineEdit(d->dstCaptionPageWidget); | ||
365 | d->dstNewDBNameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); | 365 | d->dstNewDBNameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); | ||
366 | KDbIdentifierValidator *idValidator = new KDbIdentifierValidator(this); | 366 | KDbIdentifierValidator *idValidator = new KDbIdentifierValidator(this); | ||
367 | idValidator->setLowerCaseForced(true); | 367 | idValidator->setLowerCaseForced(true); | ||
368 | d->dstNewDBNameLineEdit->setValidator(idValidator); | 368 | d->dstNewDBNameLineEdit->setValidator(idValidator); | ||
369 | d->dstTitlePageWidget->formLayout->setWidget(2, QFormLayout::FieldRole, d->dstNewDBNameLineEdit); | 369 | d->dstCaptionPageWidget->formLayout->setWidget(2, QFormLayout::FieldRole, d->dstNewDBNameLineEdit); | ||
370 | 370 | | |||
371 | d->dstTitlePageItem = new KPageWidgetItem(d->dstTitlePageWidget, xi18n("Enter Destination Database Project's Caption")); | 371 | d->dstCaptionPageItem = new KPageWidgetItem(d->dstCaptionPageWidget, xi18n("Enter Destination Database Project's Caption")); | ||
372 | addPage(d->dstTitlePageItem); | 372 | addPage(d->dstCaptionPageItem); | ||
373 | } | 373 | } | ||
374 | 374 | | |||
375 | void ImportWizard::destinationTitleTextChanged(const QString & text) | 375 | void ImportWizard::destinationCaptionTextChanged(const QString &text) | ||
376 | { | 376 | { | ||
377 | Q_UNUSED(text); | 377 | Q_UNUSED(text); | ||
378 | updateDestinationDBFileName(); | 378 | updateDestinationDBFileName(); | ||
379 | } | 379 | } | ||
380 | 380 | | |||
381 | void ImportWizard::updateDestinationDBFileName() | 381 | void ImportWizard::updateDestinationDBFileName() | ||
382 | { | 382 | { | ||
383 | d->dstNewDBFileHandler->updateUrl(d->dstNewDBTitleLineEdit->text()); | 383 | d->dstNewDBFileHandler->updateUrl(d->dstNewDBCaptionLineEdit->text()); | ||
384 | d->dstNewDBNameLineEdit->setText(d->dstNewDBTitleLineEdit->text()); | 384 | d->dstNewDBNameLineEdit->setText(d->dstNewDBCaptionLineEdit->text()); | ||
385 | } | 385 | } | ||
386 | 386 | | |||
387 | //=========================================================== | 387 | //=========================================================== | ||
388 | // | 388 | // | ||
389 | void ImportWizard::setupDst() | 389 | void ImportWizard::setupDst() | ||
390 | { | 390 | { | ||
391 | d->dstPageWidget = new QWidget(this); | 391 | d->dstPageWidget = new QWidget(this); | ||
392 | QVBoxLayout *vbox = new QVBoxLayout(d->dstPageWidget); | 392 | QVBoxLayout *vbox = new QVBoxLayout(d->dstPageWidget); | ||
▲ Show 20 Lines • Show All 119 Lines • ▼ Show 20 Line(s) | |||||
512 | } | 512 | } | ||
513 | 513 | | |||
514 | //=========================================================== | 514 | //=========================================================== | ||
515 | // | 515 | // | ||
516 | bool ImportWizard::checkUserInput() | 516 | bool ImportWizard::checkUserInput() | ||
517 | { | 517 | { | ||
518 | QString issues; | 518 | QString issues; | ||
519 | 519 | | |||
520 | if (d->dstNewDBTitleLineEdit->text().isEmpty()) { | 520 | if (d->dstNewDBCaptionLineEdit->text().isEmpty()) { | ||
521 | issues = xi18nc("@info", "<para>No new database name was entered.</para>"); | 521 | issues = xi18nc("@info", "<para>No new database name was entered.</para>"); | ||
522 | } | 522 | } | ||
523 | 523 | | |||
524 | Kexi::ObjectStatus result; | 524 | Kexi::ObjectStatus result; | ||
525 | KexiMigrate* sourceDriver = prepareImport(result); | 525 | KexiMigrate* sourceDriver = prepareImport(result); | ||
526 | if (sourceDriver && sourceDriver->isSourceAndDestinationDataSourceTheSame()) { | 526 | if (sourceDriver && sourceDriver->isSourceAndDestinationDataSourceTheSame()) { | ||
527 | // note: we're using .arg() here because the 'issues' argument is already in rich-text format | 527 | // note: we're using .arg() here because the 'issues' argument is already in rich-text format | ||
528 | issues = xi18nc("@info", "%1<para>Source database is the same as destination.</para>") | 528 | issues = xi18nc("@info", "%1<para>Source database is the same as destination.</para>") | ||
▲ Show 20 Lines • Show All 45 Lines • ▼ Show 20 Line(s) | 565 | else { | |||
574 | KDbConnectionData* condata = d->srcConn->selectedConnectionData(); | 574 | KDbConnectionData* condata = d->srcConn->selectedConnectionData(); | ||
575 | Q_ASSERT(condata); | 575 | Q_ASSERT(condata); | ||
576 | Q_ASSERT(d->prjSet); | 576 | Q_ASSERT(d->prjSet); | ||
577 | d->srcProjectSelector->setProjectSet(d->prjSet); | 577 | d->srcProjectSelector->setProjectSet(d->prjSet); | ||
578 | d->srcDBPageWidget->show(); | 578 | d->srcDBPageWidget->show(); | ||
579 | } | 579 | } | ||
580 | } | 580 | } | ||
581 | 581 | | |||
582 | void ImportWizard::arriveDstTitlePage() | 582 | void ImportWizard::arriveDstCaptionPage() | ||
583 | { | 583 | { | ||
584 | d->dstNewDBNameUrlLabel->setVisible(fileBasedDstSelected()); | 584 | d->dstNewDBNameUrlLabel->setVisible(fileBasedDstSelected()); | ||
585 | d->dstNewDBNameUrl->setVisible(fileBasedDstSelected()); | 585 | d->dstNewDBNameUrl->setVisible(fileBasedDstSelected()); | ||
586 | d->dstNewDBNameLabel->setVisible(!fileBasedDstSelected()); | 586 | d->dstNewDBNameLabel->setVisible(!fileBasedDstSelected()); | ||
587 | d->dstNewDBNameLineEdit->setVisible(!fileBasedDstSelected()); | 587 | d->dstNewDBNameLineEdit->setVisible(!fileBasedDstSelected()); | ||
588 | if (fileBasedSrcSelected()) { | 588 | if (fileBasedSrcSelected()) { | ||
589 | const QString fname(selectedSourceFileName()); | 589 | const QString fname(selectedSourceFileName()); | ||
590 | QString suggestedDBName(QFileInfo(fname).fileName()); | 590 | QString suggestedDBName(QFileInfo(fname).fileName()); | ||
591 | const QFileInfo fi(suggestedDBName); | 591 | const QFileInfo fi(suggestedDBName); | ||
592 | suggestedDBName = suggestedDBName.left(suggestedDBName.length() | 592 | suggestedDBName = suggestedDBName.left(suggestedDBName.length() | ||
593 | - (fi.completeSuffix().isEmpty() ? 0 : (fi.completeSuffix().length() + 1))); | 593 | - (fi.completeSuffix().isEmpty() ? 0 : (fi.completeSuffix().length() + 1))); | ||
594 | d->dstNewDBTitleLineEdit->setText(suggestedDBName); | 594 | d->dstNewDBCaptionLineEdit->setText(suggestedDBName); | ||
595 | } | 595 | } | ||
596 | else { | 596 | else { | ||
597 | if (d->predefinedConnectionData) { | 597 | if (d->predefinedConnectionData) { | ||
598 | // server source db is predefined | 598 | // server source db is predefined | ||
599 | d->dstNewDBTitleLineEdit->setText(d->predefinedDatabaseName); | 599 | d->dstNewDBCaptionLineEdit->setText(d->predefinedDatabaseName); | ||
600 | } else { | 600 | } else { | ||
601 | if (!d->srcProjectSelector || !d->srcProjectSelector->selectedProjectData()) { | 601 | if (!d->srcProjectSelector || !d->srcProjectSelector->selectedProjectData()) { | ||
602 | back(); //!< @todo | 602 | back(); //!< @todo | ||
603 | return; | 603 | return; | ||
604 | } | 604 | } | ||
605 | d->dstNewDBTitleLineEdit->setText(d->srcProjectSelector->selectedProjectData()->databaseName()); | 605 | d->dstNewDBCaptionLineEdit->setText(d->srcProjectSelector->selectedProjectData()->databaseName()); | ||
606 | } | 606 | } | ||
607 | } | 607 | } | ||
608 | d->dstNewDBTitleLineEdit->selectAll(); | 608 | d->dstNewDBCaptionLineEdit->selectAll(); | ||
609 | d->dstNewDBTitleLineEdit->setFocus(); | 609 | d->dstNewDBCaptionLineEdit->setFocus(); | ||
610 | updateDestinationDBFileName(); | 610 | updateDestinationDBFileName(); | ||
611 | } | 611 | } | ||
612 | 612 | | |||
613 | void ImportWizard::arriveDstPage() | 613 | void ImportWizard::arriveDstPage() | ||
614 | { | 614 | { | ||
615 | if (fileBasedDstSelected()) { | 615 | if (fileBasedDstSelected()) { | ||
616 | d->dstPageWidget->hide(); | 616 | d->dstPageWidget->hide(); | ||
617 | KAssistantDialog::next(); | 617 | KAssistantDialog::next(); | ||
▲ Show 20 Lines • Show All 148 Lines • ▼ Show 20 Line(s) | 763 | if (d->dstConn->selectedConnectionData()) { | |||
766 | cdata = d->dstConn->selectedConnectionData(); | 766 | cdata = d->dstConn->selectedConnectionData(); | ||
767 | dbname = d->dstNewDBNameLineEdit->text(); | 767 | dbname = d->dstNewDBNameLineEdit->text(); | ||
768 | } | 768 | } | ||
769 | else { | 769 | else { | ||
770 | //file-based project | 770 | //file-based project | ||
771 | qDebug() << "File Destination..."; | 771 | qDebug() << "File Destination..."; | ||
772 | cdata = new KDbConnectionData(); | 772 | cdata = new KDbConnectionData(); | ||
773 | cdataDeleter.reset(cdata); // ownership won't be transferred | 773 | cdataDeleter.reset(cdata); // ownership won't be transferred | ||
774 | cdata->setCaption(d->dstNewDBTitleLineEdit->text()); | 774 | cdata->setCaption(d->dstNewDBCaptionLineEdit->text()); | ||
775 | cdata->setDriverId(KDb::defaultFileBasedDriverId()); | 775 | cdata->setDriverId(KDb::defaultFileBasedDriverId()); | ||
776 | dbname = d->dstTitlePageWidget->file_requester->url().toLocalFile(); | 776 | dbname = d->dstCaptionPageWidget->file_requester->url().toLocalFile(); | ||
777 | cdata->setDatabaseName(dbname); | 777 | cdata->setDatabaseName(dbname); | ||
778 | qDebug() << "Current file name:" << dbname; | 778 | qDebug() << "Current file name:" << dbname; | ||
779 | } | 779 | } | ||
780 | } | 780 | } | ||
781 | 781 | | |||
782 | // Find a source (migration) driver name | 782 | // Find a source (migration) driver name | ||
783 | if (!result.error()) { | 783 | if (!result.error()) { | ||
784 | if (d->driverIdForSelectedSource.isEmpty()) | 784 | if (d->driverIdForSelectedSource.isEmpty()) | ||
▲ Show 20 Lines • Show All 207 Lines • ▼ Show 20 Line(s) | 991 | if (!ok) { | |||
992 | if (passwordNeeded == true) { | 992 | if (passwordNeeded == true) { | ||
993 | conndata->setPassword(QString::null); // not clear(), we have to remove password | 993 | conndata->setPassword(QString::null); // not clear(), we have to remove password | ||
994 | } | 994 | } | ||
995 | delete d->prjSet; | 995 | delete d->prjSet; | ||
996 | d->prjSet = 0; | 996 | d->prjSet = 0; | ||
997 | return; | 997 | return; | ||
998 | } | 998 | } | ||
999 | } | 999 | } | ||
1000 | } else if (currentPage() == d->dstTitlePageItem) { | 1000 | } else if (currentPage() == d->dstCaptionPageItem) { | ||
1001 | if (fileBasedDstSelected()) { | 1001 | if (fileBasedDstSelected()) { | ||
1002 | if (QFileInfo::exists(d->dstNewDBNameUrl->url().toLocalFile())) { | 1002 | if (QFileInfo::exists(d->dstNewDBNameUrl->url().toLocalFile())) { | ||
1003 | if (!KexiUtils::askForFileOverwriting(d->dstNewDBNameUrl->url().toLocalFile(), this)) { | 1003 | if (!KexiUtils::askForFileOverwriting(d->dstNewDBNameUrl->url().toLocalFile(), this)) { | ||
1004 | return; | 1004 | return; | ||
1005 | } | 1005 | } | ||
1006 | } | 1006 | } | ||
1007 | } | 1007 | } | ||
1008 | } else if (currentPage() == d->importTypePageItem) { | 1008 | } else if (currentPage() == d->importTypePageItem) { | ||
▲ Show 20 Lines • Show All 68 Lines • ▼ Show 20 Line(s) | 1076 | { | |||
1077 | Q_UNUSED(prevPage); | 1077 | Q_UNUSED(prevPage); | ||
1078 | if (curPage == d->introPageItem) { | 1078 | if (curPage == d->introPageItem) { | ||
1079 | } | 1079 | } | ||
1080 | else if (curPage == d->srcConnPageItem) { | 1080 | else if (curPage == d->srcConnPageItem) { | ||
1081 | arriveSrcConnPage(); | 1081 | arriveSrcConnPage(); | ||
1082 | } else if (curPage == d->srcDBPageItem) { | 1082 | } else if (curPage == d->srcDBPageItem) { | ||
1083 | arriveSrcDBPage(); | 1083 | arriveSrcDBPage(); | ||
1084 | } else if (curPage == d->dstTypePageItem) { | 1084 | } else if (curPage == d->dstTypePageItem) { | ||
1085 | } else if (curPage == d->dstTitlePageItem) { | 1085 | } else if (curPage == d->dstCaptionPageItem) { | ||
1086 | arriveDstTitlePage(); | 1086 | arriveDstCaptionPage(); | ||
1087 | } else if (curPage == d->dstPageItem) { | 1087 | } else if (curPage == d->dstPageItem) { | ||
1088 | if (fileBasedDstSelected()) { | 1088 | if (fileBasedDstSelected()) { | ||
1089 | if (prevPage == d->importTypePageItem) { | 1089 | if (prevPage == d->importTypePageItem) { | ||
1090 | KAssistantDialog::back(); | 1090 | KAssistantDialog::back(); | ||
1091 | } | 1091 | } | ||
1092 | else { | 1092 | else { | ||
1093 | KAssistantDialog::next(); | 1093 | KAssistantDialog::next(); | ||
1094 | } | 1094 | } | ||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |