fix #LINQT-1512 do not return to conference list when cancel meeting creation
This commit is contained in:
parent
783c0dbfd1
commit
06d00de59b
4 changed files with 26 additions and 17 deletions
|
|
@ -562,7 +562,7 @@ void ConferenceInfoCore::writeIntoModel(std::shared_ptr<ConferenceInfoModel> mod
|
|||
void ConferenceInfoCore::save() {
|
||||
mustBeInMainThread(getClassName() + "::save()");
|
||||
ConferenceInfoCore *thisCopy = new ConferenceInfoCore(*this); // Pointer to avoid multiple copies in lambdas
|
||||
if (mConferenceInfoModel) {
|
||||
if (mConferenceInfoModel && mConferenceInfoModel->getConferenceScheduler()) {
|
||||
mConfInfoModelConnection->invokeToModel([this, thisCopy]() { // Copy values to avoid concurrency
|
||||
mustBeInLinphoneThread(getClassName() + "::save()");
|
||||
thisCopy->writeIntoModel(mConferenceInfoModel);
|
||||
|
|
@ -634,6 +634,12 @@ void ConferenceInfoCore::undo() {
|
|||
}
|
||||
}
|
||||
|
||||
void ConferenceInfoCore::cancelCreation() {
|
||||
if (mConferenceInfoModel) {
|
||||
mConferenceInfoModel->setConferenceScheduler(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
|
||||
void ConferenceInfoCore::onInvitationsSent(const std::list<std::shared_ptr<linphone::Address>> &failedInvitations) {
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ public:
|
|||
|
||||
Q_INVOKABLE void save();
|
||||
Q_INVOKABLE void undo();
|
||||
Q_INVOKABLE void cancelCreation();
|
||||
|
||||
virtual void onInvitationsSent(const std::list<std::shared_ptr<linphone::Address>> &failedInvitations);
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ void ConferenceInfoModel::setConferenceScheduler(const std::shared_ptr<Conferenc
|
|||
mConferenceSchedulerModel->removeListener();
|
||||
}
|
||||
mConferenceSchedulerModel = model;
|
||||
if (mConferenceSchedulerModel) {
|
||||
connect(mConferenceSchedulerModel.get(), &ConferenceSchedulerModel::stateChanged,
|
||||
[this](linphone::ConferenceScheduler::State state) {
|
||||
if (mConferenceSchedulerModel->getConferenceInfo())
|
||||
|
|
@ -74,6 +75,7 @@ void ConferenceInfoModel::setConferenceScheduler(const std::shared_ptr<Conferenc
|
|||
mConferenceSchedulerModel->setSelf(mConferenceSchedulerModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QDateTime ConferenceInfoModel::getDateTime() const {
|
||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ AbstractMainPage {
|
|||
} else {
|
||||
meetingSetup.conferenceInfoGui.core.save()
|
||||
mainWindow.showLoadingPopup(qsTr("Création de la réunion en cours ..."), true, function () {
|
||||
leftPanelStackView.pop()
|
||||
meetingSetup.conferenceInfoGui.core.cancelCreation()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue