File indexing completed on 2025-02-16 04:50:08
0001 /* 0002 SPDX-FileCopyrightText: 2015-2018 Krzysztof Nowicki <krissn@op.pl> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QDialog> 0010 #include <QMap> 0011 #include <QPointer> 0012 0013 class QDialogButtonBox; 0014 class EwsResource; 0015 class EwsClient; 0016 class KConfigDialogManager; 0017 namespace Ui 0018 { 0019 class SetupServerView; 0020 } 0021 class KJob; 0022 class EwsAbstractAuth; 0023 class EwsAutodiscoveryJob; 0024 class EwsGetFolderRequest; 0025 class EwsProgressDialog; 0026 class EwsSubscriptionWidget; 0027 class EwsSettings; 0028 0029 class EwsConfigDialog : public QDialog 0030 { 0031 Q_OBJECT 0032 public: 0033 explicit EwsConfigDialog(EwsResource *parentResource, EwsClient &client, WId windowId, EwsSettings *settings); 0034 ~EwsConfigDialog() override; 0035 0036 private: 0037 void save(); 0038 void autoDiscoveryFinished(KJob *job); 0039 void tryConnectFinished(KJob *job); 0040 void performAutoDiscovery(); 0041 void autoDiscoveryCancelled(); 0042 void tryConnectCancelled(); 0043 void setAutoDiscoveryNeeded(); 0044 void dialogAccepted(); 0045 void enableTryConnect(); 0046 void tryConnect(); 0047 void userAgentChanged(int index); 0048 EwsAbstractAuth *prepareAuth(); 0049 0050 QString fullUsername() const; 0051 EwsResource *mParentResource = nullptr; 0052 KConfigDialogManager *mConfigManager = nullptr; 0053 Ui::SetupServerView *mUi = nullptr; 0054 0055 QDialogButtonBox *mButtonBox = nullptr; 0056 EwsAutodiscoveryJob *mAutoDiscoveryJob = nullptr; 0057 EwsGetFolderRequest *mTryConnectJob = nullptr; 0058 bool mTryConnectJobCancelled = false; 0059 bool mAutoDiscoveryNeeded = false; 0060 bool mTryConnectNeeded = false; 0061 EwsProgressDialog *mProgressDialog = nullptr; 0062 EwsSubscriptionWidget *mSubWidget = nullptr; 0063 QPointer<EwsSettings> mSettings; 0064 QMap<QString, QString> mAuthMap; 0065 };