From c686ac860397f1117e91e0c2fa65d289bf15e287 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 14 Jan 2024 05:04:44 +0300 Subject: [PATCH] Slightly improved style of ttl badge in voice messages. --- .../Resources/icons/chat/mini_media_once.png | Bin 0 -> 561 bytes .../icons/chat/mini_media_once@2x.png | Bin 0 -> 1011 bytes .../icons/chat/mini_media_once@3x.png | Bin 0 -> 1465 bytes .../view/media/history_view_document.cpp | 41 ++++-------------- Telegram/SourceFiles/ui/chat/chat.style | 5 +++ Telegram/SourceFiles/ui/chat/chat_style.cpp | 6 +++ Telegram/SourceFiles/ui/chat/chat_style.h | 1 + 7 files changed, 21 insertions(+), 32 deletions(-) create mode 100644 Telegram/Resources/icons/chat/mini_media_once.png create mode 100644 Telegram/Resources/icons/chat/mini_media_once@2x.png create mode 100644 Telegram/Resources/icons/chat/mini_media_once@3x.png diff --git a/Telegram/Resources/icons/chat/mini_media_once.png b/Telegram/Resources/icons/chat/mini_media_once.png new file mode 100644 index 0000000000000000000000000000000000000000..8984491b7ae14c859e3ee0d51a336e8a75197115 GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K#jHrvz1F+@YO zc9Q>U#z2W<{f?cV^pEJIEMC@;vu>$}PQ>{slb$d~XlTnHXgZ&ed%8&|^28~xlU^Nj zr%duFdEY$K*!cUkTJz6)_CL2Yes7t+#U=J&g2D9DoJ|QvGpC(idMl*-Vn&J4%$ohL zORTQGF8xuqd++6!N0JOnr%ec2S+f8BMD6LP^R~~vmA1LkZoa)-zt>VH#gl29&p$6V zkl3K39qcLDdn|1A*8A^GrOtLQbl-e4M@OuCN~Nu9v=h(aj!h9dNpD<~6eCq+`1;)z zKmPcl#7c9C)AW-m*It_ni4@A1&p!L;qlH<_OLNEe*XF9W5tw!D{Re) zyYId$vz~o+*_NlpDlAgbQ}32o_3oDGKOVO}eA%QT3mJ>Ux8E+i{#w<|!)`wNA&IM5 zp*wl5?}}QhH=XkI7*Y>(8i*Q~1^85P&S;e~j_A`AR jDPMlM<@Q@GnZSPx`>!r6lAHQj7!+Neu6{1-oD!MPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$?T}ebiR7ee_Ryj*+K@^Vn#YkMh z;D%caQ3MM?1wj$DQ3O%Yq!5xO#6J+R6R}YPDNnd9T* zx3{<7|9&4IA45Y!+2l0v2L=Y9my~9FXJ=>S3dYCBr>3Tgii+e!wRKHR&Eer;hEi;w zo}NxmPuJJiD=I3O{MgtSA+N5k1_uWjUAXA&?R|K7VA^A`*viU^&1Mrh*wxjQN~IVc zM-i$9V{~-%{r#QL$z*b2VL|S!NOELk8qiw6uhCudS_Ru>Nir7Z*u;Fc?I#a}e4{ zs1gpasi}#DK5HiE^?Hs9by6S@AosVow^fj^y}7yh`ud6_HW&;l$TXHDNeBxW=;-K3 z<9%)N^76K}wg^Mt;o;#gX10GMKFOd`a&mIGaH^*3>+9X!T>?8C4la_21qB7m%gYA` z2W4etx`~Mil0goLWDxi6?rxl8etuqy0jJYRFrUw-ud1pdz31oWA_J(^qoX4cS4l_8 z5Yb|>NY&NVv_Wwxp+BR9!(kFcc}bt2pR~bk|4f}yid8a>BHiBJ5`rB?DezrNd3iaB zpl?bnG7Sw4-&G{SN25_93< z%k=a#Au%D;k!f7k>Cgkx7>Z3xOUvWqBT5qeS-}(&>g($hiG)Vi(1m`IZ+^d@3_L$S zqq&NmQRARjqlOzB8#$oj;^NE8OR{lsaZy)S#{sF5&=K$?fCj{{u&|JWZEkMHi;8TZ z6#M%6I3NKD;}&j_Y$OuN&(G%r@fMOluvS-Bk!pOXj5;|v$>tUA(r&lQn2IHQL6VR! z_+rLxY;3q(F4Q@FEb`oTU#3ng@D=L z-#44hjGldgXA33<(=K1k&CSW>D=RB8Ex6~C!}x17D38apx3`C}N})iM`}_O(=>Mdm h2_rZqB_-d|^9MrUT|a$+sx$xq002ovPDHLkV1g{Rzg_?U literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/chat/mini_media_once@3x.png b/Telegram/Resources/icons/chat/mini_media_once@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..3900061be980c1112d770648672640ff6bd25f14 GIT binary patch literal 1465 zcmV;q1xEUbP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91FrWhf1ONa40RR91FaQ7m0NXcg3;+NHBS}O-R9Fe!SxYFbQ53$8Lmqh( z7kP$43CSbME98}dVt|pMC=5hmV1Ob9C}e;_Vxp7?p}dNa0VB`6Bk%XU-?`_u@3#N* zpZ{?=-R>E!wf9=zT6_O%ueJ6*-@g50KRtQ=xVX5)#Kbr|JAeQ6b8v8Yd3kAQXc!q8 zkq0P8OHWTPEG(?1reFew3n%wv>mXVRc1;<8aXJ>nR zdvmAcjKsyoEi5d2Fw4VSU0vDR+cP$TgM;tx?x6AZ_SV$YWNK>42uNU!jg7mzyLqgu zhTq@c&(6-Ub7Ny;t*x#8{{CF_j*bo*VP|J2At8Y)COqQm>bkPBLSqqndwaXFu`xC_ z*3i&U5U8%Mjwq@LETg!%SWxkU0F0fVpEE#UafpI~f(`keU6ZUfk8z@#pB~6gNcyh$Z`hU+}uu1PH0W+a8*^6*wt_V z$$*cK&&I|EgKTMONdzh5cN{R+iSwk>CGc!Z*k+%d6-N3*Akp^*l zdn+|!1pPEJGV1N^1vtDZC@9b-9~l`*d-MAGnwpxbP2n%*P;acPth50jM3$D8Xorf5 zinJ+w^;}L)4($z6v(zXyF)`8C*Z(v>nK~u@gv0NwtSqEZ9L9r#103&9@X5=|i{75T zzCMwl$mSCh6SOX99B+~8ykcc#Wi)71R1~i$HG%qneSJ+Us_F9ba!N`TNr&_C@v%ao z5QM=Q!MWvngOS?WT0wPMz}?-wr>6%+DLy`4HI7W6(b9ahxw$#A6cisG9!g3| z=p{*V2q8#PF;)oYl)k>cwAJzPahm0$@v$NzB2a^ehKBa{_cJpy`6RWEBX<)AQ1Sq% zWMUBL+9Aj+4kmttl}Dh8(~9_93L6_6dg$=*kY>M{etLSkxw#=$R1TS$nGqgcCQ3bF zbwi-%B!+BlZ50Si!Xw1+Bdl%+G|I#fHcUb97!EvcSY%oU1lEtwL=55kDCix-gp-pK znbrY;e5OiN(?6@B@tQ&1g>(pX{imt z6I`cM^z7^`N!Aw^7xW&A^l5&6o*+od)WAp6lAN53tF5}7Rh6yb;bCIf+S)ogI-0N| z33}UUT8uh!&FJW8e}6wNxR7TZ!cbvhp%@@q1~)IlqOK8IKEd4OeivTRcmV+c>R6nb znxgZHXaJ5NUM)xvfIyLw(T_4!h+{ZgDgyAC2mWCuuHXWo0E!IHC|$ojWUY1fQJm3)22+d^neB zQjD6XrzhTx@W7z)9?iEyVvvc9%sU1$EFwnz=L_xycoD;&FU`%(INk*MKOues(1;fM Tj0eD$00000NkvXXu0mjfuA7-D literal 0 HcmV?d00001 diff --git a/Telegram/SourceFiles/history/view/media/history_view_document.cpp b/Telegram/SourceFiles/history/view/media/history_view_document.cpp index cf5560009..f6e60f877 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_document.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_document.cpp @@ -59,37 +59,6 @@ constexpr auto kAudioVoiceMsgUpdateView = crl::time(100); st::dialogsTTLBadgeSize); } -void DrawCornerBadgeTTL(QPainter &p, const QColor &fg, const QRect &ttlRect) { - p.save(); - auto hq = PainterHighQualityEnabler(p); - - const auto innerRect = QRectF(ttlRect - st::dialogsTTLBadgeInnerMargins); - const auto ttlText = u"1"_q; - - p.setFont(st::dialogsScamFont); - p.setPen(fg); - p.drawText(innerRect, ttlText, style::al_center); - - constexpr auto kPenWidth = 1.5; - - const auto penWidth = style::ConvertScaleExact(kPenWidth); - auto pen = QPen(fg); - pen.setJoinStyle(Qt::RoundJoin); - pen.setCapStyle(Qt::RoundCap); - pen.setWidthF(penWidth); - - p.setPen(pen); - p.setBrush(Qt::NoBrush); - p.drawArc(innerRect, arc::kQuarterLength, arc::kHalfLength); - - p.setClipRect(innerRect - - QMarginsF(innerRect.width() / 2, -penWidth, -penWidth, -penWidth)); - pen.setStyle(Qt::DotLine); - p.setPen(pen); - p.drawEllipse(innerRect); - p.restore(); -} - [[nodiscard]] HistoryView::TtlPaintCallback CreateTtlPaintCallback( std::shared_ptr lifetime, Fn update) { @@ -797,7 +766,15 @@ void Document::draw( _animation->radial.draw(q, rinner, st::msgFileRadialLine, stm->historyFileRadialFg); } if (hasTtlBadge) { - DrawCornerBadgeTTL(q, stm->historyFileRadialFg->c, ttlRect); + { + auto hq = PainterHighQualityEnabler(q); + auto pen = stm->msgBg->p; + pen.setWidthF(style::ConvertScaleExact(1.5)); + q.setPen(pen); + q.setBrush(Qt::NoBrush); + q.drawEllipse(ttlRect); + } + stm->historyVoiceMessageTTL.paintInCenter(q, ttlRect); } }; if (_data->isSongWithCover() || !usesBubblePattern(context)) { diff --git a/Telegram/SourceFiles/ui/chat/chat.style b/Telegram/SourceFiles/ui/chat/chat.style index 378393643..1b463cf50 100644 --- a/Telegram/SourceFiles/ui/chat/chat.style +++ b/Telegram/SourceFiles/ui/chat/chat.style @@ -513,6 +513,11 @@ msgWaveformSkip: 1px; msgWaveformMin: 3px; msgWaveformMax: 17px; +historyVoiceMessageInTTL: icon {{ "chat/mini_media_once", historyFileInIconFg }}; +historyVoiceMessageInTTLSelected: icon {{ "chat/mini_media_once", historyFileInIconFgSelected }}; +historyVoiceMessageOutTTL: icon {{ "chat/mini_media_once", historyFileOutIconFg }}; +historyVoiceMessageOutTTLSelected: icon {{ "chat/mini_media_once", historyFileOutIconFgSelected }}; + historyTranscribeSkip: 10px; historyTranscribeSize: size(28px, 22px); historyTranscribeRadius: 4px; diff --git a/Telegram/SourceFiles/ui/chat/chat_style.cpp b/Telegram/SourceFiles/ui/chat/chat_style.cpp index 4acf416ba..88f5ddd38 100644 --- a/Telegram/SourceFiles/ui/chat/chat_style.cpp +++ b/Telegram/SourceFiles/ui/chat/chat_style.cpp @@ -536,6 +536,12 @@ ChatStyle::ChatStyle(rpl::producer colorIndices) { &MessageImageStyle::historyPageEnlarge, st::historyPageEnlarge, st::historyPageEnlargeSelected); + make( + &MessageStyle::historyVoiceMessageTTL, + st::historyVoiceMessageInTTL, + st::historyVoiceMessageInTTLSelected, + st::historyVoiceMessageOutTTL, + st::historyVoiceMessageOutTTLSelected); updateDarkValue(); } diff --git a/Telegram/SourceFiles/ui/chat/chat_style.h b/Telegram/SourceFiles/ui/chat/chat_style.h index 11890a061..dca47f0f8 100644 --- a/Telegram/SourceFiles/ui/chat/chat_style.h +++ b/Telegram/SourceFiles/ui/chat/chat_style.h @@ -91,6 +91,7 @@ struct MessageStyle { style::icon historyTranscribeIcon = { Qt::Uninitialized }; style::icon historyTranscribeLock = { Qt::Uninitialized }; style::icon historyTranscribeHide = { Qt::Uninitialized }; + style::icon historyVoiceMessageTTL = { Qt::Uninitialized }; std::array< std::unique_ptr, kColorPatternsCount> quoteCache;