1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
/* This file is part of the KDE project
SPDX-FileCopyrightText: 2010 Casey Link <unnamedrambler@gmail.com>
SPDX-FileCopyrightText: 2009-2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
SPDX-FileCopyrightText: 2009 Kevin Ottens <ervin@kde.org>
SPDX-FileCopyrightText: 2006-2008 Omat Holding B.V. <info@omat.nl>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include "config-kdepim-runtime.h"
#include <Akonadi/Collection>
#include <QDialog>
#include <QRegularExpressionValidator>
#if HAVE_ACTIVITY_SUPPORT
namespace PimCommonActivities
{
class ConfigureActivitiesWidget;
}
#endif
class KJob;
class QPushButton;
class QComboBox;
namespace Ui
{
class SetupServerView;
}
namespace MailTransport
{
class ServerTest;
}
namespace KIdentityManagementWidgets
{
class IdentityCombo;
}
class FolderArchiveSettingPage;
class ImapResourceBase;
/**
* @class SetupServer
* These contain the account settings
* @author Tom Albers <tomalbers@kde.nl>
*/
class SetupServer : public QDialog
{
Q_OBJECT
public:
/**
* Constructor
* @param parentResource The resource this dialog belongs to
* @param parent Parent WId
*/
explicit SetupServer(ImapResourceBase *parentResource, WId parent);
/**
* Destructor
*/
~SetupServer() override;
[[nodiscard]] bool shouldClearCache() const;
private:
/**
* Call this if you want the settings saved from this page.
*/
void applySettings();
void slotMailCheckboxChanged();
void slotEncryptionRadioChanged();
void slotSubcriptionCheckboxChanged();
void slotShowServerInfo();
void readSettings();
void populateDefaultAuthenticationOptions();
ImapResourceBase *const m_parentResource;
Ui::SetupServerView *const m_ui;
MailTransport::ServerTest *m_serverTest = nullptr;
bool m_subscriptionsChanged = false;
bool m_shouldClearCache = false;
QString m_vacationFileName;
KIdentityManagementWidgets::IdentityCombo *m_identityCombobox = nullptr;
QString m_oldResourceName;
QRegularExpressionValidator mValidator;
Akonadi::Collection mOldTrash;
FolderArchiveSettingPage *m_folderArchiveSettingPage = nullptr;
QPushButton *mOkButton = nullptr;
#if HAVE_ACTIVITY_SUPPORT
PimCommonActivities::ConfigureActivitiesWidget *const mConfigureActivitiesWidget;
#endif
private Q_SLOTS:
void slotTest();
void slotFinished(const QList<int> &testResult);
void slotCustomSieveChanged();
void slotServerChanged();
void slotTestChanged();
void slotComplete();
void slotSafetyChanged();
void slotManageSubscriptions();
void slotEnableWidgets();
void targetCollectionReceived(const Akonadi::Collection::List &collections);
void localFolderRequestJobFinished(KJob *job);
void populateDefaultAuthenticationOptions(QComboBox *combo);
};
|