File indexing completed on 2024-05-26 05:25:11

0001 /*
0002   SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "mailcommon_export.h"
0010 #include <QDialog>
0011 
0012 namespace MailCommon
0013 {
0014 class AccountConfigOrderDialogPrivate;
0015 class MailCommonSettings;
0016 /**
0017  * @brief The AccountConfigOrderDialog class
0018  * @author Laurent Montel <montel@kde.org>
0019  */
0020 class MAILCOMMON_EXPORT AccountConfigOrderDialog : public QDialog
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit AccountConfigOrderDialog(MailCommon::MailCommonSettings *settings, QWidget *parent);
0025     ~AccountConfigOrderDialog() override;
0026 
0027 private:
0028     MAILCOMMON_NO_EXPORT void slotOk();
0029     MAILCOMMON_NO_EXPORT void slotMoveUp();
0030     MAILCOMMON_NO_EXPORT void slotMoveDown();
0031     MAILCOMMON_NO_EXPORT void slotEnableControls();
0032     MAILCOMMON_NO_EXPORT void slotEnableAccountOrder(bool state);
0033     enum Type {
0034         IdentifierAccount = Qt::UserRole + 1,
0035     };
0036 
0037     MAILCOMMON_NO_EXPORT void writeConfig();
0038     MAILCOMMON_NO_EXPORT void readConfig();
0039     MAILCOMMON_NO_EXPORT void init();
0040     std::unique_ptr<AccountConfigOrderDialogPrivate> const d;
0041 };
0042 }