File indexing completed on 2024-05-12 05:20:13

0001 /*
0002    SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "refreshsettingsassistant.h"
0008 #include "refreshsettingscleanuppage.h"
0009 #include "refreshsettingsfirstpage.h"
0010 #include "refreshsettringsfinishpage.h"
0011 #include <Akonadi/ControlGui>
0012 #include <KAboutData>
0013 #include <KHelpMenu>
0014 #include <KLocalizedString>
0015 #include <QMenu>
0016 #include <QPushButton>
0017 
0018 RefreshSettingsAssistant::RefreshSettingsAssistant(QWidget *parent)
0019     : KAssistantDialog(parent)
0020 {
0021     setModal(true);
0022     setWindowTitle(i18nc("@title:window", "KMail Refresh Settings"));
0023     setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Help);
0024     resize(640, 480);
0025     Akonadi::ControlGui::widgetNeedsAkonadi(this);
0026     initializePages();
0027     auto helpMenu = new KHelpMenu(this, KAboutData::applicationData(), true);
0028     // Initialize menu
0029     QMenu *menu = helpMenu->menu();
0030     helpMenu->action(KHelpMenu::menuAboutApp)->setIcon(QIcon::fromTheme(QStringLiteral("kmail")));
0031     button(QDialogButtonBox::Help)->setMenu(menu);
0032 }
0033 
0034 RefreshSettingsAssistant::~RefreshSettingsAssistant() = default;
0035 
0036 void RefreshSettingsAssistant::initializePages()
0037 {
0038     mFirstPage = new RefreshSettingsFirstPage(this);
0039     mFirstPageItem = new KPageWidgetItem(mFirstPage, i18n("Warning"));
0040     addPage(mFirstPageItem);
0041 
0042     mCleanUpPage = new RefreshSettingsCleanupPage(this);
0043     mCleanUpPageItem = new KPageWidgetItem(mCleanUpPage, i18n("Clean up Settings"));
0044     addPage(mCleanUpPageItem);
0045 
0046     mFinishPage = new RefreshSettringsFinishPage(this);
0047     mFinishPageItem = new KPageWidgetItem(mFinishPage, i18n("Finish"));
0048     addPage(mFinishPageItem);
0049 
0050     connect(mCleanUpPage, &RefreshSettingsCleanupPage::cleanDoneInfo, mFinishPage, &RefreshSettringsFinishPage::cleanDoneInfo);
0051     connect(mCleanUpPage, &RefreshSettingsCleanupPage::cleanUpDone, this, &RefreshSettingsAssistant::cleanUpDone);
0052 }
0053 
0054 void RefreshSettingsAssistant::cleanUpDone()
0055 {
0056     next();
0057 }
0058 
0059 #include "moc_refreshsettingsassistant.cpp"