mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Fix group call create box window.
This commit is contained in:
parent
7828288660
commit
2b21ec3299
3 changed files with 18 additions and 6 deletions
|
@ -202,14 +202,15 @@ void Instance::startOutgoingCall(not_null<UserData*> user, bool video) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Instance::startOrJoinGroupCall(
|
void Instance::startOrJoinGroupCall(
|
||||||
|
std::shared_ptr<Ui::Show> show,
|
||||||
not_null<PeerData*> peer,
|
not_null<PeerData*> peer,
|
||||||
const StartGroupCallArgs &args) {
|
const StartGroupCallArgs &args) {
|
||||||
using JoinConfirm = StartGroupCallArgs::JoinConfirm;
|
using JoinConfirm = StartGroupCallArgs::JoinConfirm;
|
||||||
if (args.rtmpNeeded) {
|
if (args.rtmpNeeded) {
|
||||||
_startWithRtmp->start(peer, [=](object_ptr<Ui::BoxContent> box) {
|
_startWithRtmp->start(peer, [=](object_ptr<Ui::BoxContent> box) {
|
||||||
Ui::show(std::move(box), Ui::LayerOption::KeepOther);
|
show->showBox(std::move(box), Ui::LayerOption::KeepOther);
|
||||||
}, [=](QString text) {
|
}, [=](QString text) {
|
||||||
Ui::Toast::Show(text);
|
Ui::Toast::Show(show->toastParent(), text);
|
||||||
}, [=](Group::JoinInfo info) {
|
}, [=](Group::JoinInfo info) {
|
||||||
createGroupCall(
|
createGroupCall(
|
||||||
std::move(info),
|
std::move(info),
|
||||||
|
@ -225,9 +226,9 @@ void Instance::startOrJoinGroupCall(
|
||||||
? Group::ChooseJoinAsProcess::Context::CreateScheduled
|
? Group::ChooseJoinAsProcess::Context::CreateScheduled
|
||||||
: Group::ChooseJoinAsProcess::Context::Create;
|
: Group::ChooseJoinAsProcess::Context::Create;
|
||||||
_chooseJoinAs->start(peer, context, [=](object_ptr<Ui::BoxContent> box) {
|
_chooseJoinAs->start(peer, context, [=](object_ptr<Ui::BoxContent> box) {
|
||||||
Ui::show(std::move(box), Ui::LayerOption::KeepOther);
|
show->showBox(std::move(box), Ui::LayerOption::KeepOther);
|
||||||
}, [=](QString text) {
|
}, [=](QString text) {
|
||||||
Ui::Toast::Show(text);
|
Ui::Toast::Show(show->toastParent(), text);
|
||||||
}, [=](Group::JoinInfo info) {
|
}, [=](Group::JoinInfo info) {
|
||||||
const auto call = info.peer->groupCall();
|
const auto call = info.peer->groupCall();
|
||||||
info.joinHash = args.joinHash;
|
info.joinHash = args.joinHash;
|
||||||
|
|
|
@ -25,6 +25,10 @@ namespace Main {
|
||||||
class Session;
|
class Session;
|
||||||
} // namespace Main
|
} // namespace Main
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class Show;
|
||||||
|
} // namespace Ui
|
||||||
|
|
||||||
namespace Calls::Group {
|
namespace Calls::Group {
|
||||||
struct JoinInfo;
|
struct JoinInfo;
|
||||||
class Panel;
|
class Panel;
|
||||||
|
@ -64,6 +68,7 @@ public:
|
||||||
|
|
||||||
void startOutgoingCall(not_null<UserData*> user, bool video);
|
void startOutgoingCall(not_null<UserData*> user, bool video);
|
||||||
void startOrJoinGroupCall(
|
void startOrJoinGroupCall(
|
||||||
|
std::shared_ptr<Ui::Show> show,
|
||||||
not_null<PeerData*> peer,
|
not_null<PeerData*> peer,
|
||||||
const StartGroupCallArgs &args);
|
const StartGroupCallArgs &args);
|
||||||
void handleUpdate(
|
void handleUpdate(
|
||||||
|
|
|
@ -1265,7 +1265,10 @@ void SessionController::startOrJoinGroupCall(
|
||||||
if (now == peer) {
|
if (now == peer) {
|
||||||
calls.activateCurrentCall(args.joinHash);
|
calls.activateCurrentCall(args.joinHash);
|
||||||
} else if (calls.currentGroupCall()->scheduleDate()) {
|
} else if (calls.currentGroupCall()->scheduleDate()) {
|
||||||
calls.startOrJoinGroupCall(peer, { args.joinHash });
|
calls.startOrJoinGroupCall(
|
||||||
|
std::make_shared<Show>(this),
|
||||||
|
peer,
|
||||||
|
{args.joinHash});
|
||||||
} else {
|
} else {
|
||||||
askConfirmation(
|
askConfirmation(
|
||||||
((peer->isBroadcast() && now->isBroadcast())
|
((peer->isBroadcast() && now->isBroadcast())
|
||||||
|
@ -1278,7 +1281,10 @@ void SessionController::startOrJoinGroupCall(
|
||||||
tr::lng_group_call_leave(tr::now));
|
tr::lng_group_call_leave(tr::now));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
calls.startOrJoinGroupCall(peer, args);
|
calls.startOrJoinGroupCall(
|
||||||
|
std::make_shared<Show>(this),
|
||||||
|
peer,
|
||||||
|
args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue