Compare commits

..

No commits in common. "ca4380bfd0bb8faa4073f2cb65bfb09cffb2ea94" and "1f6a9796865ee8ba8a197e8f24f33c2077a8ed71" have entirely different histories.

23 changed files with 1157 additions and 1524 deletions

View file

@ -102,7 +102,7 @@ macosx-ninja-package:
- if: $PACKAGE_MACOSX
- if: $DEPLOY_MACOSX
variables:
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON -DENABLE_BUGSPLAT_SYMBOLS_UPLOAD=ON -DBUGSPLAT_CLIENT_ID=$BUGSPLAT_CLIENT_ID -DBUGSPLAT_CLIENT_SECRET=$BUGSPLAT_CLIENT_SECRET -DBUGSPLAT_DATABASE=$BUGSPLAT_DATABASE
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOSX_PLATFORM/$APP_FOLDER
extends: macosx-ninja
script:

View file

@ -223,22 +223,10 @@ void ChatCore::setSelf(const QSharedPointer<ChatCore> &me) {
mChatModelConnection->makeConnectToModel(
&ChatModel::chatMessagesReceived, [this](const std::shared_ptr<linphone::ChatRoom> &chatRoom,
const std::list<std::shared_ptr<linphone::EventLog>> &eventsLog) {
if (!mChatModel) {
lWarning() << log().arg("Chat model is null !");
return;
} else if (!mChatModelConnection) {
lWarning() << log().arg("Connection between Core and Model is null !");
return;
}
if (mChatModel->getMonitor() != chatRoom) return;
lInfo() << log().arg("Chat message received in chatroom") << this << mChatModel->getTitle();
lInfo() << log().arg("Connection =") << mChatModelConnection.get();
lDebug() << log().arg("CHAT MESSAGE RECEIVED IN CHATROOM") << this << mChatModel->getTitle();
QList<QSharedPointer<EventLogCore>> list;
for (auto &e : eventsLog) {
if (!e) {
lWarning() << log().arg("Event log is null, continue");
continue;
}
auto event = EventLogCore::create(e, chatRoom);
list.push_back(event);
}
@ -389,15 +377,6 @@ void ChatCore::setSelf(const QSharedPointer<ChatCore> &me) {
setMeAdmin(meAdmin);
});
});
mChatModelConnection->makeConnectToModel(
&ChatModel::participantAddressesChanged,
[this](const std::shared_ptr<linphone::ChatRoom> &chatRoom, bool success) {
if (!success) {
auto participants = buildParticipants(chatRoom);
mChatModelConnection->invokeToCore([this, participants] { setParticipants(participants); });
}
mChatModelConnection->invokeToCore([this, success] { emit participantAddressesChanged(success); });
});
mChatModelConnection->makeConnectToCore(&ChatCore::lRemoveParticipantAtIndex, [this](int index) {
mChatModelConnection->invokeToModel([this, index]() { mChatModel->removeParticipantAtIndex(index); });
});

View file

@ -175,7 +175,6 @@ signals:
void fileListChanged();
void isSecuredChanged();
void conferenceJoined();
void participantAddressesChanged(bool success);
void lDeleteMessage(ChatMessageGui *message);
void lDelete();

View file

@ -366,8 +366,7 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
txt = tr("new_conference_invitation");
};
if (messages.size() == 1 &&
SettingsModel::getInstance()->getDisplayNotificationContent()) { // Display only sender on mono message.
if (messages.size() == 1) { // Display only sender on mono message.
if (message->isRead()) return;
getMessage(message);
if (txt.isEmpty()) { // Do not notify message without content
@ -383,9 +382,6 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
}
}
if (unreadCount == 0) return;
else if (unreadCount == 1)
//: 'New message received!' Notification that warn the user of a new message.
txt = tr("new_chat_room_message");
if (unreadCount > 1)
//: 'New messages received!' Notification that warn the user of new messages.
txt = tr("new_chat_room_messages");

View file

@ -275,73 +275,71 @@ QString Paths::getLogsDirPath() {
QString Paths::getAppRootCaFilePath() {
// Hardcoded because it comes from linphone and is not customizable.
return getReadableFilePath(getAppPackageDataDirPath() + "/linphone/rootca.pem");
}
QString Paths::getCrashpadDirPath() {
QString Paths::getCrashpadDirPath() {
#ifdef HAVE_CRASH_HANDLER
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathCrashpad);
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathCrashpad);
#else
return "";
return "";
#endif
}
}
QString Paths::getMetricsDirPath() {
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathMetrics);
}
QString Paths::getMetricsDirPath() {
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathMetrics);
}
QString Paths::getMessageHistoryFilePath() {
return getReadableFilePath(
getAppMessageHistoryFilePath()); // No need to ensure that the file exists as this DB is deprecated
}
QString Paths::getMessageHistoryFilePath() {
return getReadableFilePath(
getAppMessageHistoryFilePath()); // No need to ensure that the file exists as this DB is deprecated
}
QString Paths::getPackageMsPluginsDirPath() {
return getReadableDirPath(getAppPackageMsPluginsDirPath());
}
QString Paths::getPackageMsPluginsDirPath() {
return getReadableDirPath(getAppPackageMsPluginsDirPath());
}
QString Paths::getPackagePluginsAppDirPath() {
return getReadableDirPath(getAppPackagePluginsDirPath() + Constants::PathPluginsApp);
}
QString Paths::getPackagePluginsAppDirPath() {
return getReadableDirPath(getAppPackagePluginsDirPath() + Constants::PathPluginsApp);
}
QString Paths::getPackageTopDirPath() {
return getReadableDirPath(getAppPackageDataDirPath());
}
QString Paths::getPackageTopDirPath() {
return getReadableDirPath(getAppPackageDataDirPath());
}
QString Paths::getPluginsAppDirPath() {
return getWritableDirPath(getAppPluginsDirPath() + Constants::PathPluginsApp);
}
QString Paths::getPluginsAppDirPath() {
return getWritableDirPath(getAppPluginsDirPath() + Constants::PathPluginsApp);
}
QStringList Paths::getPluginsAppFolders() {
QStringList pluginPaths;
pluginPaths << Paths::getPluginsAppDirPath();
pluginPaths << Paths::getPackagePluginsAppDirPath();
return pluginPaths;
}
QStringList Paths::getPluginsAppFolders() {
QStringList pluginPaths;
pluginPaths << Paths::getPluginsAppDirPath();
pluginPaths << Paths::getPackagePluginsAppDirPath();
return pluginPaths;
}
QString Paths::getToolsDirPath() {
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathTools);
}
QString Paths::getUserCertificatesDirPath() {
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathUserCertificates);
}
QString Paths::getToolsDirPath() {
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathTools);
}
QString Paths::getUserCertificatesDirPath() {
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathUserCertificates);
}
QString Paths::getZrtpSecretsFilePath() {
return getWritableFilePath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathZrtpSecrets);
}
QString Paths::getZrtpSecretsFilePath() {
return getWritableFilePath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
Constants::PathZrtpSecrets);
}
QString Paths::getCrashpadHandlerFilePath() {
QString Paths::getCrashpadHandlerFilePath() {
#ifdef HAVE_CRASH_HANDLER
return getAppBinDirPath() + Constants::PathCrashpadHandler;
return getAppBinDirPath() + Constants::PathCrashpadHandler;
#else
return "";
return "";
#endif
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
void Paths::migrate() {
}
void Paths::migrate() {
}

View file

@ -92,8 +92,6 @@ void MagicSearchList::setSelf(const QSharedPointer<MagicSearchList> &me) {
mModelConnection->makeConnectToModel(
&MagicSearchModel::searchResultsReceived,
[this](const std::list<std::shared_ptr<linphone::SearchResult>> &results) {
lInfo() << log().arg("Search result received : Safe Connection =") << mModelConnection.get();
lInfo() << log().arg("this =") << this;
auto *contacts = new QList<QSharedPointer<FriendCore>>();
auto ldapContacts = ToolModel::getLdapFriendList();
auto core = CoreModel::getInstance()->getCore();

View file

@ -50,7 +50,6 @@ SettingsCore::SettingsCore(QObject *parent) : QObject(parent) {
mVideoEnabled = settingsModel->getVideoEnabled();
mEchoCancellationEnabled = settingsModel->getEchoCancellationEnabled();
mAutoDownloadReceivedFiles = settingsModel->getAutoDownloadReceivedFiles();
mDisplayNotificationContent = settingsModel->getDisplayNotificationContent();
mAutomaticallyRecordCallsEnabled = settingsModel->getAutomaticallyRecordCallsEnabled();
mRingtonePath = settingsModel->getRingtone();
QFileInfo ringtone(mRingtonePath);
@ -165,7 +164,6 @@ SettingsCore::SettingsCore(const SettingsCore &settingsCore) {
mVideoEnabled = settingsCore.mVideoEnabled;
mEchoCancellationEnabled = settingsCore.mEchoCancellationEnabled;
mAutoDownloadReceivedFiles = settingsCore.mAutoDownloadReceivedFiles;
mDisplayNotificationContent = settingsCore.mDisplayNotificationContent;
mAutomaticallyRecordCallsEnabled = settingsCore.mAutomaticallyRecordCallsEnabled;
// Audio
@ -252,7 +250,6 @@ void SettingsCore::reloadSettings() {
setVideoEnabled(settingsModel->getVideoEnabled());
setEchoCancellationEnabled(settingsModel->getEchoCancellationEnabled());
setAutoDownloadReceivedFiles(settingsModel->getAutoDownloadReceivedFiles());
setDisplayNotificationContent(settingsModel->getDisplayNotificationContent());
setAutomaticallyRecordCallsEnabled(settingsModel->getAutomaticallyRecordCallsEnabled());
setRingtone(settingsModel->getRingtone());
@ -403,12 +400,6 @@ void SettingsCore::setSelf(QSharedPointer<SettingsCore> me) {
mSettingsModelConnection->invokeToCore([this, enabled]() { setAutoDownloadReceivedFiles(enabled); });
});
// Auto download incoming files
mSettingsModelConnection->makeConnectToModel(
&SettingsModel::displayNotificationContentChanged, [this](const bool enabled) {
mSettingsModelConnection->invokeToCore([this, enabled]() { setDisplayNotificationContent(enabled); });
});
// Auto recording
mSettingsModelConnection->makeConnectToModel(
&SettingsModel::automaticallyRecordCallsEnabledChanged, [this](const bool enabled) {
@ -649,7 +640,6 @@ void SettingsCore::reset(const SettingsCore &settingsCore) {
setAutomaticallyRecordCallsEnabled(settingsCore.mAutomaticallyRecordCallsEnabled);
setAutoDownloadReceivedFiles(settingsCore.mAutoDownloadReceivedFiles);
setDisplayNotificationContent(settingsCore.mDisplayNotificationContent);
// Audio
setCaptureDevices(settingsCore.mCaptureDevices);
setPlaybackDevices(settingsCore.mPlaybackDevices);
@ -805,14 +795,6 @@ void SettingsCore::setAutoDownloadReceivedFiles(bool enabled) {
}
}
void SettingsCore::setDisplayNotificationContent(bool enabled) {
if (mDisplayNotificationContent != enabled) {
mDisplayNotificationContent = enabled;
emit displayNotificationContentChanged();
setIsSaved(false);
}
}
void SettingsCore::setAutomaticallyRecordCallsEnabled(bool enabled) {
if (mAutomaticallyRecordCallsEnabled != enabled) {
mAutomaticallyRecordCallsEnabled = enabled;
@ -1259,8 +1241,6 @@ void SettingsCore::writeIntoModel(std::shared_ptr<SettingsModel> model) const {
// Chat
model->setAutoDownloadReceivedFiles(mAutoDownloadReceivedFiles);
model->setDisplayNotificationContent(mDisplayNotificationContent);
// Audio
model->setRingerDevice(mRingerDevice);
model->setCaptureDevice(mCaptureDevice);
@ -1336,7 +1316,6 @@ void SettingsCore::writeFromModel(const std::shared_ptr<SettingsModel> &model) {
// Chat
mAutoDownloadReceivedFiles = model->getAutoDownloadReceivedFiles();
mDisplayNotificationContent = model->getDisplayNotificationContent();
// Audio
mCaptureDevices = model->getCaptureDevices();

View file

@ -42,8 +42,6 @@ public:
echoCancellationEnabledChanged)
Q_PROPERTY(bool autoDownloadReceivedFiles READ getAutoDownloadReceivedFiles WRITE setAutoDownloadReceivedFiles
NOTIFY autoDownloadReceivedFilesChanged)
Q_PROPERTY(bool displayNotificationContent READ getDisplayNotificationContent WRITE setDisplayNotificationContent
NOTIFY displayNotificationContentChanged)
Q_PROPERTY(
int echoCancellationCalibration READ getEchoCancellationCalibration NOTIFY echoCancellationCalibrationChanged)
Q_PROPERTY(bool automaticallyRecordCallsEnabled READ getAutomaticallyRecordCallsEnabled WRITE
@ -95,17 +93,18 @@ public:
Q_PROPERTY(bool fullLogsEnabled READ getFullLogsEnabled WRITE setFullLogsEnabled NOTIFY fullLogsEnabledChanged)
Q_PROPERTY(bool crashReporterEnabled READ getCrashReporterEnabled WRITE setCrashReporterEnabled NOTIFY
crashReporterEnabledChanged)
Q_PROPERTY(QString logsEmail READ getLogsEmail) Q_PROPERTY(QString logsFolder READ getLogsFolder)
Q_PROPERTY(QString ringtoneName READ getRingtoneFileName NOTIFY ringtoneChanged)
Q_PROPERTY(QString ringtonePath READ getRingtonePath WRITE setRingtone NOTIFY ringtoneChanged)
Q_PROPERTY(QString ringtoneFolder MEMBER mRingtoneFolder NOTIFY ringtoneChanged)
Q_PROPERTY(bool dnd READ dndEnabled WRITE lEnableDnd NOTIFY dndChanged)
Q_PROPERTY(bool isSaved READ isSaved WRITE setIsSaved NOTIFY isSavedChanged)
Q_PROPERTY(QString logsEmail READ getLogsEmail)
Q_PROPERTY(QString logsFolder READ getLogsFolder)
Q_PROPERTY(QString ringtoneName READ getRingtoneFileName NOTIFY ringtoneChanged)
Q_PROPERTY(QString ringtonePath READ getRingtonePath WRITE setRingtone NOTIFY ringtoneChanged)
Q_PROPERTY(QString ringtoneFolder MEMBER mRingtoneFolder NOTIFY ringtoneChanged)
Q_PROPERTY(bool dnd READ dndEnabled WRITE lEnableDnd NOTIFY dndChanged)
Q_PROPERTY(bool isSaved READ isSaved WRITE setIsSaved NOTIFY isSavedChanged)
Q_PROPERTY(bool showAccountDevices READ showAccountDevices WRITE setShowAccountDevices
NOTIFY showAccountDevicesChanged)
Q_PROPERTY(
bool showAccountDevices READ showAccountDevices WRITE setShowAccountDevices NOTIFY showAccountDevicesChanged)
static QSharedPointer<SettingsCore> create();
static QSharedPointer<SettingsCore> create();
SettingsCore(QObject *parent = Q_NULLPTR);
SettingsCore(const SettingsCore &settingsCore);
virtual ~SettingsCore();
@ -153,11 +152,6 @@ public:
}
void setAutoDownloadReceivedFiles(bool enabled);
bool getDisplayNotificationContent() {
return mDisplayNotificationContent;
}
void setDisplayNotificationContent(bool enabled);
bool getAutomaticallyRecordCallsEnabled() {
return mAutomaticallyRecordCallsEnabled;
}
@ -315,7 +309,6 @@ signals:
void echoCancellationEnabledChanged();
void autoDownloadReceivedFilesChanged();
void displayNotificationContentChanged();
void automaticallyRecordCallsEnabledChanged();
@ -413,7 +406,6 @@ private:
bool mVideoEnabled;
bool mEchoCancellationEnabled;
bool mAutoDownloadReceivedFiles;
bool mDisplayNotificationContent;
bool mAutomaticallyRecordCallsEnabled;
// Audio

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -237,23 +237,17 @@ void ChatModel::toggleParticipantAdminStatusAtIndex(int index) const {
mMonitor->setParticipantAdminStatus(participant, !participant->isAdmin());
}
void ChatModel::setParticipantAddresses(const QStringList &addresses) {
void ChatModel::setParticipantAddresses(const QStringList &addresses) const {
QSet<QString> s{addresses.cbegin(), addresses.cend()};
bool soFarSoGood = true;
for (auto p : mMonitor->getParticipants()) {
auto address = Utils::coreStringToAppString(p->getAddress()->asStringUriOnly());
if (s.contains(address)) s.remove(address);
else {
mMonitor->removeParticipants({p});
}
else mMonitor->removeParticipant(p);
}
for (const auto &a : s) {
auto address = linphone::Factory::get()->createAddress(Utils::appStringToCoreString(a));
if (address) {
soFarSoGood &= mMonitor->addParticipants({address});
}
if (address) mMonitor->addParticipant(address);
}
emit participantAddressesChanged(mMonitor, soFarSoGood);
}
//---------------------------------------------------------------//

View file

@ -84,7 +84,7 @@ public:
void setEphemeralLifetime(int time);
void setSubject(QString subject) const;
void removeParticipantAtIndex(int index) const;
void setParticipantAddresses(const QStringList &addresses);
void setParticipantAddresses(const QStringList &addresses) const;
void toggleParticipantAdminStatusAtIndex(int index) const;
signals:
@ -94,7 +94,6 @@ signals:
void mutedChanged(bool muted);
void ephemeralEnableChanged(bool enable);
void ephemeralLifetimeChanged(int time);
void participantAddressesChanged(const std::shared_ptr<linphone::ChatRoom> &chatRoom, bool success);
private:
DECLARE_ABSTRACT_OBJECT

View file

@ -37,7 +37,6 @@ ChatMessageModel::ChatMessageModel(const std::shared_ptr<linphone::ChatMessage>
mEphemeralTimer.setInterval(60);
mEphemeralTimer.setSingleShot(false);
if (mMonitor->getEphemeralExpireTime() != 0) mEphemeralTimer.start();
mChatRoom = mMonitor->getChatRoom();
connect(&mEphemeralTimer, &QTimer::timeout, this,
[this] { emit ephemeralMessageTimeUpdated(mMonitor, mMonitor->getEphemeralExpireTime()); });
connect(this, &ChatMessageModel::ephemeralMessageTimerStarted, this, [this] { mEphemeralTimer.start(); });
@ -48,8 +47,7 @@ ChatMessageModel::ChatMessageModel(const std::shared_ptr<linphone::ChatMessage>
// We need to force this signal sending because there is no callback to know when a message has been read
connect(CoreModel::getInstance().get(), &CoreModel::chatRoomRead, this,
[this](const std::shared_ptr<linphone::Core> &core, const std::shared_ptr<linphone::ChatRoom> &chatRoom) {
if (!mMonitor || !mChatRoom.lock()) return;
if (chatRoom == mChatRoom.lock()) {
if (chatRoom == mMonitor->getChatRoom()) {
if (mMonitor->isRead()) {
emit messageRead(mMonitor);
}

View file

@ -33,7 +33,7 @@ DEFINE_ABSTRACT_OBJECT(ConferenceInfoModel)
ConferenceInfoModel::ConferenceInfoModel(const std::shared_ptr<linphone::ConferenceInfo> &conferenceInfo,
QObject *parent)
// TODO : remove cloning when a fix will be done in SDK (#SDK-1001 ticket)
: mConferenceInfo(conferenceInfo) {
: mConferenceInfo(conferenceInfo->clone()) {
mustBeInLinphoneThread(getClassName());
}

View file

@ -521,17 +521,6 @@ void SettingsModel::setAutoDownloadReceivedFiles(bool status) {
emit autoDownloadReceivedFilesChanged(status);
}
bool SettingsModel::getDisplayNotificationContent() const {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
return !!mConfig->getInt(UiSection, "display_notification_content", 1);
}
void SettingsModel::setDisplayNotificationContent(bool display) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
mConfig->setInt(UiSection, "display_notification_content", display);
emit displayNotificationContentChanged(display);
}
bool SettingsModel::getEchoCancellationEnabled() const {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
return CoreModel::getInstance()->getCore()->echoCancellationEnabled();

View file

@ -66,9 +66,6 @@ public:
void setAutoDownloadReceivedFiles(bool enabled);
bool getAutoDownloadReceivedFiles() const;
void setDisplayNotificationContent(bool display);
bool getDisplayNotificationContent() const;
// Audio. --------------------------------------------------------------------
bool getIsInCall() const;
@ -290,7 +287,6 @@ signals:
// Messages. --------------------------------------------------------------------
void autoDownloadReceivedFilesChanged(bool enabled);
void displayNotificationContentChanged(bool display);
private:
void notifyConfigReady();

View file

@ -66,7 +66,7 @@ template <class A, class B>
class SafeConnection : public QObject {
// Use create functions.
protected:
SafeConnection(QSharedPointer<A> a, std::shared_ptr<B> b)
SafeConnection(const QSharedPointer<A> &a, std::shared_ptr<B> b)
: mCore(a), mModel(b), mCoreObject(a.get()), mModelObject(b.get()) {
}
SafeConnection(QSharedPointer<A> a, QSharedPointer<B> b)
@ -150,7 +150,6 @@ public:
}
bool tryLock() {
if (!this) return false;
mLocker.lock();
auto coreLocked = mCore.lock();
auto modelLocked = mModel.lock();

View file

@ -87,7 +87,6 @@ ListView {
onModelAboutToBeReset: {
loading = true
}
onModelReset: loading = false
onModelUpdated: {
loading = false
var index = eventLogProxy.findFirstUnreadIndex()

View file

@ -22,22 +22,6 @@ Rectangle {
height: participantAddColumn.implicitHeight
signal done()
Connections {
enabled: chatGui !== null
target: chatGui.core
function onParticipantAddressesChanged(success) {
if (!success) UtilsCpp.showInformationPopup(qsTr("info_popup_error_title"),
//: Error while setting participants !
qsTr("info_popup_manage_participant_error_message"), false)
else {
mainItem.done()
UtilsCpp.showInformationPopup(qsTr("info_popup_success_title"),
//: Participants updated
qsTr("info_popup_manage_participant_updated_message"), true)
}
}
}
ColumnLayout {
id: participantAddColumn
anchors.fill: parent
@ -52,6 +36,7 @@ Rectangle {
style: ButtonStyle.noBackground
icon.source: AppIcons.leftArrow
onClicked: {
mainItem.chatGui.core.lSetParticipantsAddresses(manageParticipantsLayout.selectedParticipants)
mainItem.done()
}
}
@ -62,14 +47,6 @@ Rectangle {
font: Typography.h4
Layout.fillWidth: true
}
MediumButton {
id: manageParticipantsApplyButton
//: Apply
text: qsTr("apply_button_text")
onClicked: {
mainItem.chatGui.core.lSetParticipantsAddresses(manageParticipantsLayout.selectedParticipants)
}
}
}
AddParticipantsForm {
id: manageParticipantsLayout

View file

@ -15,13 +15,6 @@ AbstractSettingsLayout {
subTitle: "",
contentComponent: attachedFilesParamComp,
// hideTopMargin: true
},
{
//: Notifications
title: qsTr("settings_chat_notifications_title"),
subTitle: "",
contentComponent: displayNotifParamComp,
// hideTopMargin: true
}
]
@ -35,24 +28,6 @@ AbstractSettingsLayout {
propertyName: "autoDownloadReceivedFiles"
propertyOwner: SettingsCpp
Connections {
target: mainItem
function onSave() {
SettingsCpp.save()
}
}
}
}
Component {
id: displayNotifParamComp
SwitchSetting {
//: "Display notification content"
titleText: qsTr("settings_chat_display_notification_content_title")
//: "Display the content of the received message"
subTitleText: qsTr("settings_chat_display_notification_content_subtitle")
propertyName: "displayNotificationContent"
propertyOwner: SettingsCpp
Connections {
target: mainItem
function onSave() {

View file

@ -321,7 +321,7 @@ AbstractMainPage {
meetingSetup.conferenceInfoGui.core.save()
//: "Création de la réunion en cours "
mainWindow.showLoadingPopup(qsTr("meeting_schedule_creation_in_progress"), true, function () {
meetingSetup.conferenceInfoGui.core.lCancelCreation()
meetingSetup.conferenceInfoGui.core.cancelCreation()
})
}
}

@ -1 +1 @@
Subproject commit 2e6e6b927ce202f6948da02ea33081a52b89bf48
Subproject commit cbf282611d1d39dac1405a5a9388de0e8ee5b9e5