mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 14:17:12 +02:00
Added ability to open menu for sponsored messages without history item.
This commit is contained in:
parent
304bcfd343
commit
2db30690ce
4 changed files with 13 additions and 18 deletions
|
@ -409,7 +409,7 @@ ClickHandlerPtr ReportSponsoredClickHandler(not_null<HistoryItem*> item) {
|
|||
Menu::ShowSponsored(
|
||||
controller->widget(),
|
||||
controller->uiShow(),
|
||||
item);
|
||||
item->fullId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1574,7 +1574,8 @@ void OverlayWidget::fillContextMenuActions(
|
|||
if (_message && _message->isSponsored()) {
|
||||
if (const auto window = findWindow()) {
|
||||
const auto show = window->uiShow();
|
||||
Menu::FillSponsored(_body, addAction, show, _message, true);
|
||||
const auto fullId = _message->fullId();
|
||||
Menu::FillSponsored(_body, addAction, show, fullId, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -218,10 +218,8 @@ void AboutBox(
|
|||
|
||||
void ShowReportSponsoredBox(
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<HistoryItem*> item) {
|
||||
const auto peer = item->history()->peer;
|
||||
auto &sponsoredMessages = peer->session().sponsoredMessages();
|
||||
const auto fullId = item->fullId();
|
||||
const FullMsgId &fullId) {
|
||||
auto &sponsoredMessages = show->session().sponsoredMessages();
|
||||
const auto report = sponsoredMessages.createReportCallback(fullId);
|
||||
const auto guideLink = Ui::Text::Link(
|
||||
tr::lng_report_sponsored_reported_link(tr::now),
|
||||
|
@ -306,18 +304,16 @@ void FillSponsored(
|
|||
not_null<Ui::RpWidget*> parent,
|
||||
const Ui::Menu::MenuCallback &addAction,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<HistoryItem*> item,
|
||||
const FullMsgId &fullId,
|
||||
bool mediaViewer) {
|
||||
Expects(item->isSponsored());
|
||||
|
||||
const auto session = &item->history()->session();
|
||||
const auto session = &show->session();
|
||||
|
||||
addAction(tr::lng_sponsored_menu_revenued_about(tr::now), [=] {
|
||||
show->show(Box(AboutBox, show));
|
||||
}, (mediaViewer ? &st::mediaMenuIconInfo : &st::menuIconInfo));
|
||||
|
||||
addAction(tr::lng_sponsored_menu_revenued_report(tr::now), [=] {
|
||||
ShowReportSponsoredBox(show, item);
|
||||
ShowReportSponsoredBox(show, fullId);
|
||||
}, (mediaViewer ? &st::mediaMenuIconBlock : &st::menuIconBlock));
|
||||
|
||||
addAction({
|
||||
|
@ -331,7 +327,7 @@ void FillSponsored(
|
|||
if (session->premium()) {
|
||||
using Result = Data::SponsoredReportResult;
|
||||
session->sponsoredMessages().createReportCallback(
|
||||
item->fullId())(Result::Id("-1"), [](const auto &) {});
|
||||
fullId)(Result::Id("-1"), [](const auto &) {});
|
||||
} else {
|
||||
ShowPremiumPreviewBox(show, PremiumFeature::NoAds);
|
||||
}
|
||||
|
@ -341,9 +337,7 @@ void FillSponsored(
|
|||
void ShowSponsored(
|
||||
not_null<Ui::RpWidget*> parent,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<HistoryItem*> item) {
|
||||
Expects(item->isSponsored());
|
||||
|
||||
const FullMsgId &fullId) {
|
||||
const auto menu = Ui::CreateChild<Ui::PopupMenu>(
|
||||
parent.get(),
|
||||
st::popupMenuWithIcons);
|
||||
|
@ -352,7 +346,7 @@ void ShowSponsored(
|
|||
parent,
|
||||
Ui::Menu::CreateAddActionCallback(menu),
|
||||
show,
|
||||
item,
|
||||
fullId,
|
||||
false);
|
||||
|
||||
menu->popup(QCursor::pos());
|
||||
|
|
|
@ -26,13 +26,13 @@ void FillSponsored(
|
|||
not_null<Ui::RpWidget*> parent,
|
||||
const Ui::Menu::MenuCallback &addAction,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<HistoryItem*> item,
|
||||
const FullMsgId &fullId,
|
||||
bool mediaViewer);
|
||||
|
||||
void ShowSponsored(
|
||||
not_null<Ui::RpWidget*> parent,
|
||||
std::shared_ptr<ChatHelpers::Show> show,
|
||||
not_null<HistoryItem*> item);
|
||||
const FullMsgId &fullId);
|
||||
|
||||
void ShowSponsoredAbout(std::shared_ptr<ChatHelpers::Show> show);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue