1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-08-21 15:24:01 +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 conferenceModeration: qsTr("Conference moderation")
property string defaultModerators: qsTr("Default moderators") property string defaultModerators: qsTr("Default moderators")
property string enableLocalModerators: qsTr("Enable local 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 addDefaultModerator: qsTr("Add default moderator")
property string removeDefaultModerator: qsTr("Remove default moderator") property string removeDefaultModerator: qsTr("Remove default moderator")

View file

@ -1014,7 +1014,13 @@ SettingsAdapter::setDefaultModerator(const QString& accountId,
const QString& peerURI, const QString& peerURI,
const bool& state) 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 QStringList
@ -1026,7 +1032,7 @@ SettingsAdapter::getDefaultModerators(const QString& accountId)
void void
SettingsAdapter::enableLocalModerators(const QString& accountId, const bool& isModEnabled) SettingsAdapter::enableLocalModerators(const QString& accountId, const bool& isModEnabled)
{ {
return lrcInstance_->accountModel().enableLocalModerators(accountId, isModEnabled); lrcInstance_->accountModel().enableLocalModerators(accountId, isModEnabled);
} }
bool bool
@ -1034,3 +1040,9 @@ SettingsAdapter::isLocalModeratorsEnabled(const QString& accountId)
{ {
return lrcInstance_->accountModel().isLocalModeratorsEnabled(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, Q_INVOKABLE void setDefaultModerator(const QString& accountID,
const QString& peerURI, const QString& peerURI,
const bool& state); const bool& state);
Q_INVOKABLE void setAllModeratorsEnabled(const QString& accountId, bool enabled);
Q_INVOKABLE QStringList getDefaultModerators(const QString& accId); Q_INVOKABLE QStringList getDefaultModerators(const QString& accId);
Q_INVOKABLE void enableLocalModerators(const QString& accountID, const bool& isModEnabled); Q_INVOKABLE void enableLocalModerators(const QString& accountID, const bool& isModEnabled);
Q_INVOKABLE bool isLocalModeratorsEnabled(const QString& accountId); Q_INVOKABLE bool isLocalModeratorsEnabled(const QString& accountId);
Q_INVOKABLE bool isAllModeratorsEnabled(const QString& accountId);
}; };
Q_DECLARE_METATYPE(SettingsAdapter*) Q_DECLARE_METATYPE(SettingsAdapter*)

View file

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