mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Request WhoRead/Reacted only for group leader.
This commit is contained in:
parent
4eefebc96c
commit
480c109b09
1 changed files with 15 additions and 14 deletions
|
@ -2128,21 +2128,30 @@ void HistoryInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) {
|
||||||
isUponSelected = hasSelected;
|
isUponSelected = hasSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto hasWhoReactedItem = _dragStateItem
|
const auto groupLeaderOrSelf = [](HistoryItem *item) -> HistoryItem* {
|
||||||
&& Api::WhoReactedExists(_dragStateItem, Api::WhoReactedList::All);
|
if (!item) {
|
||||||
|
return nullptr;
|
||||||
|
} else if (const auto group = item->history()->owner().groups().find(item)) {
|
||||||
|
return group->items.front();
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
};
|
||||||
|
const auto whoReactedItem = groupLeaderOrSelf(_dragStateItem);
|
||||||
|
const auto hasWhoReactedItem = whoReactedItem
|
||||||
|
&& Api::WhoReactedExists(whoReactedItem, Api::WhoReactedList::All);
|
||||||
const auto clickedReaction = link
|
const auto clickedReaction = link
|
||||||
? link->property(
|
? link->property(
|
||||||
kReactionsCountEmojiProperty).value<Data::ReactionId>()
|
kReactionsCountEmojiProperty).value<Data::ReactionId>()
|
||||||
: Data::ReactionId();
|
: Data::ReactionId();
|
||||||
_whoReactedMenuLifetime.destroy();
|
_whoReactedMenuLifetime.destroy();
|
||||||
if (!clickedReaction.empty()
|
if (!clickedReaction.empty()
|
||||||
&& _dragStateItem
|
&& whoReactedItem
|
||||||
&& Api::WhoReactedExists(_dragStateItem, Api::WhoReactedList::One)) {
|
&& Api::WhoReactedExists(whoReactedItem, Api::WhoReactedList::One)) {
|
||||||
HistoryView::ShowWhoReactedMenu(
|
HistoryView::ShowWhoReactedMenu(
|
||||||
&_menu,
|
&_menu,
|
||||||
e->globalPos(),
|
e->globalPos(),
|
||||||
this,
|
this,
|
||||||
_dragStateItem,
|
whoReactedItem,
|
||||||
clickedReaction,
|
clickedReaction,
|
||||||
_controller,
|
_controller,
|
||||||
_whoReactedMenuLifetime);
|
_whoReactedMenuLifetime);
|
||||||
|
@ -2152,14 +2161,6 @@ void HistoryInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) {
|
||||||
_menu = base::make_unique_q<Ui::PopupMenu>(this, st::popupMenuWithIcons);
|
_menu = base::make_unique_q<Ui::PopupMenu>(this, st::popupMenuWithIcons);
|
||||||
const auto session = &this->session();
|
const auto session = &this->session();
|
||||||
const auto controller = _controller;
|
const auto controller = _controller;
|
||||||
const auto groupLeaderOrSelf = [](HistoryItem *item) -> HistoryItem* {
|
|
||||||
if (!item) {
|
|
||||||
return nullptr;
|
|
||||||
} else if (const auto group = item->history()->owner().groups().find(item)) {
|
|
||||||
return group->items.front();
|
|
||||||
}
|
|
||||||
return item;
|
|
||||||
};
|
|
||||||
const auto addItemActions = [&](
|
const auto addItemActions = [&](
|
||||||
HistoryItem *item,
|
HistoryItem *item,
|
||||||
HistoryItem *albumPartItem) {
|
HistoryItem *albumPartItem) {
|
||||||
|
@ -2630,7 +2631,7 @@ void HistoryInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) {
|
||||||
HistoryView::AddWhoReactedAction(
|
HistoryView::AddWhoReactedAction(
|
||||||
_menu,
|
_menu,
|
||||||
this,
|
this,
|
||||||
_dragStateItem,
|
whoReactedItem,
|
||||||
_controller);
|
_controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue