File indexing completed on 2024-05-26 05:05:37

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "webrtcsettingswidget.h"
0008 #include <KLocalizedString>
0009 #include <QCheckBox>
0010 #include <QFormLayout>
0011 #include <QLineEdit>
0012 
0013 WebRtcSettingsWidget::WebRtcSettingsWidget(RocketChatAccount *account, QWidget *parent)
0014     : SettingsWidgetBase(account, parent)
0015     , mEnabled(new QCheckBox(i18n("Enabled"), this))
0016     , mEnablePublicChannels(new QCheckBox(i18n("Enable for Public Channels"), this))
0017     , mEnablePrivateChannels(new QCheckBox(i18n("Enable for Private Channels"), this))
0018     , mEnableDirectMessages(new QCheckBox(i18n("Enable for Direct Messages"), this))
0019     , mServer(new QLineEdit(this))
0020 {
0021     mEnabled->setObjectName(QStringLiteral("mEnabled"));
0022     mMainLayout->addWidget(mEnabled);
0023     connectCheckBox(mEnabled, QStringLiteral("WebRTC_Enabled"));
0024 
0025     mEnablePublicChannels->setObjectName(QStringLiteral("mEnablePublicChannels"));
0026     mMainLayout->addWidget(mEnablePublicChannels);
0027     connectCheckBox(mEnablePublicChannels, QStringLiteral("WebRTC_Enable_Channel"));
0028 
0029     mEnablePrivateChannels->setObjectName(QStringLiteral("mEnablePrivateChannels"));
0030     mMainLayout->addWidget(mEnablePrivateChannels);
0031     connectCheckBox(mEnablePrivateChannels, QStringLiteral("WebRTC_Enable_Private"));
0032 
0033     mEnableDirectMessages->setObjectName(QStringLiteral("mEnableDirectMessages"));
0034     mMainLayout->addWidget(mEnableDirectMessages);
0035     connectCheckBox(mEnableDirectMessages, QStringLiteral("WebRTC_Enable_Direct"));
0036 
0037     mServer->setObjectName(QStringLiteral("mServer"));
0038     mServer->setToolTip(
0039         i18n("A list of STUN and TURN servers separated by comma.\nUsername, password and port are allowed in the format username:password@stun:host:port or "
0040              "username:password@turn:host:port."));
0041     addLineEdit(i18n("STUN/TURN Servers"), mServer, QStringLiteral("WebRTC_Servers"));
0042 }
0043 
0044 WebRtcSettingsWidget::~WebRtcSettingsWidget() = default;
0045 
0046 void WebRtcSettingsWidget::initialize(const QMap<QString, QVariant> &mapSettings)
0047 {
0048     initializeWidget(mEnabled, mapSettings, false);
0049     initializeWidget(mEnablePublicChannels, mapSettings, false);
0050     initializeWidget(mEnablePrivateChannels, mapSettings, false);
0051     initializeWidget(mEnableDirectMessages, mapSettings, false);
0052     initializeWidget(mServer, mapSettings, QString());
0053 }
0054 
0055 #include "moc_webrtcsettingswidget.cpp"