From 48027ae66bb748769206e0ecb39da9706001501a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sat, 28 Mar 2026 22:45:22 +0300 Subject: [PATCH] [poll-create] Added lottie icon to toast. --- Telegram/Resources/icons/poll/uploading.tgs | Bin 0 -> 1511 bytes Telegram/Resources/qrc/telegram/animations.qrc | 1 + Telegram/SourceFiles/boxes/create_poll_box.cpp | 16 +++++++++++++--- Telegram/SourceFiles/boxes/polls.style | 1 + 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 Telegram/Resources/icons/poll/uploading.tgs diff --git a/Telegram/Resources/icons/poll/uploading.tgs b/Telegram/Resources/icons/poll/uploading.tgs new file mode 100644 index 0000000000000000000000000000000000000000..77973c55634faee12ad83083604b6548f9600791 GIT binary patch literal 1511 zcmVGsOx}@qypJD`^nG@djWSI&wHe74 zMU!Wv`|J|>PRpj56~E5rMLjrqH(-=g!GH%CGI(9b*EGJGb9_IL?4rs>hLLQx%0}=i z;bjcTZnKf*f@D|ey<7nQhuNa21`=nPP6K;h*F{rjqw$1f^Zc%;@b~?iJX^w>gS5MB zB-13n|8;sgID2z)`VQu)t3bc5aSDw4jye;0Z@7$-jY1O}HIUg604(Xt0oz}5umXdB50 zd^p4IN1`lA-!zsJz9T}C^j)hXJ*pR;Nsfe!Juzntp#trJTe)gLN54Z|+GtRUECO?2xr#$_PXS6PaHHuU-;Ag&6P48J;yiK~bd z_?5hEqmE&MG5CZE&N0@;Y|nG(sr80f%B1dLm;{02@lbT9844;fbp>U7Gs;roIdSj= z4~#i%HcFEr=pdQhmddF1E)ba!DCH(dG0-Ihb;<=P7MhH&n~o|Yi2*~H&{mXLNra_V za_CU7TEs7ylyl@To_eRCLsIKdCo8F8prS(cQAb6EQN&XrRBU?VQKm$dV7F_k&&9(U zp3Jk2>%cVM&d-UAkI-y(Em85HPl1kgU`GU9o$l- zC6O9T98Afnc92dm#5?5huw`*Doud{taNq>k-@xMB%4AB|U@X<#9kOf(Bm+GEnKxGh zjz!86S|@LRc{li2oHu1PIK#vm3o6HiO%!<&PTnBo1 zDgjoa+1e&5`iRi>w~p$klD+e_#>Xxn>;RrggMGAf=;)ZF&mQ90_6T;km}g<$?$#49 z5l}ITQ7xYAZg@KGcRX#YNgXH@=l$+^U*)T-**PeLJiYof2!*>l<-vWjXP0bOk_v># zAop$0X8#fqGwbWVL1>pc@1y9}F(0aYSznaZBEuMtrA4{;G+P$aVQ>wsb-4=V$9amy zWXOd1Jr>+{@Dc>cu{hO5UqmsSzbyMC6sscX8U#6WTw!$Qll~Ja`L{04Vkohkslgeyw;U zw(;n)WxvccCiz`Voub07>`1jz;K8CN8sw!`T9xnl|BUBxN9V$C|kZ`C0 z1Mmo~B|j7xLqny5W3QxMs8;}voN|HZ^!6D3kJ>i?0WsfL!_iJ^ezQ8Z?`xQXPoWU9SHGj`g00j}K>j zADp>9I1{e`&fK@6+1Fv2gV!s-vi|GQA^!8^$j}1R+1R#T5Fx2vL*8W1y(n{r2+EiW zEre`tU|0Y-Dw!aFk=}}../../animations/craft_failed.tgs ../../animations/stop.tgs ../../icons/poll/toast_hide_results.tgs + ../../icons/poll/uploading.tgs ../../animations/profile/profile_muting.tgs ../../animations/profile/profile_unmuting.tgs diff --git a/Telegram/SourceFiles/boxes/create_poll_box.cpp b/Telegram/SourceFiles/boxes/create_poll_box.cpp index 6ca576e608..80c27839f8 100644 --- a/Telegram/SourceFiles/boxes/create_poll_box.cpp +++ b/Telegram/SourceFiles/boxes/create_poll_box.cpp @@ -1173,6 +1173,16 @@ void DurationIconAction::paintEvent(QPaintEvent *e) { Ui::PaintTimerIcon(p, innerRect, _tinyText, st::menuIconColor->c); } +void ShowMediaUploadingToast() { + Ui::Toast::Show({ + .title = tr::lng_polls_media_uploading_toast_title(tr::now), + .text = tr::lng_polls_media_uploading_toast(tr::now, tr::marked), + .iconLottie = u"uploading"_q, + .iconLottieSize = st::pollToastUploadingIconSize, + .duration = crl::time(3000), + }); +} + } // namespace CreatePollBox::CreatePollBox( @@ -1208,7 +1218,7 @@ void CreatePollBox::submitFailed(const QString &error) { void CreatePollBox::submitMediaExpired() { if (_refreshExpiredMedia) { _refreshExpiredMedia(); - showToast(tr::lng_polls_media_uploading_toast(tr::now)); + ShowMediaUploadingToast(); } } @@ -2958,7 +2968,7 @@ object_ptr CreatePollBox::setupContent() { if (refreshedAny) { collectError(); if (state->error & Error::Media) { - showError(tr::lng_polls_media_uploading_toast); + ShowMediaUploadingToast(); } return; } @@ -2975,7 +2985,7 @@ object_ptr CreatePollBox::setupContent() { } else if (state->error & Error::Solution) { solution->showError(); } else if (state->error & Error::Media) { - showError(tr::lng_polls_media_uploading_toast); + ShowMediaUploadingToast(); } else if (state->error & Error::Deadline) { showError(tr::lng_polls_create_deadline_expired); } else if (!state->error) { diff --git a/Telegram/SourceFiles/boxes/polls.style b/Telegram/SourceFiles/boxes/polls.style index ad9b869c67..6651146713 100644 --- a/Telegram/SourceFiles/boxes/polls.style +++ b/Telegram/SourceFiles/boxes/polls.style @@ -273,4 +273,5 @@ pollMediaField: InputField(createPollSolutionField) { infoPollsNewButtonBottom: 19px; +pollToastUploadingIconSize: size(30px, 30px); pollToastIconSize: size(22px, 22px);