File indexing completed on 2024-12-01 04:36:34
0001 /* 0002 SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "libruqolawidgets_private_export.h" 0010 #include <QWidget> 0011 0012 class RocketChatAccount; 0013 class QTabWidget; 0014 class AccountSettingsWidget; 0015 class EncryptionSettingsWidget; 0016 class MessageSettingsWidget; 0017 class FileUploadSettingsWidget; 0018 class RetentionPolicySettingsWidget; 0019 class GeneralSettingsWidget; 0020 class RateLimiterWidget; 0021 class PasswordSettingsWidget; 0022 class VideoConferenceWidget; 0023 class IrcFederationWidget; 0024 class WebDavSettingsWidget; 0025 class LDapSettingsWidget; 0026 class LayoutSettingsWidget; 0027 class EnterpriseSettingsWidget; 0028 class SettingsWidgetBase; 0029 class UserDataDownloadWidget; 0030 class SlackBridgeWidget; 0031 class LogsSettingsWidget; 0032 class EmailSettingsWidget; 0033 class MobileSettingsWidget; 0034 class TroubleshootSettingsWidget; 0035 class ConferenceCallSettingsWidget; 0036 class WebRtcSettingsWidget; 0037 class CasSettingsWidget; 0038 class OauthSettingsWidget; 0039 class AnalyticsWidget; 0040 class IrcWidget; 0041 class LIBRUQOLAWIDGETS_TESTS_EXPORT AdministratorSettingsWidget : public QWidget 0042 { 0043 Q_OBJECT 0044 public: 0045 explicit AdministratorSettingsWidget(RocketChatAccount *account, QWidget *parent = nullptr); 0046 ~AdministratorSettingsWidget() override; 0047 0048 void loadSettings(); 0049 0050 private: 0051 LIBRUQOLAWIDGETS_NO_EXPORT void initialize(const QJsonObject &obj); 0052 LIBRUQOLAWIDGETS_NO_EXPORT void updateState(bool state); 0053 LIBRUQOLAWIDGETS_NO_EXPORT void initializeValues(SettingsWidgetBase *widget, const QMap<QString, QVariant> &mapSettings); 0054 QTabWidget *const mTabWidget; 0055 AccountSettingsWidget *const mAccountSettingsWidget; 0056 EncryptionSettingsWidget *const mEncryptionSettingsWidget; 0057 MessageSettingsWidget *const mMessageSettingsWidget; 0058 FileUploadSettingsWidget *const mUploadFileSettingsWidget; 0059 RetentionPolicySettingsWidget *const mRetentionPolicySettingsWidget; 0060 GeneralSettingsWidget *const mGeneralSettingsWidget; 0061 RateLimiterWidget *const mRateLimiterWidget; 0062 PasswordSettingsWidget *const mPasswordSettingsWidget; 0063 VideoConferenceWidget *const mVideoConferenceWidget; 0064 IrcFederationWidget *const mIrcFederationWidget; 0065 WebDavSettingsWidget *const mWebDavSettingsWidget; 0066 LDapSettingsWidget *const mLDapSettingsWidget; 0067 LayoutSettingsWidget *const mLayoutSettingsWidget; 0068 EnterpriseSettingsWidget *const mEnterpriseSettingsWidget; 0069 UserDataDownloadWidget *const mUserDataDownloadWidget; 0070 SlackBridgeWidget *const mSlackBridgeWidget; 0071 LogsSettingsWidget *const mLogsSettingsWidget; 0072 EmailSettingsWidget *const mEmailSettingsWidget; 0073 MobileSettingsWidget *const mMobileSettingsWidget; 0074 TroubleshootSettingsWidget *const mTroubleshootSettingsWidget; 0075 ConferenceCallSettingsWidget *const mConferenceCallSettingsWidget; 0076 WebRtcSettingsWidget *const mWebRtcSettingsWidget; 0077 CasSettingsWidget *const mCasSettingsWidget; 0078 OauthSettingsWidget *const mOauthSettingsWidget; 0079 AnalyticsWidget *const mAnalyticsWidget; 0080 IrcWidget *const mIrcWidget; 0081 RocketChatAccount *const mRocketChatAccount; 0082 };