From def97b3f705de29de15fba88daea6759055cf86e Mon Sep 17 00:00:00 2001 From: John Preston <johnprestonmail@gmail.com> Date: Tue, 5 Sep 2017 19:34:36 +0300 Subject: [PATCH] Update faved sticker / saved GIF remove button. --- Telegram/Resources/colors.palette | 2 +- Telegram/Resources/icons/emoji_delete.png | Bin 131 -> 211 bytes Telegram/Resources/icons/emoji_delete@2x.png | Bin 182 -> 272 bytes Telegram/Resources/icons/emoji_delete_bg.png | Bin 137 -> 141 bytes Telegram/Resources/icons/emoji_delete_bg@2x.png | Bin 243 -> 245 bytes .../SourceFiles/chat_helpers/chat_helpers.style | 11 ++++++----- .../chat_helpers/stickers_list_widget.cpp | 12 +++++++----- .../inline_bots/inline_bot_layout_internal.cpp | 14 ++++++++------ 8 files changed, 22 insertions(+), 17 deletions(-) diff --git a/Telegram/Resources/colors.palette b/Telegram/Resources/colors.palette index ec28a02c4..60b942ea8 100644 --- a/Telegram/Resources/colors.palette +++ b/Telegram/Resources/colors.palette @@ -255,7 +255,7 @@ emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background emojiIconFg: checkboxFg; // emoji category icon emojiIconFgActive: windowBgActive; // active emoji category icon -stickerPanDeleteBg: #000000cc; // delete X button background for custom sent stickers in stickers panel (legacy) +stickerPanDeleteBg: #000000ff; // delete X button background for custom sent stickers in stickers panel (legacy) stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy) stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker) diff --git a/Telegram/Resources/icons/emoji_delete.png b/Telegram/Resources/icons/emoji_delete.png index 8023fa4239288690840881fb33506c7229d1c148..864252d7fc535cbcd8f7a9c814f9d1fb5ca3f73f 100644 GIT binary patch literal 211 zcmV;^04)EBP)<h;3K|Lk000e1NJLTq000gE000gM1^@s6A4o0H0001*Nkl<ZD3QIA zK?=h#3<RBCwEure<cn>6A^Owwln~RT&{Dc!kd0>13NNJ;$`^Wk1N{!%wymt|S|lBB zW>(z2WabOZerl}%wAPS>nbBGUz}-3bPM{=u?*NQ37-LLEx8M#(1iK>Q3gU7(z*L{_ zml-7;nId8u)y(ckb$0-I??{@A-YzFIskKg-B;oF4<^(P~{i*){<(?t;wmR;bZNC5j N002ovPDHLkV1hv-SLXl# literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kFHaZ85RHj*`#rfB6nK~y|NkF6 z&um^x7xy;Xt%+>2)Hqd_r9bf9u$OT;kLL}x17_=e5+fV9_izR7I<Un1dc4+jyV9=m f+1K7L@#eq&cg91vIe)JLO=a+O^>bP0l+XkKhT1Ka diff --git a/Telegram/Resources/icons/emoji_delete@2x.png b/Telegram/Resources/icons/emoji_delete@2x.png index bae82620aca7ef381c0e863294fc36683c98a73b..6283a9eba0b6a2f2d50458a5b489cf8a67a97f4e 100644 GIT binary patch literal 272 zcmV+r0q_2aP)<h;3K|Lk000e1NJLTq000~S000~a1^@s6at+^<0002jNkl<ZNQv#$ zJr2Vl3<Y4P7jZ5JR|PH+1}+c__ScE3O5^+uR$IkVwkLnV!pT5HAj5iCVmJ8bpmUBy zghB|!%)5=4nL-F8BIKOg%wp}C=NY}GX#z8^=7<Q)jGXf;FCuDI1yf3RFAZH{0FY8T z502yb(P)XTVL9i`X{exv_J$X+ZBRo?DJZ2}!S+FIbQiH>U`Lmy>Zd({!F=)Q$Xl6? z)b!Gru7&yHn}6C`YrB|+w${#r-h0$q5o0`b8JHO{M$}s2y;pNXSFP%M{`fceGvE_o WF8_Am;Q@#M0000<MNUMnLSTY|UUmrp literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjwVp1HAs(G~Lml}JC~zG9``^D- z%6g}c6<cf=|D=LVTND<YJ#(j}Oyi`vI75Ki$qjZ@<_wo_zF^R+Y3O7&nyB<GT45r` zeA(bs4FSQ4Pu?^6E2&iK33Q5_jNO-!$$Ck9l3AqHvP-VfpF#|Lm&os~PDpeL%6YA& fb^FKZKd1e4CHnrZlzbinbO?i|tDnm{r-UW|*C#=l diff --git a/Telegram/Resources/icons/emoji_delete_bg.png b/Telegram/Resources/icons/emoji_delete_bg.png index 6f973e511217c698c039fb73fd1571f1bd8c09ec..251e7cd2e9a5364c3ca00392097af36df3d408d6 100644 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_5KkA!5RHj%FDddJFyL_xT(6MM z?^6+RetOKo$CsCEn|SQo&&i#NN+soKYT>DBcjqcO&A2IK6C9e9{xbKclBbE3?3csm p6GCMduR1iNSnhBK!!GsxjPg6LZ@+u4^eWJN22WQ%mvv4FO#tRSGY9|x literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)408bak5RHj<Cn*XYaNuCREWAgS zQ||ch2iz;)f3a$R`^q<oNpRur&8v1SUiIRgh~S|!+a3vrs_vV0f12K;BMqh#>xEyu mOWwJAqtRyz0l@=bq|60kwqO2~IP*WyYz9wPKbLh*2~7azdo-*7 diff --git a/Telegram/Resources/icons/emoji_delete_bg@2x.png b/Telegram/Resources/icons/emoji_delete_bg@2x.png index 08c32768571e0f9152b4cf9e21e59c28b467450f..2c4f0a08aae01433f80b7ce828bccaa093ea00be 100644 GIT binary patch literal 245 zcmV<R01E$!P)<h;3K|Lk000e1NJLTq000~S000~a1^@s6at+^<0002INkl<ZNQv#% zu?@o@6h+Y&7oQ=R5g3b6zC>Z<!i!)E+s#XnL`sTCk*xfRyTEBL01yC0gfT{{DqCy3 zT5FA}$`~U>gf9mG=)GsH^)m9US}VQx4^Tw@ioK)GIU<DcckERNflyU5P*r(5j)Nis zi}roTjU-L9XOks1zyS_$fCC)hkKlQpX4tlEnC5vl1J`xMlyf!%bIyQs&SVppWqE8O vtVbActDjP0DTTfF%Si8?r4*)=K34w@Z_PbfHKhL300000NkvXXu0mjf*o<PW literal 243 zcmV<P01W?$P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0002GNkl<ZNQv#1 zF%E+;5Ck_A=STRBwx8vvoa6$Ff{z#%K(i?bQc|Qq$~6)5fSGa^00@90!Wbh}m8~^i zrL{&?WsH#`!qW=?^xm`9dRh97S}VQxM?ge=Du0hS=ZFx(&*di}1VUBK0;<Z#wrvy< zSg@`u9wcdEe=%6f@4y|n1Ai0P_uWjsEDMHl9L)mrJY&c?n+0;tfOF1dGN)-eCKJ}9 tkGI>BQer8Ez4yz~-aAVvOeuZbmM4~&y~0CyPO1O^002ovPDHLkV1oE`VRQfh diff --git a/Telegram/SourceFiles/chat_helpers/chat_helpers.style b/Telegram/SourceFiles/chat_helpers/chat_helpers.style index 3a8b8d6e0..fc9e0dd85 100644 --- a/Telegram/SourceFiles/chat_helpers/chat_helpers.style +++ b/Telegram/SourceFiles/chat_helpers/chat_helpers.style @@ -194,11 +194,12 @@ hashtagClose: IconButton { stickerPanSize: size(64px, 64px); stickerPanPadding: 11px; -stickerPanDelete: icon { - { "emoji_delete_bg", stickerPanDeleteBg }, - { "emoji_delete", stickerPanDeleteFg }, -}; -stickerPanDeleteOpacity: 0.5; +stickerPanDeleteIconBg: icon {{ "emoji_delete_bg", stickerPanDeleteBg }}; +stickerPanDeleteIconFg: icon {{ "emoji_delete", stickerPanDeleteFg }}; +stickerPanDeleteOpacityBg: 0.3; +stickerPanDeleteOpacityBgOver: 0.5; +stickerPanDeleteOpacityFg: 0.8; +stickerPanDeleteOpacityFgOver: 1.; stickerPanRemoveSet: hashtagClose; stickerIconPadding: 5px; stickerIconOpacity: 0.7; diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp index bab357f2c..b18d8517f 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp @@ -839,10 +839,12 @@ void StickersListWidget::paintSticker(Painter &p, Set &set, int y, int index, bo } if (selected && stickerHasDeleteButton(set, index)) { - auto xPos = pos + QPoint(st::stickerPanSize.width() - st::stickerPanDelete.width(), 0); - if (!deleteSelected) p.setOpacity(st::stickerPanDeleteOpacity); - st::stickerPanDelete.paint(p, xPos, width()); - if (!deleteSelected) p.setOpacity(1.); + auto xPos = pos + QPoint(st::stickerPanSize.width() - st::stickerPanDeleteIconBg.width(), 0); + p.setOpacity(deleteSelected ? st::stickerPanDeleteOpacityBgOver : st::stickerPanDeleteOpacityBg); + st::stickerPanDeleteIconBg.paint(p, xPos, width()); + p.setOpacity(deleteSelected ? st::stickerPanDeleteOpacityFgOver : st::stickerPanDeleteOpacityFg); + st::stickerPanDeleteIconFg.paint(p, xPos, width()); + p.setOpacity(1.); } } @@ -1466,7 +1468,7 @@ void StickersListWidget::updateSelected() { if (stickerHasDeleteButton(set, index)) { auto inx = sx - (columnIndex * st::stickerPanSize.width()); auto iny = yOffset - (rowIndex * st::stickerPanSize.height()); - if (inx >= st::stickerPanSize.width() - st::stickerPanDelete.width() && iny < st::stickerPanDelete.height()) { + if (inx >= st::stickerPanSize.width() - st::stickerPanDeleteIconBg.width() && iny < st::stickerPanDeleteIconBg.height()) { overDelete = true; } } diff --git a/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp b/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp index 7158b2e25..078dad98d 100644 --- a/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp +++ b/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp @@ -201,17 +201,19 @@ void Gif::paint(Painter &p, const QRect &clip, const PaintContext *context) cons } if (_delete && (_state & StateFlag::Over)) { - float64 deleteOver = _a_deleteOver.current(context->ms, (_state & StateFlag::DeleteOver) ? 1 : 0); - QPoint deletePos = QPoint(_width - st::stickerPanDelete.width(), 0); - p.setOpacity(deleteOver + (1 - deleteOver) * st::stickerPanDeleteOpacity); - st::stickerPanDelete.paint(p, deletePos, _width); - p.setOpacity(1); + auto deleteSelected = (_state & StateFlag::DeleteOver); + auto deletePos = QPoint(_width - st::stickerPanDeleteIconBg.width(), 0); + p.setOpacity(deleteSelected ? st::stickerPanDeleteOpacityBgOver : st::stickerPanDeleteOpacityBg); + st::stickerPanDeleteIconBg.paint(p, deletePos, width()); + p.setOpacity(deleteSelected ? st::stickerPanDeleteOpacityFgOver : st::stickerPanDeleteOpacityFg); + st::stickerPanDeleteIconFg.paint(p, deletePos, width()); + p.setOpacity(1.); } } void Gif::getState(ClickHandlerPtr &link, HistoryCursorState &cursor, QPoint point) const { if (QRect(0, 0, _width, st::inlineMediaHeight).contains(point)) { - if (_delete && rtlpoint(point, _width).x() >= _width - st::stickerPanDelete.width() && point.y() < st::stickerPanDelete.height()) { + if (_delete && rtlpoint(point, _width).x() >= _width - st::stickerPanDeleteIconBg.width() && point.y() < st::stickerPanDeleteIconBg.height()) { link = _delete; } else { link = _send;