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

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 "layoutsettingswidget.h"
0008 #include <KLocalizedString>
0009 #include <QCheckBox>
0010 #include <QFormLayout>
0011 #include <QSpinBox>
0012 
0013 LayoutSettingsWidget::LayoutSettingsWidget(RocketChatAccount *account, QWidget *parent)
0014     : SettingsWidgetBase(account, parent)
0015     , mDisplayRoles(new QCheckBox(i18n("Display Roles"), this))
0016     , mUseRealName(new QCheckBox(i18n("Use Real Name"), this))
0017     , mUseFullNameGenerateDefaultAvatar(new QCheckBox(i18n("Use Full Name Initials to Generate Default Avatar"), this))
0018     , mAllowSpecialCharactersRoomNames(new QCheckBox(i18n("Allow Special Characters in Room Names"), this))
0019     , mMergePrivateGroupsWithChannels(new QCheckBox(i18n("Merge Private Groups with Channels"), this))
0020     , mGroupChannelsByType(new QCheckBox(i18n("Group channels by type"), this))
0021     , mNumberUsersAutocompletion(new QSpinBox(this))
0022 {
0023     mDisplayRoles->setObjectName(QStringLiteral("mDisplayRoles"));
0024     mMainLayout->addWidget(mDisplayRoles);
0025     connectCheckBox(mDisplayRoles, QStringLiteral("UI_DisplayRoles"));
0026 
0027     mUseRealName->setObjectName(QStringLiteral("mUseRealName"));
0028     mMainLayout->addWidget(mUseRealName);
0029     connectCheckBox(mUseRealName, QStringLiteral("UI_Use_Real_Name"));
0030 
0031     mUseFullNameGenerateDefaultAvatar->setObjectName(QStringLiteral("mUseFullNameGenerateDefaultAvatar"));
0032     mMainLayout->addWidget(mUseFullNameGenerateDefaultAvatar);
0033     connectCheckBox(mUseFullNameGenerateDefaultAvatar, QStringLiteral("UI_Use_Name_Avatar"));
0034 
0035     mAllowSpecialCharactersRoomNames->setObjectName(QStringLiteral("mAllowSpecialCharactersRoomNames"));
0036     mMainLayout->addWidget(mAllowSpecialCharactersRoomNames);
0037     connectCheckBox(mAllowSpecialCharactersRoomNames, QStringLiteral("UI_Allow_room_names_with_special_chars"));
0038 
0039     mMergePrivateGroupsWithChannels->setObjectName(QStringLiteral("mMergePrivateGroupsWithChannels"));
0040     mMainLayout->addWidget(mMergePrivateGroupsWithChannels);
0041     connectCheckBox(mMergePrivateGroupsWithChannels, QStringLiteral("UI_Merge_Channels_Groups"));
0042 
0043     mGroupChannelsByType->setObjectName(QStringLiteral("mGroupChannelsByType"));
0044     mMainLayout->addWidget(mGroupChannelsByType);
0045     connectCheckBox(mGroupChannelsByType, QStringLiteral("UI_Group_Channels_By_Type"));
0046 
0047     mNumberUsersAutocompletion->setObjectName(QStringLiteral("mNumberUsersAutocompletion"));
0048     mNumberUsersAutocompletion->setMaximum(99);
0049     addSpinbox(i18n("Number of users' autocomplete suggestions"), mNumberUsersAutocompletion, QStringLiteral("Number_of_users_autocomplete_suggestions"));
0050 }
0051 
0052 LayoutSettingsWidget::~LayoutSettingsWidget() = default;
0053 
0054 void LayoutSettingsWidget::initialize(const QMap<QString, QVariant> &mapSettings)
0055 {
0056     initializeWidget(mDisplayRoles, mapSettings, true);
0057     initializeWidget(mUseRealName, mapSettings, false);
0058     initializeWidget(mUseFullNameGenerateDefaultAvatar, mapSettings, false);
0059     initializeWidget(mAllowSpecialCharactersRoomNames, mapSettings, false);
0060     initializeWidget(mMergePrivateGroupsWithChannels, mapSettings, true);
0061     initializeWidget(mGroupChannelsByType, mapSettings, true);
0062     initializeWidget(mNumberUsersAutocompletion, mapSettings, 5);
0063 }
0064 
0065 #include "moc_layoutsettingswidget.cpp"