mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Don't show important tooltips above layers.
This commit is contained in:
parent
abbac61702
commit
d00226d51e
2 changed files with 33 additions and 11 deletions
|
@ -312,7 +312,7 @@ void Panel::endCall() {
|
||||||
_call->hangup();
|
_call->hangup();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
_layerBg->showBox(Box(
|
showBox(Box(
|
||||||
LeaveBox,
|
LeaveBox,
|
||||||
_call,
|
_call,
|
||||||
false,
|
false,
|
||||||
|
@ -342,7 +342,7 @@ void Panel::startScheduledNow() {
|
||||||
.callback = done,
|
.callback = done,
|
||||||
});
|
});
|
||||||
*box = owned.data();
|
*box = owned.data();
|
||||||
_layerBg->showBox(std::move(owned));
|
showBox(std::move(owned));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -459,7 +459,7 @@ void Panel::refreshLeftButton() {
|
||||||
_callShare.destroy();
|
_callShare.destroy();
|
||||||
_settings.create(widget(), st::groupCallSettings);
|
_settings.create(widget(), st::groupCallSettings);
|
||||||
_settings->setClickedCallback([=] {
|
_settings->setClickedCallback([=] {
|
||||||
_layerBg->showBox(Box(SettingsBox, _call));
|
showBox(Box(SettingsBox, _call));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const auto raw = _callShare ? _callShare.data() : _settings.data();
|
const auto raw = _callShare ? _callShare.data() : _settings.data();
|
||||||
|
@ -584,7 +584,7 @@ void Panel::hideNiceTooltip() {
|
||||||
|
|
||||||
void Panel::initShareAction() {
|
void Panel::initShareAction() {
|
||||||
const auto showBoxCallback = [=](object_ptr<Ui::BoxContent> next) {
|
const auto showBoxCallback = [=](object_ptr<Ui::BoxContent> next) {
|
||||||
_layerBg->showBox(std::move(next));
|
showBox(std::move(next));
|
||||||
};
|
};
|
||||||
const auto showToastCallback = [=](QString text) {
|
const auto showToastCallback = [=](QString text) {
|
||||||
showToast({ text });
|
showToast({ text });
|
||||||
|
@ -1138,7 +1138,7 @@ void Panel::refreshTopButton() {
|
||||||
|
|
||||||
void Panel::screenSharingPrivacyRequest() {
|
void Panel::screenSharingPrivacyRequest() {
|
||||||
if (auto box = ScreenSharingPrivacyRequestBox()) {
|
if (auto box = ScreenSharingPrivacyRequestBox()) {
|
||||||
_layerBg->showBox(std::move(box));
|
showBox(std::move(box));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1188,7 +1188,7 @@ void Panel::chooseShareScreenSource() {
|
||||||
.callback = done,
|
.callback = done,
|
||||||
});
|
});
|
||||||
*shared = box.data();
|
*shared = box.data();
|
||||||
_layerBg->showBox(std::move(box));
|
showBox(std::move(box));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panel::chooseJoinAs() {
|
void Panel::chooseJoinAs() {
|
||||||
|
@ -1197,7 +1197,7 @@ void Panel::chooseJoinAs() {
|
||||||
_call->rejoinAs(info);
|
_call->rejoinAs(info);
|
||||||
};
|
};
|
||||||
const auto showBoxCallback = [=](object_ptr<Ui::BoxContent> next) {
|
const auto showBoxCallback = [=](object_ptr<Ui::BoxContent> next) {
|
||||||
_layerBg->showBox(std::move(next));
|
showBox(std::move(next));
|
||||||
};
|
};
|
||||||
const auto showToastCallback = [=](QString text) {
|
const auto showToastCallback = [=](QString text) {
|
||||||
showToast({ text });
|
showToast({ text });
|
||||||
|
@ -1227,7 +1227,7 @@ void Panel::showMainMenu() {
|
||||||
wide,
|
wide,
|
||||||
[=] { chooseJoinAs(); },
|
[=] { chooseJoinAs(); },
|
||||||
[=] { chooseShareScreenSource(); },
|
[=] { chooseShareScreenSource(); },
|
||||||
[=](auto box) { _layerBg->showBox(std::move(box)); });
|
[=](auto box) { showBox(std::move(box)); });
|
||||||
if (_menu->empty()) {
|
if (_menu->empty()) {
|
||||||
_wideMenuShown = false;
|
_wideMenuShown = false;
|
||||||
_menu.destroy();
|
_menu.destroy();
|
||||||
|
@ -1292,12 +1292,12 @@ void Panel::addMembers() {
|
||||||
showToast(std::move(text));
|
showToast(std::move(text));
|
||||||
};
|
};
|
||||||
if (auto box = PrepareInviteBox(_call, showToastCallback)) {
|
if (auto box = PrepareInviteBox(_call, showToastCallback)) {
|
||||||
_layerBg->showBox(std::move(box));
|
showBox(std::move(box));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panel::kickParticipant(not_null<PeerData*> participantPeer) {
|
void Panel::kickParticipant(not_null<PeerData*> participantPeer) {
|
||||||
_layerBg->showBox(Box([=](not_null<Ui::GenericBox*> box) {
|
showBox(Box([=](not_null<Ui::GenericBox*> box) {
|
||||||
box->addRow(
|
box->addRow(
|
||||||
object_ptr<Ui::FlatLabel>(
|
object_ptr<Ui::FlatLabel>(
|
||||||
box.get(),
|
box.get(),
|
||||||
|
@ -1328,6 +1328,18 @@ void Panel::kickParticipant(not_null<PeerData*> participantPeer) {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Panel::showBox(object_ptr<Ui::BoxContent> box) {
|
||||||
|
showBox(std::move(box), Ui::LayerOption::KeepOther, anim::type::normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Panel::showBox(
|
||||||
|
object_ptr<Ui::BoxContent> box,
|
||||||
|
Ui::LayerOptions options,
|
||||||
|
anim::type animated) {
|
||||||
|
hideStickedTooltip(StickedTooltipHide::Unavailable);
|
||||||
|
_layerBg->showBox(std::move(box), options, animated);
|
||||||
|
}
|
||||||
|
|
||||||
void Panel::kickParticipantSure(not_null<PeerData*> participantPeer) {
|
void Panel::kickParticipantSure(not_null<PeerData*> participantPeer) {
|
||||||
if (const auto chat = _peer->asChat()) {
|
if (const auto chat = _peer->asChat()) {
|
||||||
chat->session().api().kickParticipant(chat, participantPeer);
|
chat->session().api().kickParticipant(chat, participantPeer);
|
||||||
|
@ -1666,7 +1678,8 @@ void Panel::showStickedTooltip() {
|
||||||
if (!(_stickedTooltipsShown & StickedTooltip::Microphone)
|
if (!(_stickedTooltipsShown & StickedTooltip::Microphone)
|
||||||
&& callReady
|
&& callReady
|
||||||
&& _mute
|
&& _mute
|
||||||
&& !_call->mutedByAdmin()) {
|
&& !_call->mutedByAdmin()
|
||||||
|
&& !_layerBg->topShownLayer()) {
|
||||||
if (_stickedTooltipClose) {
|
if (_stickedTooltipClose) {
|
||||||
// Showing already.
|
// Showing already.
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
#include "base/weak_ptr.h"
|
#include "base/weak_ptr.h"
|
||||||
#include "base/timer.h"
|
#include "base/timer.h"
|
||||||
|
#include "base/flags.h"
|
||||||
#include "base/object_ptr.h"
|
#include "base/object_ptr.h"
|
||||||
#include "calls/group/calls_group_call.h"
|
#include "calls/group/calls_group_call.h"
|
||||||
#include "calls/group/calls_group_common.h"
|
#include "calls/group/calls_group_common.h"
|
||||||
|
@ -27,6 +28,9 @@ class GroupCall;
|
||||||
} // namespace Data
|
} // namespace Data
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
|
class BoxContent;
|
||||||
|
enum class LayerOption;
|
||||||
|
using LayerOptions = base::flags<LayerOption>;
|
||||||
class AbstractButton;
|
class AbstractButton;
|
||||||
class ImportantTooltip;
|
class ImportantTooltip;
|
||||||
class DropdownMenu;
|
class DropdownMenu;
|
||||||
|
@ -74,6 +78,11 @@ public:
|
||||||
[[nodiscard]] bool isActive() const;
|
[[nodiscard]] bool isActive() const;
|
||||||
|
|
||||||
void showToast(TextWithEntities &&text, crl::time duration = 0);
|
void showToast(TextWithEntities &&text, crl::time duration = 0);
|
||||||
|
void showBox(object_ptr<Ui::BoxContent> box);
|
||||||
|
void showBox(
|
||||||
|
object_ptr<Ui::BoxContent> box,
|
||||||
|
Ui::LayerOptions options,
|
||||||
|
anim::type animated = anim::type::normal);
|
||||||
|
|
||||||
void minimize();
|
void minimize();
|
||||||
void close();
|
void close();
|
||||||
|
|
Loading…
Add table
Reference in a new issue