1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-16 05:25:22 +02:00

settings: add account preference of setting all moderators mode

Gitlab: #319

Change-Id: I39fe050d3b9d509f8709528e1c8fcf6acf7e7ca3
This commit is contained in:
Ming Rui Zhang 2021-03-17 13:16:20 -04:00
parent fe8b931d30
commit ab5bea1001
4 changed files with 28 additions and 2 deletions

View file

@ -419,6 +419,7 @@ Item {
property string conferenceModeration: qsTr("Conference moderation")
property string defaultModerators: qsTr("Default moderators")
property string enableLocalModerators: qsTr("Enable local moderators")
property string enableAllModerators: qsTr("Make all participants moderators")
property string addDefaultModerator: qsTr("Add default moderator")
property string removeDefaultModerator: qsTr("Remove default moderator")

View file

@ -1014,7 +1014,13 @@ SettingsAdapter::setDefaultModerator(const QString& accountId,
const QString& peerURI,
const bool& state)
{
return lrcInstance_->accountModel().setDefaultModerator(accountId, peerURI, state);
lrcInstance_->accountModel().setDefaultModerator(accountId, peerURI, state);
}
void
SettingsAdapter::setAllModeratorsEnabled(const QString& accountId, bool enabled)
{
lrcInstance_->accountModel().setAllModerators(accountId, enabled);
}
QStringList
@ -1026,7 +1032,7 @@ SettingsAdapter::getDefaultModerators(const QString& accountId)
void
SettingsAdapter::enableLocalModerators(const QString& accountId, const bool& isModEnabled)
{
return lrcInstance_->accountModel().enableLocalModerators(accountId, isModEnabled);
lrcInstance_->accountModel().enableLocalModerators(accountId, isModEnabled);
}
bool
@ -1034,3 +1040,9 @@ SettingsAdapter::isLocalModeratorsEnabled(const QString& accountId)
{
return lrcInstance_->accountModel().isLocalModeratorsEnabled(accountId);
}
bool
SettingsAdapter::isAllModeratorsEnabled(const QString& accountId)
{
return lrcInstance_->accountModel().isAllModerators(accountId);
}

View file

@ -220,8 +220,10 @@ public:
Q_INVOKABLE void setDefaultModerator(const QString& accountID,
const QString& peerURI,
const bool& state);
Q_INVOKABLE void setAllModeratorsEnabled(const QString& accountId, bool enabled);
Q_INVOKABLE QStringList getDefaultModerators(const QString& accId);
Q_INVOKABLE void enableLocalModerators(const QString& accountID, const bool& isModEnabled);
Q_INVOKABLE bool isLocalModeratorsEnabled(const QString& accountId);
Q_INVOKABLE bool isAllModeratorsEnabled(const QString& accountId);
};
Q_DECLARE_METATYPE(SettingsAdapter*)

View file

@ -43,6 +43,7 @@ ColumnLayout {
checkBoxRdv.checked = SettingsAdapter.getAccountConfig_RendezVous()
checkBoxAutoAnswer.checked = SettingsAdapter.getAccountConfig_AutoAnswer()
checkBoxCustomRingtone.checked = SettingsAdapter.getAccountConfig_Ringtone_RingtoneEnabled()
checkboxAllModerators.checked = SettingsAdapter.isAllModeratorsEnabled(AccountAdapter.currentAccountId)
btnRingtone.setEnabled(SettingsAdapter.getAccountConfig_Ringtone_RingtoneEnabled())
btnRingtone.setText(UtilsAdapter.toFileInfoName(SettingsAdapter.getAccountConfig_Ringtone_RingtonePath()))
@ -236,5 +237,15 @@ ColumnLayout {
ContactPickerCreation.openContactPicker()
}
}
ToggleSwitch {
id: checkboxAllModerators
labelText: JamiStrings.enableAllModerators
fontPointSize: JamiTheme.settingsFontSize
onSwitchToggled: SettingsAdapter.setAllModeratorsEnabled(
AccountAdapter.currentAccountId, checked)
}
}
}