File indexing completed on 2024-05-12 05:12:46

0001 /*
0002     This file is part of Akonadi.
0003 
0004     SPDX-FileCopyrightText: 2006 Tobias Koenig <tokoe@kde.org>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #include "mainwindow.h"
0010 #include "config-akonadiconsole.h"
0011 
0012 #include "uistatesaver.h"
0013 
0014 #include <KActionCollection>
0015 #include <KConfigGroup>
0016 #include <KLocalizedString>
0017 #include <KMessageBox>
0018 #include <KStandardAction>
0019 
0020 #include <KSharedConfig>
0021 
0022 MainWindow::MainWindow(QWidget *parent)
0023     : KXmlGuiWindow(parent)
0024     , mMain(new MainWidget(this))
0025 {
0026     setCentralWidget(mMain);
0027 
0028     KStandardAction::quit(qApp, &QApplication::quit, actionCollection());
0029 
0030     setupGUI(Keys /*| ToolBar | StatusBar*/ | Save | Create, QStringLiteral("akonadiconsoleui.rc"));
0031     AkonadiConsole::UiStateSaver::restoreState(this, KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("UiState")));
0032     KMessageBox::information(this,
0033                              i18n("<p>Akonadi Console is purely a development tool. "
0034                                   "It allows you to view and change internal data structures of Akonadi. "
0035                                   "You should only change data in here if you know what you are doing, otherwise "
0036                                   "you risk damaging or losing your personal information management data.<br/>"
0037                                   "<b>Use at your own risk!</b></p>"),
0038                              QString(),
0039                              QStringLiteral("UseAtYourOwnRiskWarning"));
0040 }
0041 
0042 MainWindow::~MainWindow()
0043 {
0044     delete mMain;
0045 }
0046 
0047 void MainWindow::closeEvent(QCloseEvent *event)
0048 {
0049     KConfigGroup config(KSharedConfig::openConfig(), QStringLiteral("UiState"));
0050     AkonadiConsole::UiStateSaver::saveState(this, config);
0051     KSharedConfig::openConfig()->sync();
0052     KXmlGuiWindow::closeEvent(event);
0053 }
0054 
0055 #include "moc_mainwindow.cpp"