diff --git a/Telegram/SourceFiles/boxes/edit_privacy_box.cpp b/Telegram/SourceFiles/boxes/edit_privacy_box.cpp index 7800e277e..c8536d944 100644 --- a/Telegram/SourceFiles/boxes/edit_privacy_box.cpp +++ b/Telegram/SourceFiles/boxes/edit_privacy_box.cpp @@ -763,9 +763,6 @@ void EditMessagesPrivacyBox( lt_link, link, Ui::Text::WithEntities), - .st = &st::defaultMultilineToast, - .duration = Ui::Toast::kDefaultDuration * 2, - .multiline = true, .filter = crl::guard(&controller->session(), [=]( const ClickHandlerPtr &, Qt::MouseButton button) { diff --git a/Telegram/SourceFiles/boxes/gift_premium_box.cpp b/Telegram/SourceFiles/boxes/gift_premium_box.cpp index d478a7c6e..d41472c78 100644 --- a/Telegram/SourceFiles/boxes/gift_premium_box.cpp +++ b/Telegram/SourceFiles/boxes/gift_premium_box.cpp @@ -932,8 +932,8 @@ void ShowAlreadyPremiumToast( Ui::Text::Link( Ui::Text::Bold(tr::lng_gift_link_already_link(tr::now))), Ui::Text::WithEntities), - .duration = 6 * crl::time(1000), .filter = crl::guard(navigation, shareLink), + .duration = 6 * crl::time(1000), }); } diff --git a/Telegram/SourceFiles/calls/calls_panel.cpp b/Telegram/SourceFiles/calls/calls_panel.cpp index 6a816af96..1a442cfc2 100644 --- a/Telegram/SourceFiles/calls/calls_panel.cpp +++ b/Telegram/SourceFiles/calls/calls_panel.cpp @@ -554,7 +554,6 @@ void Panel::reinitWithCall(Call *call) { Ui::Toast::Show(widget(), Ui::Toast::Config{ .text = { text }, .st = &st::callErrorToast, - .multiline = true, }); }, _callLifetime); diff --git a/Telegram/SourceFiles/chat_helpers/message_field.cpp b/Telegram/SourceFiles/chat_helpers/message_field.cpp index b77fe3e3c..b3c53942d 100644 --- a/Telegram/SourceFiles/chat_helpers/message_field.cpp +++ b/Telegram/SourceFiles/chat_helpers/message_field.cpp @@ -1126,10 +1126,8 @@ base::unique_qptr CreateDisabledFieldView( : list.back(); *toast = Ui::Toast::Show(parent, { .text = { tr::lng_send_text_no_about(tr::now, lt_types, types) }, - .st = &st::defaultMultilineToast, + .attach = RectPart::Bottom, .duration = kTypesDuration, - .multiline = true, - .slideSide = RectPart::Bottom, }); }); return result; diff --git a/Telegram/SourceFiles/data/data_media_types.cpp b/Telegram/SourceFiles/data/data_media_types.cpp index 70d29f28a..5a4a7d799 100644 --- a/Telegram/SourceFiles/data/data_media_types.cpp +++ b/Telegram/SourceFiles/data/data_media_types.cpp @@ -2266,7 +2266,6 @@ ClickHandlerPtr MediaDice::MakeHandler( .text = { tr::lng_about_random(tr::now, lt_emoji, emoji) }, .st = &st::historyDiceToast, .duration = Ui::Toast::kDefaultDuration * 2, - .multiline = true, }; if (CanSend(history->peer, ChatRestriction::SendOther)) { auto link = Ui::Text::Link(tr::lng_about_random_send(tr::now)); @@ -2295,7 +2294,7 @@ ClickHandlerPtr MediaDice::MakeHandler( if (const auto strong = weak.get()) { ShownToast = strong->showToast(std::move(config)); } else { - ShownToast = Ui::Toast::Show(config); + ShownToast = Ui::Toast::Show(std::move(config)); } }); } diff --git a/Telegram/SourceFiles/data/stickers/data_stickers.cpp b/Telegram/SourceFiles/data/stickers/data_stickers.cpp index 8000355c2..4133af7b6 100644 --- a/Telegram/SourceFiles/data/stickers/data_stickers.cpp +++ b/Telegram/SourceFiles/data/stickers/data_stickers.cpp @@ -96,8 +96,8 @@ void MaybeShowPremiumToast( }; show->showToast({ .text = std::move(text), - .duration = kPremiumToastDuration, .filter = filter, + .duration = kPremiumToastDuration, }); } @@ -398,7 +398,6 @@ void Stickers::applyArchivedResult( Ui::Toast::Show(Ui::Toast::Config{ .text = { tr::lng_stickers_packs_archived(tr::now) }, .st = &st::stickersToast, - .multiline = true, }); //Ui::show( // Box(archived, &session()), diff --git a/Telegram/SourceFiles/history/history_item_helpers.cpp b/Telegram/SourceFiles/history/history_item_helpers.cpp index 30303e5f8..463f70952 100644 --- a/Telegram/SourceFiles/history/history_item_helpers.cpp +++ b/Telegram/SourceFiles/history/history_item_helpers.cpp @@ -840,8 +840,8 @@ void ShowTrialTranscribesToast(int left, TimeId until) { Ui::Text::WithEntities); window->uiShow()->showToast(Ui::Toast::Config{ .text = text, - .duration = kToastDuration, .filter = filter, + .duration = kToastDuration, }); } diff --git a/Telegram/SourceFiles/history/history_view_top_toast.cpp b/Telegram/SourceFiles/history/history_view_top_toast.cpp index 155f13996..7736f971d 100644 --- a/Telegram/SourceFiles/history/history_view_top_toast.cpp +++ b/Telegram/SourceFiles/history/history_view_top_toast.cpp @@ -40,12 +40,10 @@ void InfoTooltip::show( hide(anim::type::normal); _topToast = Ui::Toast::Show(parent, Ui::Toast::Config{ .text = text, - .st = &st::historyInfoToast, - .duration = CountToastDuration(text), - .multiline = true, - .dark = true, - .slideSide = RectPart::Top, .textContext = context, + .st = &st::historyInfoToast, + .attach = RectPart::Top, + .duration = CountToastDuration(text), }); if (const auto strong = _topToast.get()) { if (hiddenCallback) { diff --git a/Telegram/SourceFiles/history/view/history_view_paid_reaction_toast.cpp b/Telegram/SourceFiles/history/view/history_view_paid_reaction_toast.cpp index a4125a076..dcdf512ab 100644 --- a/Telegram/SourceFiles/history/view/history_view_paid_reaction_toast.cpp +++ b/Telegram/SourceFiles/history/view/history_view_paid_reaction_toast.cpp @@ -115,16 +115,14 @@ void PaidReactionToast::showFor( _weak = Ui::Toast::Show(_parent, Ui::Toast::Config{ .text = text, .st = &_st, - .duration = -1, - .multiline = true, - .dark = true, - .slideSide = RectPart::Top, + .attach = RectPart::Top, + .acceptinput = true, + .infinite = true, }); const auto strong = _weak.get(); if (!strong) { return; } - strong->setInputUsed(true); const auto widget = strong->widget(); const auto hideToast = [weak = _weak] { if (const auto strong = weak.get()) { @@ -188,9 +186,10 @@ void PaidReactionToast::setupLottiePreview( const auto bytes = document->createMediaView()->bytes(); const auto filepath = document->filepath(); + const auto ratio = style::DevicePixelRatio(); const auto player = widget->lifetime().make_state( Lottie::ReadContent(bytes, filepath), - Lottie::FrameRequest{ QSize(size, size) }, + Lottie::FrameRequest{ QSize(size, size) * ratio }, Lottie::Quality::Default); widget->paintRequest( @@ -200,7 +199,7 @@ void PaidReactionToast::setupLottiePreview( } const auto image = player->frame(); QPainter(widget).drawImage( - QRect(QPoint(), image.size() / image.devicePixelRatio()), + QRect(QPoint(), image.size() / ratio), image); if (player->frameIndex() + 1 != player->framesCount()) { player->markFrameShown(); diff --git a/Telegram/SourceFiles/history/view/history_view_sticker_toast.cpp b/Telegram/SourceFiles/history/view/history_view_sticker_toast.cpp index fc4f41b73..bf8dc8e3a 100644 --- a/Telegram/SourceFiles/history/view/history_view_sticker_toast.cpp +++ b/Telegram/SourceFiles/history/view/history_view_sticker_toast.cpp @@ -165,16 +165,14 @@ void StickerToast::showWithTitle(const QString &title) { _weak = Ui::Toast::Show(_parent, Ui::Toast::Config{ .text = text, .st = &_st, + .attach = RectPart::Bottom, + .acceptinput = true, .duration = kPremiumToastDuration, - .multiline = true, - .dark = true, - .slideSide = RectPart::Bottom, }); const auto strong = _weak.get(); if (!strong) { return; } - strong->setInputUsed(true); const auto widget = strong->widget(); const auto hideToast = [weak = _weak] { if (const auto strong = weak.get()) { @@ -325,9 +323,10 @@ void StickerToast::setupLottiePreview(not_null widget, int size) const auto bytes = _for->createMediaView()->bytes(); const auto filepath = _for->filepath(); + const auto ratio = style::DevicePixelRatio(); const auto player = widget->lifetime().make_state( Lottie::ReadContent(bytes, filepath), - Lottie::FrameRequest{ QSize(size, size) }, + Lottie::FrameRequest{ QSize(size, size) * ratio }, Lottie::Quality::Default); widget->paintRequest( @@ -337,7 +336,7 @@ void StickerToast::setupLottiePreview(not_null widget, int size) } const auto image = player->frame(); QPainter(widget).drawImage( - QRect(QPoint(), image.size() / image.devicePixelRatio()), + QRect(QPoint(), image.size() / ratio), image); player->markFrameShown(); }, widget->lifetime()); diff --git a/Telegram/SourceFiles/history/view/history_view_translate_bar.cpp b/Telegram/SourceFiles/history/view/history_view_translate_bar.cpp index 92b4a4744..bf3268ba3 100644 --- a/Telegram/SourceFiles/history/view/history_view_translate_bar.cpp +++ b/Telegram/SourceFiles/history/view/history_view_translate_bar.cpp @@ -524,16 +524,14 @@ void TranslateBar::showToast( const auto weak = Ui::Toast::Show(_wrap.window(), Ui::Toast::Config{ .text = std::move(text), .st = st.get(), + .attach = RectPart::Bottom, + .acceptinput = true, .duration = kToastDuration, - .multiline = true, - .dark = true, - .slideSide = RectPart::Bottom, }); const auto strong = weak.get(); if (!strong) { return; } - strong->setInputUsed(true); const auto widget = strong->widget(); widget->lifetime().add([st] {}); const auto hideToast = [weak] { diff --git a/Telegram/SourceFiles/history/view/media/history_view_userpic_suggestion.cpp b/Telegram/SourceFiles/history/view/media/history_view_userpic_suggestion.cpp index 79e42f482..22cdd47ac 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_userpic_suggestion.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_userpic_suggestion.cpp @@ -146,10 +146,8 @@ void ShowSetToast( const auto weak = controller->showToast({ .text = text, .st = st.get(), + .attach = RectPart::Bottom, .duration = kToastDuration, - .multiline = true, - .dark = true, - .slideSide = RectPart::Bottom, }); if (const auto strong = weak.get()) { const auto widget = strong->widget(); diff --git a/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp b/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp index 629d6949b..8172d1cfb 100644 --- a/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp +++ b/Telegram/SourceFiles/info/channel_statistics/boosts/create_giveaway_box.cpp @@ -1076,9 +1076,9 @@ void CreateGiveawayBox( tr::lng_giveaway_created_link( tr::now)), Ui::Text::WithEntities)), - .duration = kDoneTooltipDuration, - .adaptive = true, .filter = filter, + .adaptive = true, + .duration = kDoneTooltipDuration, }); } else if (weak) { state->confirmButtonBusy = false; diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 854441b8c..836a915e4 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -1947,9 +1947,9 @@ void MainWidget::showNonPremiumLimitToast(bool download) { ? tr::lng_limit_download_title : tr::lng_limit_upload_title)(tr::now), .text = std::move(text), - .duration = 5 * crl::time(1000), - .slideSide = RectPart::Top, .filter = std::move(filter), + .attach = RectPart::Top, + .duration = 5 * crl::time(1000), }); } diff --git a/Telegram/SourceFiles/media/stories/media_stories_stealth.cpp b/Telegram/SourceFiles/media/stories/media_stories_stealth.cpp index 80d4f20a7..3578e3fb0 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_stealth.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_stealth.cpp @@ -55,8 +55,8 @@ struct Feature { TextWithEntities{ TimeLeftText(left) }, Ui::Text::RichLangValue), .st = &st::storiesStealthToast, - .duration = kAlreadyToastDuration, .adaptive = true, + .duration = kAlreadyToastDuration, }; } @@ -67,8 +67,8 @@ struct Feature { tr::now, Ui::Text::RichLangValue), .st = &st::storiesStealthToast, - .duration = kAlreadyToastDuration, .adaptive = true, + .duration = kAlreadyToastDuration, }; } @@ -78,8 +78,8 @@ struct Feature { tr::now, Ui::Text::RichLangValue), .st = &st::storiesStealthToast, - .duration = kAlreadyToastDuration, .adaptive = true, + .duration = kAlreadyToastDuration, }; } diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 985bc03f9..b9b90eb97 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -1271,9 +1271,9 @@ void OverlayWidget::showPremiumDownloadPromo() { Ui::Text::Bold( tr::lng_send_as_premium_required_link(tr::now))), Ui::Text::WithEntities), - .duration = kStorySavePromoDuration, - .adaptive = true, .filter = filter, + .adaptive = true, + .duration = kStorySavePromoDuration, }); } diff --git a/Telegram/SourceFiles/menu/menu_antispam_validator.cpp b/Telegram/SourceFiles/menu/menu_antispam_validator.cpp index 1ca71597e..16c183a6c 100644 --- a/Telegram/SourceFiles/menu/menu_antispam_validator.cpp +++ b/Telegram/SourceFiles/menu/menu_antispam_validator.cpp @@ -167,7 +167,6 @@ void AntiSpamValidator::addAction( channel = _channel] { window->showToast({ .text = text, - .duration = ApiWrap::kJoinErrorDuration, .filter = [=]( const ClickHandlerPtr&, Qt::MouseButton) { @@ -177,6 +176,7 @@ void AntiSpamValidator::addAction( ParticipantsRole::Admins); return true; }, + .duration = ApiWrap::kJoinErrorDuration, }); }; menu->addAction( diff --git a/Telegram/SourceFiles/menu/menu_item_download_files.cpp b/Telegram/SourceFiles/menu/menu_item_download_files.cpp index 23f6c2525..dd510b536 100644 --- a/Telegram/SourceFiles/menu/menu_item_download_files.cpp +++ b/Telegram/SourceFiles/menu/menu_item_download_files.cpp @@ -106,8 +106,8 @@ void AddAction( tr::lng_mediaview_downloads(tr::now), "internal:show_saved_message"), Ui::Text::WithEntities), - .st = &st::defaultToast, .filter = filter, + .st = &st::defaultToast, }); }; diff --git a/Telegram/SourceFiles/settings/settings_premium.cpp b/Telegram/SourceFiles/settings/settings_premium.cpp index 45ef5f63d..4107d13ab 100644 --- a/Telegram/SourceFiles/settings/settings_premium.cpp +++ b/Telegram/SourceFiles/settings/settings_premium.cpp @@ -1395,10 +1395,6 @@ void ShowPremiumPromoToast( const auto toast = std::make_shared(); (*toast) = show->showToast({ .text = std::move(textWithLink), - .st = &st::defaultMultilineToast, - .duration = Ui::Toast::kDefaultDuration * 2, - .adaptive = true, - .multiline = true, .filter = crl::guard(&show->session(), [=]( const ClickHandlerPtr &, Qt::MouseButton button) { @@ -1416,6 +1412,8 @@ void ShowPremiumPromoToast( } return false; }), + .adaptive = true, + .duration = Ui::Toast::kDefaultDuration * 2, }); } diff --git a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp index 6feb9c32a..ba656c552 100644 --- a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp +++ b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp @@ -1429,9 +1429,6 @@ Fn VoicesPrivacyController::premiumClickedCallback( lt_link, link, Ui::Text::WithEntities), - .st = &st::defaultMultilineToast, - .duration = Ui::Toast::kDefaultDuration * 2, - .multiline = true, .filter = crl::guard(&controller->session(), [=]( const ClickHandlerPtr &, Qt::MouseButton button) { @@ -1447,6 +1444,7 @@ Fn VoicesPrivacyController::premiumClickedCallback( } return false; }), + .duration = Ui::Toast::kDefaultDuration * 2, }); }; diff --git a/Telegram/SourceFiles/settings/settings_privacy_security.cpp b/Telegram/SourceFiles/settings/settings_privacy_security.cpp index daea2e9ee..13dae9fb6 100644 --- a/Telegram/SourceFiles/settings/settings_privacy_security.cpp +++ b/Telegram/SourceFiles/settings/settings_privacy_security.cpp @@ -307,9 +307,7 @@ void AddPremiumPrivacyButton( lt_link, link, Ui::Text::WithEntities), - .st = &st::defaultMultilineToast, .duration = Ui::Toast::kDefaultDuration * 2, - .multiline = true, .filter = crl::guard(&controller->session(), [=]( const ClickHandlerPtr &, Qt::MouseButton button) { diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index 74f6f7ed8..1164b150c 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -2605,7 +2605,6 @@ void ToggleHistoryArchived( .duration = (archived ? kArchivedToastDuration : Ui::Toast::kDefaultDuration), - .multiline = true, }); }; history->session().api().toggleHistoryArchived( diff --git a/Telegram/lib_ui b/Telegram/lib_ui index 40df9722c..c48bbd9b9 160000 --- a/Telegram/lib_ui +++ b/Telegram/lib_ui @@ -1 +1 @@ -Subproject commit 40df9722c97385277f128c21a7fcfc13da52b7c7 +Subproject commit c48bbd9b910480bc4a179df7b96d84b7dfe44671