mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-03 21:54:05 +02:00
Simplified signature of ResolveQuickDialogLottieIconName.
This commit is contained in:
parent
efc7cc4980
commit
47506d70ed
3 changed files with 32 additions and 36 deletions
|
@ -1944,13 +1944,14 @@ bool InnerWidget::addQuickActionRipple(
|
|||
if (!history) {
|
||||
return false;
|
||||
}
|
||||
const auto type = ResolveQuickDialogLabel(history, action, _filterId);
|
||||
if (type == Dialogs::Ui::QuickDialogActionLabel::Disabled) {
|
||||
return false;
|
||||
}
|
||||
const auto key = history->peer->id.value;
|
||||
const auto context = ensureQuickAction(key);
|
||||
|
||||
auto name = ResolveQuickDialogLottieIconName(
|
||||
history->peer,
|
||||
action,
|
||||
_filterId);
|
||||
auto name = ResolveQuickDialogLottieIconName(type);
|
||||
context->icon = Lottie::MakeIcon({
|
||||
.name = std::move(name),
|
||||
.sizeOverride = Size(st::dialogsQuickActionSize),
|
||||
|
@ -5156,8 +5157,11 @@ void InnerWidget::prepareQuickAction(
|
|||
Expects(key != 0);
|
||||
|
||||
const auto context = ensureQuickAction(key);
|
||||
const auto peer = session().data().peer(PeerId(key));
|
||||
auto name = ResolveQuickDialogLottieIconName(peer, action, _filterId);
|
||||
auto name = ResolveQuickDialogLottieIconName(
|
||||
ResolveQuickDialogLabel(
|
||||
session().data().history(PeerId(key)),
|
||||
action,
|
||||
_filterId));
|
||||
context->icon = Lottie::MakeIcon({
|
||||
.name = std::move(name),
|
||||
.sizeOverride = Size(st::dialogsQuickActionSize),
|
||||
|
|
|
@ -95,35 +95,29 @@ void PerformQuickDialogAction(
|
|||
}
|
||||
}
|
||||
|
||||
QString ResolveQuickDialogLottieIconName(
|
||||
not_null<PeerData*> peer,
|
||||
Ui::QuickDialogAction action,
|
||||
FilterId filterId) {
|
||||
if (action == Dialogs::Ui::QuickDialogAction::Mute) {
|
||||
const auto history = peer->owner().history(peer);
|
||||
const auto isMuted = rpl::variable<bool>(
|
||||
MuteMenu::ThreadDescriptor(history).isMutedValue()).current();
|
||||
return isMuted ? u"swipe_unmute"_q : u"swipe_mute"_q;
|
||||
} else if (action == Dialogs::Ui::QuickDialogAction::Pin) {
|
||||
const auto history = peer->owner().history(peer);
|
||||
const auto entry = (Dialogs::Entry*)(history);
|
||||
return entry->isPinnedDialog(filterId)
|
||||
? u"swipe_unpin"_q
|
||||
: u"swipe_pin"_q;
|
||||
} else if (action == Dialogs::Ui::QuickDialogAction::Read) {
|
||||
const auto history = peer->owner().history(peer);
|
||||
return Window::IsUnreadThread(history)
|
||||
? u"swipe_read"_q
|
||||
: u"swipe_unread"_q;
|
||||
} else if (action == Dialogs::Ui::QuickDialogAction::Archive) {
|
||||
const auto history = peer->owner().history(peer);
|
||||
return Window::IsArchived(history)
|
||||
? u"swipe_unarchive"_q
|
||||
: u"swipe_archive"_q;
|
||||
} else if (action == Dialogs::Ui::QuickDialogAction::Delete) {
|
||||
QString ResolveQuickDialogLottieIconName(Ui::QuickDialogActionLabel action) {
|
||||
switch (action) {
|
||||
case Ui::QuickDialogActionLabel::Mute:
|
||||
return u"swipe_mute"_q;
|
||||
case Ui::QuickDialogActionLabel::Unmute:
|
||||
return u"swipe_unmute"_q;
|
||||
case Ui::QuickDialogActionLabel::Pin:
|
||||
return u"swipe_pin"_q;
|
||||
case Ui::QuickDialogActionLabel::Unpin:
|
||||
return u"swipe_unpin"_q;
|
||||
case Ui::QuickDialogActionLabel::Read:
|
||||
return u"swipe_read"_q;
|
||||
case Ui::QuickDialogActionLabel::Unread:
|
||||
return u"swipe_unread"_q;
|
||||
case Ui::QuickDialogActionLabel::Archive:
|
||||
return u"swipe_archive"_q;
|
||||
case Ui::QuickDialogActionLabel::Unarchive:
|
||||
return u"swipe_unarchive"_q;
|
||||
case Ui::QuickDialogActionLabel::Delete:
|
||||
return u"swipe_delete"_q;
|
||||
default:
|
||||
return u"swipe_disabled"_q;
|
||||
}
|
||||
return u"swipe_disabled"_q;
|
||||
}
|
||||
|
||||
Ui::QuickDialogActionLabel ResolveQuickDialogLabel(
|
||||
|
|
|
@ -32,9 +32,7 @@ void PerformQuickDialogAction(
|
|||
FilterId filterId);
|
||||
|
||||
[[nodiscard]] QString ResolveQuickDialogLottieIconName(
|
||||
not_null<PeerData*> peer,
|
||||
Ui::QuickDialogAction action,
|
||||
FilterId filterId);
|
||||
Ui::QuickDialogActionLabel action);
|
||||
|
||||
[[nodiscard]] Ui::QuickDialogActionLabel ResolveQuickDialogLabel(
|
||||
not_null<History*> history,
|
||||
|
|
Loading…
Add table
Reference in a new issue