Provided Ui::Show to Calls::TopBar.

This commit is contained in:
23rd 2022-06-14 14:20:38 +03:00
parent 236b7bbf28
commit 29910cd1f7
3 changed files with 35 additions and 15 deletions

View file

@ -227,23 +227,27 @@ private:
TopBar::TopBar( TopBar::TopBar(
QWidget *parent, QWidget *parent,
const base::weak_ptr<Call> &call) const base::weak_ptr<Call> &call,
: TopBar(parent, call, nullptr) { std::shared_ptr<Ui::Show> show)
: TopBar(parent, show, call, nullptr) {
} }
TopBar::TopBar( TopBar::TopBar(
QWidget *parent, QWidget *parent,
const base::weak_ptr<GroupCall> &call) const base::weak_ptr<GroupCall> &call,
: TopBar(parent, nullptr, call) { std::shared_ptr<Ui::Show> show)
: TopBar(parent, show, nullptr, call) {
} }
TopBar::TopBar( TopBar::TopBar(
QWidget *parent, QWidget *parent,
std::shared_ptr<Ui::Show> show,
const base::weak_ptr<Call> &call, const base::weak_ptr<Call> &call,
const base::weak_ptr<GroupCall> &groupCall) const base::weak_ptr<GroupCall> &groupCall)
: RpWidget(parent) : RpWidget(parent)
, _call(call) , _call(call)
, _groupCall(groupCall) , _groupCall(groupCall)
, _show(show)
, _userpics(call , _userpics(call
? nullptr ? nullptr
: std::make_unique<Ui::GroupCallUserpics>( : std::make_unique<Ui::GroupCallUserpics>(
@ -279,7 +283,9 @@ void TopBar::initControls() {
call->setMuted(!call->muted()); call->setMuted(!call->muted());
} else if (const auto group = _groupCall.get()) { } else if (const auto group = _groupCall.get()) {
if (group->mutedByAdmin()) { if (group->mutedByAdmin()) {
Ui::Toast::Show(tr::lng_group_call_force_muted_sub(tr::now)); Ui::Toast::Show(
_show->toastParent(),
tr::lng_group_call_force_muted_sub(tr::now));
} else { } else {
group->setMuted((group->muted() == MuteState::Muted) group->setMuted((group->muted() == MuteState::Muted)
? MuteState::Active ? MuteState::Active
@ -394,7 +400,9 @@ void TopBar::initControls() {
if (const auto call = _call.get()) { if (const auto call = _call.get()) {
if (Logs::DebugEnabled() if (Logs::DebugEnabled()
&& (_info->clickModifiers() & Qt::ControlModifier)) { && (_info->clickModifiers() & Qt::ControlModifier)) {
Ui::show(Box<DebugInfoBox>(_call)); _show->showBox(
Box<DebugInfoBox>(_call),
Ui::LayerOption::CloseOther);
} else { } else {
Core::App().calls().showInfoPanel(call); Core::App().calls().showInfoPanel(call);
} }
@ -409,11 +417,13 @@ void TopBar::initControls() {
if (!group->peer()->canManageGroupCall()) { if (!group->peer()->canManageGroupCall()) {
group->hangup(); group->hangup();
} else { } else {
Ui::show(Box( _show->showBox(
Group::LeaveBox, Box(
group, Group::LeaveBox,
false, group,
Group::BoxContext::MainWindow)); false,
Group::BoxContext::MainWindow),
Ui::LayerOption::CloseOther);
} }
} }
}); });

View file

@ -22,6 +22,7 @@ class LabelSimple;
class FlatLabel; class FlatLabel;
struct GroupCallUser; struct GroupCallUser;
class GroupCallUserpics; class GroupCallUserpics;
class Show;
} // namespace Ui } // namespace Ui
namespace Main { namespace Main {
@ -39,8 +40,14 @@ enum class BarState;
class TopBar : public Ui::RpWidget { class TopBar : public Ui::RpWidget {
public: public:
TopBar(QWidget *parent, const base::weak_ptr<Call> &call); TopBar(
TopBar(QWidget *parent, const base::weak_ptr<GroupCall> &call); QWidget *parent,
const base::weak_ptr<Call> &call,
std::shared_ptr<Ui::Show> show);
TopBar(
QWidget *parent,
const base::weak_ptr<GroupCall> &call,
std::shared_ptr<Ui::Show> show);
~TopBar(); ~TopBar();
void initBlobsUnder( void initBlobsUnder(
@ -56,6 +63,7 @@ private:
TopBar( TopBar(
QWidget *parent, QWidget *parent,
std::shared_ptr<Ui::Show> show,
const base::weak_ptr<Call> &call, const base::weak_ptr<Call> &call,
const base::weak_ptr<GroupCall> &groupCall); const base::weak_ptr<GroupCall> &groupCall);
@ -72,6 +80,7 @@ private:
const base::weak_ptr<Call> _call; const base::weak_ptr<Call> _call;
const base::weak_ptr<GroupCall> _groupCall; const base::weak_ptr<GroupCall> _groupCall;
const std::shared_ptr<Ui::Show> _show;
bool _muted = false; bool _muted = false;
std::vector<Ui::GroupCallUser> _users; std::vector<Ui::GroupCallUser> _users;

View file

@ -962,11 +962,12 @@ void MainWidget::setCurrentGroupCall(Calls::GroupCall *call) {
void MainWidget::createCallTopBar() { void MainWidget::createCallTopBar() {
Expects(_currentCall != nullptr || _currentGroupCall != nullptr); Expects(_currentCall != nullptr || _currentGroupCall != nullptr);
const auto show = std::make_shared<Window::Show>(controller());
_callTopBar.create( _callTopBar.create(
this, this,
(_currentCall (_currentCall
? object_ptr<Calls::TopBar>(this, _currentCall) ? object_ptr<Calls::TopBar>(this, _currentCall, show)
: object_ptr<Calls::TopBar>(this, _currentGroupCall))); : object_ptr<Calls::TopBar>(this, _currentGroupCall, show)));
_callTopBar->entity()->initBlobsUnder(this, _callTopBar->geometryValue()); _callTopBar->entity()->initBlobsUnder(this, _callTopBar->geometryValue());
_callTopBar->heightValue( _callTopBar->heightValue(
) | rpl::start_with_next([this](int value) { ) | rpl::start_with_next([this](int value) {