From f7374aa7b7a75d2ed3b2b9222b4d6990967e3dab Mon Sep 17 00:00:00 2001
From: John Preston <johnprestonmail@gmail.com>
Date: Fri, 28 Oct 2016 00:19:38 +0300
Subject: [PATCH] Almost all icons moved from sprite.

It is a broken build, some of sprite()s are in stickers.style file.
---
 Telegram/Resources/art/sprite.png             | Bin 22300 -> 5286 bytes
 Telegram/Resources/art/sprite_200x.png        | Bin 48811 -> 10769 bytes
 Telegram/Resources/basic.style                | 113 ++--------
 .../{box_search_cancel.png => box_cancel.png} | Bin
 ...search_cancel@2x.png => box_cancel@2x.png} | Bin
 .../Resources/icons/dialogs_add_contact.png   | Bin 0 -> 124 bytes
 .../icons/dialogs_add_contact@2x.png          | Bin 0 -> 163 bytes
 .../Resources/icons/dialogs_cancel_search.png | Bin 0 -> 197 bytes
 .../icons/dialogs_cancel_search@2x.png        | Bin 0 -> 273 bytes
 .../Resources/icons/history_action_edit.png   | Bin 0 -> 445 bytes
 .../icons/history_action_edit@2x.png          | Bin 0 -> 1011 bytes
 .../icons/history_action_forward.png          | Bin 0 -> 311 bytes
 .../icons/history_action_forward@2x.png       | Bin 0 -> 600 bytes
 .../Resources/icons/history_action_reply.png  | Bin 0 -> 446 bytes
 .../icons/history_action_reply@2x.png         | Bin 0 -> 864 bytes
 Telegram/Resources/icons/media_video_play.png | Bin 0 -> 419 bytes
 .../Resources/icons/media_video_play@2x.png   | Bin 0 -> 720 bytes
 .../Resources/icons/media_video_play_bg.png   | Bin 0 -> 899 bytes
 .../icons/media_video_play_bg@2x.png          | Bin 0 -> 2591 bytes
 .../Resources/icons/media_youtube_play.png    | Bin 0 -> 286 bytes
 .../Resources/icons/media_youtube_play@2x.png | Bin 0 -> 530 bytes
 .../Resources/icons/media_youtube_play_bg.png | Bin 0 -> 812 bytes
 .../icons/media_youtube_play_bg@2x.png        | Bin 0 -> 1731 bytes
 Telegram/Resources/icons/new_chat_photo.png   | Bin 0 -> 642 bytes
 .../Resources/icons/new_chat_photo@2x.png     | Bin 0 -> 1268 bytes
 .../icons/send_control_silent_off.png         | Bin 0 -> 518 bytes
 .../icons/send_control_silent_off@2x.png      | Bin 0 -> 1029 bytes
 .../icons/send_control_silent_on.png          | Bin 0 -> 685 bytes
 .../icons/send_control_silent_on@2x.png       | Bin 0 -> 1487 bytes
 Telegram/Resources/icons/settings_close.png   | Bin 187 -> 0 bytes
 .../Resources/icons/settings_close@2x.png     | Bin 296 -> 0 bytes
 Telegram/Resources/icons/simple_close.png     | Bin 0 -> 178 bytes
 Telegram/Resources/icons/simple_close@2x.png  | Bin 0 -> 354 bytes
 Telegram/SourceFiles/boxes/addcontactbox.cpp  |   2 +-
 Telegram/SourceFiles/boxes/boxes.style        |  32 ++-
 .../SourceFiles/boxes/notifications_box.cpp   |   3 +-
 Telegram/SourceFiles/boxes/sessionsbox.cpp    |  16 +-
 Telegram/SourceFiles/boxes/sessionsbox.h      |   6 +-
 Telegram/SourceFiles/boxes/stickers_box.cpp   |   1 +
 Telegram/SourceFiles/dialogs/dialogs.style    |  26 ++-
 Telegram/SourceFiles/dialogswidget.cpp        |  51 ++---
 Telegram/SourceFiles/dialogswidget.h          |   9 +-
 .../history/field_autocomplete.cpp            |   4 +-
 Telegram/SourceFiles/history/history.style    |  39 +++-
 .../history/history_media_types.cpp           |   4 +-
 Telegram/SourceFiles/historywidget.cpp        | 212 +++++++++---------
 Telegram/SourceFiles/historywidget.h          |  28 ++-
 Telegram/SourceFiles/intro/intro.style        |   7 +-
 Telegram/SourceFiles/intro/introsignup.cpp    |   2 +-
 Telegram/SourceFiles/overviewwidget.cpp       |  20 +-
 Telegram/SourceFiles/overviewwidget.h         |   3 +-
 Telegram/SourceFiles/settings/settings.style  |   6 +-
 Telegram/SourceFiles/stickers/emoji_pan.cpp   |   6 +-
 Telegram/SourceFiles/stickers/emoji_pan.h     |   2 +-
 Telegram/SourceFiles/stickers/stickers.style  |   9 +
 .../SourceFiles/ui/buttons/icon_button.cpp    |   6 +-
 Telegram/SourceFiles/ui/widgets/widgets.style |   6 +
 .../window/notifications_manager_default.h    |   2 +-
 Telegram/SourceFiles/window/window.style      |  15 +-
 59 files changed, 316 insertions(+), 314 deletions(-)
 rename Telegram/Resources/icons/{box_search_cancel.png => box_cancel.png} (100%)
 rename Telegram/Resources/icons/{box_search_cancel@2x.png => box_cancel@2x.png} (100%)
 create mode 100644 Telegram/Resources/icons/dialogs_add_contact.png
 create mode 100644 Telegram/Resources/icons/dialogs_add_contact@2x.png
 create mode 100644 Telegram/Resources/icons/dialogs_cancel_search.png
 create mode 100644 Telegram/Resources/icons/dialogs_cancel_search@2x.png
 create mode 100644 Telegram/Resources/icons/history_action_edit.png
 create mode 100644 Telegram/Resources/icons/history_action_edit@2x.png
 create mode 100644 Telegram/Resources/icons/history_action_forward.png
 create mode 100644 Telegram/Resources/icons/history_action_forward@2x.png
 create mode 100644 Telegram/Resources/icons/history_action_reply.png
 create mode 100644 Telegram/Resources/icons/history_action_reply@2x.png
 create mode 100644 Telegram/Resources/icons/media_video_play.png
 create mode 100644 Telegram/Resources/icons/media_video_play@2x.png
 create mode 100644 Telegram/Resources/icons/media_video_play_bg.png
 create mode 100644 Telegram/Resources/icons/media_video_play_bg@2x.png
 create mode 100644 Telegram/Resources/icons/media_youtube_play.png
 create mode 100644 Telegram/Resources/icons/media_youtube_play@2x.png
 create mode 100644 Telegram/Resources/icons/media_youtube_play_bg.png
 create mode 100644 Telegram/Resources/icons/media_youtube_play_bg@2x.png
 create mode 100644 Telegram/Resources/icons/new_chat_photo.png
 create mode 100644 Telegram/Resources/icons/new_chat_photo@2x.png
 create mode 100644 Telegram/Resources/icons/send_control_silent_off.png
 create mode 100644 Telegram/Resources/icons/send_control_silent_off@2x.png
 create mode 100644 Telegram/Resources/icons/send_control_silent_on.png
 create mode 100644 Telegram/Resources/icons/send_control_silent_on@2x.png
 delete mode 100644 Telegram/Resources/icons/settings_close.png
 delete mode 100644 Telegram/Resources/icons/settings_close@2x.png
 create mode 100644 Telegram/Resources/icons/simple_close.png
 create mode 100644 Telegram/Resources/icons/simple_close@2x.png

diff --git a/Telegram/Resources/art/sprite.png b/Telegram/Resources/art/sprite.png
index e8c0edafc83ff70bc7fb89b08fae1f6d319de58f..d76672e0b11f672fbcdc43c98d539ad48c70b9e1 100644
GIT binary patch
literal 5286
zcmd5=X;hO*)(!#z1w>ng2uQk{7nl}=AWK99T*0u2tpl<MM563r7i0?v3bH6|B7&?s
z2pQLaK!PlR$YunL5s@V%h@cQ<UlI~RGA~Z|e9oLX=ld}~X6l@ryj7{X&r?<RKKJI$
zIC;WWX_ML}2n3>pI)3yN1R|9UewyT=;0P3c=r9Db9g8}8=+BpmrrAl^!!d~y^ZhZt
z{dHRuV@_q=rNd=QXT-_Lr*#d&OzKlprcd5qC7RpW^(75Q<hs8T$M)4up5Tu-o9G@R
zikPSMYHQZMemLwS`{`lJxi4+BwnLLAmDb9(AA1s|n{rRbYc)P8!4E$l7qiA;-zgTn
zKA`#5zklq`AS2FlWCBOEE_|boWxbA<ZxKD#7CZoAbYng64S3NdycTM6j%K7O-5w?W
zi9VtuaKVF5I`j^l+?y%B?7n>|RgDFoKU4lvy8K8-f^}IM`GiG@`zE7J=)1Tdt8R|R
z;iIGM>o3F+&hMMg*FzcT3c8rn9`U=bp_g7}Qr%oq(7~ZsQ^WP?wggcZATgoWGO>HN
zP>eUf6i)Jz2%=e_6crIpk^UiD)2#~GWw$kZ`Ux5_;}D@k=K>^qN&#1R%PT%VWVufn
zf1qTX35-0jazn(OKgQA5Lm|i%AKHolXue~hX6+DxvGMl%ZM>H2GcSh{`+Y*CFtzmN
zeBInqs+x9e><Ge(T<|&NS#4c%OBa>PvpP!w!5Uya#HE4r>_xtAvFr2XJJj)_P5^F4
zdFby_ojI-e_K7fVFMSpeaH5sBgCyS~6}Dy<>&GH)00Ki4C(l4-Q3x%JVy>LRkDQ<c
z&Fq27ng0y&3g1UhI<ZjAjZQ4~Q(`e;xM-7#Ru9YL2*~F#0t#oqPKo>VEDBlS6tbL`
zA{91gRWyFDJI3^#%TN?1?oVu3=+7{S+}Ax^Tx#>p)R7iXBh7x@-s{Udz`2z;Q+BwD
zT<zB>ug0Q~?B@NkL^MRBC<ciAk$ot(H_AV%umWD8{*^suAtU|a!+~2N{JwxEnSn#(
zrupZL#2Ent$E#*gu<=^G7H2=&)K^(8y;3cFs}Kpf9R`oG(MYdq(%!#$><LP2!v2-r
zyC3=PLwTN8z3?-#SztIs?#VKwt|-{v&@eCJ$_C`mOwM{cEMScllT+tuKxp@p&wOTW
zZSC@CSe?~$za#QJvO>MV`4mJBoj-H8E~pnbS`qM!On(2AL}COAFYaLvqz4%bH$WP{
zJmDH#F(IH8q3l`lSkCEa@TZZ$G$};<?D3fLMmLQZ=4NQBdh2K<w!l}VI$NFFA>M4P
zh`xvAylIM+yL>FXP-(%o*K_a1FFL-k>R~PP9{R7eWLcxHmdRxIH@pN=nbmVW_Hr#T
zq((^#88V!I!2yXM)`m^d|02GPq`wF=UtXFJZo5O{{EFgxX>3lPMkDe+tuDmjOSdQ{
z4_e@N79#^A%J_<@;aYTc84RjNc(5{{krOR>9xqe}rp8UH6XthL@2VaAiROB0>}m+y
zWtWtNTB%lG7hwlTJsJV4K^3sBU^@FBRC?@bnOgH#W(45Jho490y)LzuB-E!$$Ref6
zfP!M2xdyN^LD1!m6LX2BR1@Ka2*YL+HF*6r47CMxPb=c!z(Aca!ztn8@TaaklC@x*
zAX(w?seEdb`rT0XPz#OCz2s?^&T}RxsFU^Dl6Ud`i(ft#$8gL=!v1FQ`y=U_cX32&
z6r<w{mf+nDuC7KIUt#<AzkiRL8cm1e`tKb{hr-2k>CMq%k-)Dypuz~IxL0E{W#|SI
z*jZu`Gb6IKTDWQ7IvTd}QY&Y;iAtriT+c6=O1uyd-`UXWRcZbZFulefNg5f;u@*n2
zp?~WoI(aAX2K`ERHNDqk`m>@J10U$n=R|@<hSgk)Gy~~K=+um#no&;pAZ=}2aCOQI
z7KEZ|!64N!=J6I`B*%y~_AHK{QSHaj3@XqeI+apah9eoCFOQm-^%xWYL8=C4FY%VR
zy{d%q`A&G!1c)v%=0@kRyF#w1qr~p(%&r1wo>6vP9|HPkoA{j7*Cm$m3^d{;ouFIV
zaB2SIRUpW**96?vfd+s4<HY4h-c4a&-aW{2>>ZyPtnTD2mhg*?Q>HP7ohgbon50AN
zCRr$I?s-!GV}C-hhBZ#a(Ji_3k(l0k?nKD}!LWj1<J@rAzOz9r@=ir)&k)$k?ej`3
zE`E6z>DXK2$0)Ik{@9kW2YGAuh0uS>;I2#<<f*Q}ho_l+e*5+KndcKLgVlaH;MpkS
z=2BIu3%R7TXT81Qk4YqDMzKZA{1LeD%~c@wV}|YxIEYS-dPLwwnoNPV`gis9X~mmw
zh-=&$yfvpJ`aYi)u|RuX_+Hz+5C~#eOGIa!K#EgfK-YoSM}1Gmnt_e8RDtx2|7Oo3
zdWu*rajiS5*P@YN!4CbB&KK;*;;+Y07mN7`qYB=2vrijlhU%iH-5aW^n4H*&;{K9^
z1$sPjdscRbussSh(#ynkXY7Qoo=dCRGIL@foofcn^3Pv!#Mg!<jH!EDBnp=VWGsu3
zBwp0zh<OxvSCo$ttf_+pJU0=iEL}lY!c(dcR=MM}sCdokGlcV(1Ph-e1i&^&b4_({
z1UiF?0R&lq<lI6QbKB}hn^M<nJ!xqDYziP4i|T(lu$Tcs?hJJ(eQ(;TTyC*{Z45=V
zp!S-9a<$9`N?%XjPd**j6LiN*zhg`orQ>t6ds40XpmqM`*F6{%rzB*xCAXUwH{8Gk
zVm<Mal8|iVR>grACaU)fRl^9R#5W4f)IGtguo};mD7*zhbQV9$h}Fk{ln&Qdv0v=|
zWgi;LqDElKJslTjd#A}lp?Qurw_^@Gnfm%Z>D&89x;i%ahW|Nf@rk&*pyG~z!T*uk
zQS;<wnh*&HoVdPf*4^1p*P2of;rlBJ-9#twvsnH?+T=~`gt8?UZ5Y9t#J0kz$YAa@
z>Ci*91+MjIhoIR9Ec06iuq6CAKeA9ydXr6#K3BawFGMw&-Qh!=aKapjPh`h>+(Tz4
z0`$=PEV5D8V8<nw`C>p>S8(=Q-n19naC2ir>NwYX6o!v!esys{z)-4L#;6lS7KR(h
zi<x<VYK<bUt{lR55)Kp?sA+#owl-WP+CG?`T6Pr%WmPbqh!Uf`EZ_Se&vXabP?nj~
z5^cdLJOg-M$CBD;lk@nE`i0Sr9W>W@boN>`FzXbNRBz1T+?@IC+V#dbwcqBgU+vq{
zn$dX{6|>MnBpk>cC-L`h0XM%Rp-f*N1WE}f)B@JIGcswmgyG!rPJ#xC!aTq=b8o&i
z4u9)uD~hP!CMR~}MQ02Y%7b`wAf9{&ZL;@ryn;BC1;hgEz`xqY2!@SOoZRvLU0kI~
zktS*(DE4BXv#FXNUPQ@uxwsMfCdi^V?!s2D&_ib(RI_wEA$XQ8X0HkspLIfMgMMxR
zNzHxE+0i-YbKlO6eQJKumqedkMecap9t0Y-haTFo>ca~s%xC*(q)hv&d35|7PIgar
zj%e@?R?j+$NY*x<9udZyW&L%)K#jm>|B%%dQrq+l_<AbuFg*H^XBq~^i+I~nj5DiF
zXrivMKEEG4`s|4Q5B;r>xZp=umvAb>y|^Y>O6-x98&$_;Qg<v^Q=<YnN6>a5F;Wkw
z#khtEht=iVxz497p9M<HRo&n&$MhF>KUl-Td#yH5bNbcjnl7lpNu|m-@{s!O=RF3L
z6se^fmiKrUIz9cWkC@0vqc08{s90zce}X|CjYe0&SY~P|QmZvSkBmP*Ojp0HddyS>
z<6(0I0l7U=^$uf1HdpHe7YWuHn4N5|g8`y}7;VADNUo;QF7Jfu{UK<QH~(&@5jL^e
z=fkt``$&j(iqydjG~}dD8M5V;XH(q82#meOe0V~GQN1TTaX7!u(|%#0ZTib3FK1h+
zB<v$EmD#DcEs44}ZkSIH`A3cDk-}HzM)UX!i5sCUOJF370@h~2m3n3(3BD${0e<aD
z6c1%s=Y*ysn>y498U=Mvh#qM<p{YPCv-6Ob<psed#$~#tJg=se&~!hpP4nk0hS#ay
z3x*Hcebk}<APClEx4`=T55C`bBT=+X;cMZ%Rz>OLAB+|6B2_M?)$G<iX3`3|dlUir
zQ<Yt&w6j}zrF`$|G0$bG#q(+4o_9jK-yG_>t#Zz#V__R8E7K}1E^bwskMSG6t=Xyw
zu?ud6<Ug~8CobJyeO+X3oPN_GZ|6T4bice~?04J8`CUF1)?J+X`Yya10jUVS<GX_(
z1Ja=V9eUl&dbgo30$ub&k+YGN=}Q-)JlA;kgC=)%eiKW!ENA45DK1gOL0h<>q)z(e
zZV#q?F|Nz~KctiEdmWfm@)($&sWih^Zvuh-^oQYp!Rb5~hA#S|E_6iXH}uFgZB)?L
zd368Z&Yp5<_*hWk=Cn|VI-zU+tf$q>Zs8K%+MmT6I&@vhRX>Fm3J55a*zTK54DQx=
z^Xr78Er*}k1<IN@Ms{IeNRK(K*G&whbxd!f#5b)~Mx_WH25?`5jU@8fMmw+VnPG+G
z?x@^w_FA27boi_FoX`O9LHX%huIME7ne<$pPaHdVV6ofy4F0@Gkg-jdYChjM7B7a9
zs}zaQ!I=V1qR0zv0cu<ORmMIQjH4-x{)l-T-%|y%bV87SggxG%-jvq`hWq%qxBI0&
ztSZFy0{NVN&J&+`HoLK9eD?#tlGx9$K4aBd0=H%3%x~X!R82>nzTUo$6$|G5&`c<T
z-q>I}RM`K^^|COQYxWsZaIM|LfC5QwhGn@~X!StUh&`4i{<@Z^N^x()!g}4cYvo52
z9J0_$$5~{L_Ium2n2VvYJrw~s3%YIAk(Dtr7H(ig4t7hek{^+CAb|hG{H1El)i54U
z({{^XW{A+Oij#7njAqE5j4f=h;q&gaA3lk=3lCnJA<kB0wP6NZp&`*kEUPf2@?ke3
zuI)u2?zI=SkvLI&ATH{a)@6aw?_Le&!ZLzwj{B!JJMdALiFTHUI$R!vK01g%XI@FY
z;7b|Otn%1{aPs{wa_nmk(_FyQ4H)CC%$p@wJIF{^_>(4zQmnQp=5M%%-Z79SwF;;_
z-ejyepmh)3mwyiO&HY@pWo1c09Fy6fT88iZJ|+*HVy<#{!p2!Fsg#fS&;kw+{3~~Z
zCR>72oqvQOj=iAmjcjky3~#qYmwfNFMCj!d!^E$vlwnG5$MpOd7UFjYWY2Utclp9k
zFof)3+U`mvX&y@7b%!sk()KXz;UBvW5ByCtJaEfDoBNj__%C+PV>!~0$<#+@NSug~
z(bn_{1pd1V`@0tW7wN65;qS_U_vJ|6eTrqpDoeSZ``$&sWbnPX{%>^YLyd9}gy9*I
z7ke>M8E$o;{pM0C8lo3usIaznv|{#q+5R{3`~Mz!+YWwmZtbfx43+{7;?l7y5iQJW
z2iPP9m&VOa&SG)d*MdpU*N(Vu|Mn*5jYpZQC<L#L8Uk8@(jkrOfe2oN<s7wIN!m4T
zTUA}jI0mJumMCs0Yc4y8NG>P;qSCzdF4a~t^*}C1?1uNw^q<N^L+pc2>syJzacg67
z19JkN<9}--wDOi&`^UU>*wPSO_axQ(hX3z*PrsbWaVoW=Am728Bn-o(;6;oLf9+TD
zASSaATvrpFndUlGG6rf!III#`Nb$>_;p|np(K=9qUb=>E;h2YoN@U7xWu$q2i(V&J
z%}uYNE8l>@8e~0j-Mt;XPw->qvuO88i;bgCrnF@bW`I=-n2r8fKmIqoVZC7a4}4UC
pt16ib`nsqo4Zbe?&zr&riF8RpYuMl~$~V`op^lw6`t&e5<!?`Idei^_

literal 22300
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

diff --git a/Telegram/Resources/art/sprite_200x.png b/Telegram/Resources/art/sprite_200x.png
index be3a0b00c91906868a53733b5ea9d56947e77d71..d689e0f4e2d92022493d261e9ab339d8a5375609 100644
GIT binary patch
literal 10769
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

literal 48811
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
VO!Xy8_;F%J5sK;xdGZ$i{|kilPSgMZ

diff --git a/Telegram/Resources/basic.style b/Telegram/Resources/basic.style
index a3cda0de0..cc07382ad 100644
--- a/Telegram/Resources/basic.style
+++ b/Telegram/Resources/basic.style
@@ -1027,54 +1027,6 @@ btnUnblock: flatButton(btnSend) {
 	downColor: #db6352;
 }
 
-silentToggle: flatCheckbox {
-	textColor: black;
-	bgColor: white;
-	disColor: black;
-
-	width: 33px;
-	height: 46px;
-	duration: 200;
-	bgFunc: transition(easeOutCirc);
-	cursor: cursor(pointer);
-
-	font: normalFont;
-
-	imageRect: sprite(354px, 242px, 21px, 21px);
-	chkImageRect: sprite(354px, 221px, 21px, 21px);
-	overImageRect: sprite(375px, 242px, 21px, 21px);
-	chkOverImageRect: sprite(375px, 221px, 21px, 21px);
-	disImageRect: sprite(354px, 242px, 21px, 21px);
-	chkDisImageRect: sprite(354px, 221px, 21px, 21px);
-
-	imagePos: point(6px, 12px);
-}
-
-replySkip: 51px;
-replyColor: #377aae;
-replyHeight: 49px;
-replyTop: 8px;
-replyBottom: 6px;
-replyIconPos: point(13px, 13px);
-replyIcon: sprite(343px, 197px, 24px, 24px);
-editIcon: sprite(371px, 286px, 24px, 24px);
-replyCancel: iconedButton(btnDefIconed) {
-	icon: sprite(165px, 24px, 14px, 14px);
-	iconPos: point(17px, 17px);
-	downIcon: sprite(165px, 24px, 14px, 14px);
-	downIconPos: point(17px, 18px);
-	bgColor: white;
-	overBgColor: white;
-	width: 49px;
-	height: 49px;
-}
-inlineBotCancel: iconedButton(replyCancel) {
-	height: 46px;
-	iconPos: point(-1px, 16px); // < 0 means draw in the center of the button
-	downIconPos: point(-1px, 17px);
-}
-forwardIcon: sprite(368px, 197px, 24px, 24px);
-
 historyScroll: flatScroll(scrollDef) {
 	barColor: #89a0b47a;
 	bgColor: #89a0b44c;
@@ -1179,31 +1131,7 @@ contactsScroll: flatScroll(boxScroll) {
 	deltab: 0px;
 }
 
-btnAddContact: iconedButton(btnDefIconed) {
-	icon: sprite(188px, 93px, 18px, 18px);
-	iconPos: point(8px, 8px);
-	downIcon: sprite(188px, 93px, 18px, 18px);
-	downIconPos: point(8px, 9px);
-
-	bgColor: transparent;
-	overBgColor: transparent;
-	width: 36px;
-	height: 36px;
-}
-btnCancelSearch: iconedButton(btnAddContact) {
-	icon: sprite(188px, 43px, 18px, 18px);
-	downIcon: sprite(188px, 43px, 18px, 18px);
-}
-
-simpleClose: iconedButton(btnDefIconed) {
-	icon: sprite(167px, 130px, 10px, 10px);
-	iconPos: point(10px, 10px);
-	downIcon: sprite(167px, 130px, 10px, 10px);
-	downIconPos: point(10px, 11px);
-
-	width: 30px;
-	height: 30px;
-}
+simpleCloseIcon: icon {{ "simple_close", #000000 }};
 
 boxPhotoPadding: margins(28px, 28px, 28px, 18px);
 boxPhotoCompressedPadding: margins(0px, 2px, 0px, 22px);
@@ -1243,7 +1171,7 @@ newGroupLinkFont: font(16px);
 newGroupPhotoSize: 76px;
 newGroupPhotoBg: #4eb5f0;
 newGroupPhotoBgOver: #3fa9e7;
-newGroupPhotoIcon: sprite(74px, 104px, 30px, 27px);
+newGroupPhotoIcon: icon {{ "new_chat_photo", #ffffff }};
 newGroupPhotoIconPosition: point(23px, 25px);
 
 newGroupNamePosition: point(27px, 20px);
@@ -1449,8 +1377,14 @@ usernameTextStyle: textStyle(defaultTextStyle) {
 }
 usernameDefaultFg: #777;
 
-youtubeIcon: sprite(116px, 338px, 72px, 50px);
-videoIcon: sprite(0px, 340px, 60px, 60px);
+youtubeIcon: icon {
+	{ "media_youtube_play_bg", #e83131c8 },
+	{ "media_youtube_play", #ffffff, point(24px, 12px) },
+};
+videoIcon: icon {
+	{ "media_video_play_bg", #0000007f },
+	{ "media_video_play", #ffffff, point(12px, 12px) },
+};
 locationSize: size(320px, 240px);
 
 boxOptionListPadding: margins(2px, 20px, 2px, 2px);
@@ -1501,30 +1435,6 @@ mentionFgOver: #707070;
 mentionFgActive: #0080c0;
 mentionFgOverActive: #0077b3;
 
-sessionsScroll: flatScroll(boxScroll) {
-	round: 2px;
-	deltax: 5px;
-	width: 14px;
-}
-sessionsHeight: 440px;
-sessionHeight: 70px;
-sessionCurrentPadding: margins(0px, 7px, 0px, 4px);
-sessionCurrentHeight: 118px;
-sessionPadding: margins(21px, 10px, 21px, 0px);
-sessionNameFont: msgNameFont;
-sessionActiveFont: msgDateFont;
-sessionActiveColor: #aaa;
-sessionInfoFont: msgFont;
-sessionInfoColor: #888888;
-sessionTerminateTop: 30px;
-sessionTerminateSkip: 18px;
-sessionTerminate: iconedButton(simpleClose) {
-	iconPos: point(3px, 3px);
-	downIconPos: point(3px, 4px);
-	width: 16px;
-	height: 16px;
-}
-
 webPageLeft: 10px;
 webPageBar: 2px;
 webPageTitleFont: semiboldFont;
@@ -1575,3 +1485,6 @@ infoButton: PeerAvatarButton {
 // forward declaration for single "title_previous" usage.
 profileTopBarBackIconFg: #0290d7;
 profileTopBarBackIcon: icon {{ "title_previous", profileTopBarBackIconFg }};
+
+boxCancelIcon: icon {{ "box_cancel", #000000 }};
+historyReplyCancelIcon: icon {{ "box_cancel", #adadad }};
diff --git a/Telegram/Resources/icons/box_search_cancel.png b/Telegram/Resources/icons/box_cancel.png
similarity index 100%
rename from Telegram/Resources/icons/box_search_cancel.png
rename to Telegram/Resources/icons/box_cancel.png
diff --git a/Telegram/Resources/icons/box_search_cancel@2x.png b/Telegram/Resources/icons/box_cancel@2x.png
similarity index 100%
rename from Telegram/Resources/icons/box_search_cancel@2x.png
rename to Telegram/Resources/icons/box_cancel@2x.png
diff --git a/Telegram/Resources/icons/dialogs_add_contact.png b/Telegram/Resources/icons/dialogs_add_contact.png
new file mode 100644
index 0000000000000000000000000000000000000000..0569c8732303693ade3a5a4c946cf16abde251bb
GIT binary patch
literal 124
zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|XHOT$5R2Zo6Ak$o6nL2U|Nl>)
z6XV@}%%Z}0=Om>AJR5=zn3e4lb&cKkVv$FK_2+3qnL7eSEpk<-F8V(2uj@>U`sut6
X77K{~dMWuGXdHv5tDnm{r-UW|cb6&o

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/dialogs_add_contact@2x.png b/Telegram/Resources/icons/dialogs_add_contact@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fca9095dd81bd93cd18068d16a86c467c18e9e1
GIT binary patch
literal 163
zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbBvOHZJLn2z=UUTGXFyLW0=<?_P
z^v6p%zHLfa`fS7Jh7B!FlLZ4Wp7>aP;7yEdz}J|9G`+Lg+ZCHT9FHg@2^e-rxELL?
zHTi$*w)3&67xJ9hCjRE#`}F9J*>LGwth)cd#b<9{$jxlV>zvM7`wVC+gQu&X%Q~lo
FCIEcWKMMc=

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/dialogs_cancel_search.png b/Telegram/Resources/icons/dialogs_cancel_search.png
new file mode 100644
index 0000000000000000000000000000000000000000..211db7e3539f55466275cbc578ca63f407e8f43a
GIT binary patch
literal 197
zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rhe9#0p?5R2ZmlfC&E6giwv-}xVB
zJ8iRp)E^O(jh)g5kNfjD9AvK5SK#h=^6~K8e8vEeY0Ju%`w5?{OE0ip)uUy6J8e--
z+oe4R?JYRBm_#4kl+%7Gq(oHXj7E=^g5rxXp(&=nIZVvWW<L{KvTX7}wg9U~4A&g%
w$``$?xV<O8HvZ4Ml=N>?<v)d;|96pp>+0g^CIw8IKzA{Cy85}Sb4q9e0K|(-8~^|S

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/dialogs_cancel_search@2x.png b/Telegram/Resources/icons/dialogs_cancel_search@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..f20842fbc65d666aa29f8521a84b8682fe414455
GIT binary patch
literal 273
zcmV+s0q*{ZP)<h;3K|Lk000e1NJLTq001Na001Ni1^@s6;Q*MJ0002kNkl<ZScUCZ
zK@P((2&4Ov`TrZ>N!ew+v`b6DTA5T!kt&rq4un7!5gF15ue$|o@d!G@R1g3GKwmJz
zJGKMBSOH-7KRbfF^GQrmQQpuQGP6?n0En4|?L)iCdMd$1BVuvT39EDY#6|CNT~7!#
z?>vx_fs--B%)DegU6>^1x}d12!tI`#bSSD)YTC6QBL5z;R)@M(+PAtGTa}Jh#kE!Y
z(W*gf)xt8xWH>{mLsiAyBc@;B?xLz;`@<dm`k}adK6Y5&VHMA0c&CEyLc8|k5p;$(
XJtplI-O0}p00000NkvXXu0mjfJlJ>C

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/history_action_edit.png b/Telegram/Resources/icons/history_action_edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..27b1e77a918e59bc1a2055bcd57a9799c5372bee
GIT binary patch
literal 445
zcmV;u0Yd(XP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0004mNkl<ZNQt$U
zJ+6X46ot=RU+mn1wXKD{iH*I)V55agU<D?IHJG>nH)125g_VgtrHL_tsOJ^FnFq?x
zpy4LB050ddoI3+307Q);b&7ul5P9C}I1Wyy6Fkp*yQYJmrsFt_qKG;?&m#beNV2Y)
zsJ?kL8l}WvAs+*>Ixm6bcbZInemou*ij!m*hQ$C8VWZJVrA_A~8OJdvlZib*cW)ye
zMbWExF+hvk*b>JvUDvf+MM>X3w51&Ir7iD(r0=%2+-|o#Te1PVXgZx*iR;b_#F=_&
zJRT1KK&R6|v)M#m-0yeHW;1Ly8;A&$Qn|IM84QO*_WOMT;BvVv?c6f|57z57&*w9H
zy&eH@u~@tf)WY+8z;3rA`P}N=ZkGV)`+lb9l>zN`o0rSQbQ^}Dc@p3EIiJrnH=#Aa
zb=}N0u4j@IuLAhdlO7BPX6o1L6^FwC`~4oRR?B>$%2rEO7=Tg=tJMnI?G`~0;CMWm
nA`vl5xN0c;`BYcb{#Wq}%RU(QrQn)>00000NkvXXu0mjf$xz9D

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/history_action_edit@2x.png b/Telegram/Resources/icons/history_action_edit@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..13571d1b258174f243ca849684d1c46ae530c92d
GIT binary patch
literal 1011
zcmV<P0}T9$P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm000BJNkl<ZXo2ln
zJxlCB6g`>Qr0`eRSP7C82A4$(|AOrzf`3J96dOSsOR==Ew6n3%6=Nl8vn+~XC509m
zH{RF03Hi=UHoJMkyAWm#!*I?$=ib~z4FKU62WuL@xbdGr)6ob4##n5%EDM*Hm+1HV
z=ytoA`^4|8plM!=F=C97VHgB}Ow**7mlqNd1OausT>?P5u7`UWW5hYnI&-=N0EFNd
z78YnQ7*H}sqY<sIuct`loHrfNx~|8-o2HowKB~mV#zu?;W2{*P1o*|pMS6XG%>`dX
zqA>!pna?62?9{jdrfJgi^RqN~5z(5EA|R?=_*SgqzVKu6itb6Swry7eFF_(Lb+mN}
z?{Ut<OWaGgxvW)WUdHofF&GTw6p#U51Ud<RoXkh#=H^CT0bSQ)z@vo9NC?YWmZem%
zMKK%>snh9{6R2XFByr(+*L7<F@47D8wk=o0|B~mE;H5^1sC{HXPs;P2=Y`;fvQi3E
z_58T4G8(SyhMpIAq!p-Q8{4)gVjJaQuIW}e91cV9;^CMxLgW)rv5o3%QwDx{dAX=y
z<t&t!=}ETAXyz5b=eN-&TV+APR##wJt+J$G%Lz==^PcC?%F0U2HqnW<_8PElJN5!T
zPPnd1?RGoWI21Ckra-&ho=B?{;1z9?Paul~0NUT*uLZp4d9hZReB#%pfH+JLFbsoE
zPEN+od~!UfSh(d12+v1f7a3!8e0*F9d{(PWw(Qz#;Qs!e_V)HtMXsuZ=XtcWv{VSb
zHU&hs=jP_f_kAKF+TPxd?ctnDlSsD8qA^AB37kzp$hfw)76Y=gvlAmJLn5zL7Llk;
zfup0N6riXQ0z@8(tX5ezrqo7&F-Etyx0%4Uwzf)1yuH0CgRe~i05m&0OCKK}xz;FB
zqNr6)MF9Y`xw%>BZK8Bd=(<h^2M5vxoA&{&76ONdhouCfc1mVX<#n`n1vux_>-D4v
z5E1R}?$XT6Ol*!X>hoovF2^P?KR-`jUtdz-ecz|Y$4BaPI!azof)`&xDuAaJ5@A^u
z48us?1_1cJkB5f`IF5s}voko3gQuq__`VNK(+~s!IOhn00IgOFqtPgL75g+z!_UtT
z0EG8cB1K?zbv5?)-Q69oudi`+b%pcubM*Ute13k$_UO7^2|VXK1kV`5_xHCFcmUAw
z*GD2wPfzjw{*H@_3pkF0UayzR3S$hKrh$kGLHoWB!!S}ACn9K?1^}@$IOobFQUrcm
h{QpmV)A8#G`~d}~!uw$HEdT%j002ovPDHLkV1f<j-4*}<

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/history_action_forward.png b/Telegram/Resources/icons/history_action_forward.png
new file mode 100644
index 0000000000000000000000000000000000000000..b48285c295d39b733e00268b18250ca09c96fab1
GIT binary patch
literal 311
zcmV-70m%M|P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0002~Nkl<ZNQvc@
zF^YyT5QXR0Ml8fWy`%})q_Vft0|<6rz*~3>OR@F@cD5eDR<P3|AiS;oVc8YpZUPJY
zV45&*KA2%9FCqe2lw-5_KLrFqK#rqtdkhdlP~Z3Dd7ichPa;VY0Khno2*Xgv^D_Vd
z%<~M!m^}ahEXxAU`ECB|qI6xS)lbej#c}-UZQC}=vW%u_x}U*sbsPusJil*|37zMO
zs;cY(E|q0z4=@Y^eBZYNXxkR9>we!NrIc3Osc9NBdmyF!QoOEfbBiW~co$Ymp(qNo
zn|uNGeMg$6=5LV@0_(a$N~!C424IXKiX!d&_bsxezxQQ6)d%EX-|dGOmfQdU002ov
JPDHLkV1j1uhDQJZ

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/history_action_forward@2x.png b/Telegram/Resources/icons/history_action_forward@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3eae397ea13b7130bdd80ea83d58e06e96e1b9e
GIT binary patch
literal 600
zcmV-e0;m0nP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0006XNkl<ZXo2mR
zKa1)>6vfYmR|Kn|g@u^f#`OLn*a_)GLB-N4U}q(^`3Pd=2hh?|Foh7(307KISSTVE
zS_Bk@aJSmWzV)GNj2QzSxXqB9oFB~0oyi9Pf{(?q4)Cbn0Ic-}V68X6ZzM?)0)fC&
zygdO(rBWCUhX{p2u6uhng%XJb48wpZimv*4x&~sg7);ZIBuTD$dcKGwkqAbk5oB3*
z#gEA@BnScqg8>SK!oyz7wo#tv(d+e~s_H{NO#1-GacH;O&@|1thl_a}tJ!R#)9HZY
z?vL~5=Rl*;a3$1tWipwY&s3{bgu`JJi$xp`hr9ggd$E>jniLEM>1VDh^;!T#M6=n9
zL{aoF01?q@wW4@D?q2{RqWykPvMl=-fQaaLJW@WN_b&huk!{<gs_K6MKE5daZb|f-
ze_3|B9pdpg*6Z~@<1f+3ZfUt(BArfOg#Xe@Poe2_O3`T4pKHJ{3=#yvpSw`M-zT2u
z{n-aPoepsv=g&^8Y1%#Kpi2O^i|2W&*XuWf+qO-$TFuEfo(lkg%H{Ia@Tb#>N~Mw`
z?~D6@*Rm`Nxm*sqt~+|4DZqBSg`y}JkH?NZm;o#n3uLod%;)ome3%?1CX)%0$>hV~
z0R{lNu0xh(Y&IKL{5%EdcDqm%1(s#G=II$gtJOlKQo;FrcHR5wec%@dGRJjsq4Ar1
maiO`UHvntB0a)t|z*?VlC%C|0+Cjqr0000<MNUMnLSTZTPZ^8=

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/history_action_reply.png b/Telegram/Resources/icons/history_action_reply.png
new file mode 100644
index 0000000000000000000000000000000000000000..53f921e0f9ef667180bbc84b209d928f106664ec
GIT binary patch
literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0004nNkl<ZNQvc@
zudBjP6vw}AWf;UFD9a8FGYA(1QA}%sRj~OFESX=kn5{NN1dB$Ce}P!6qH#ro3j@dZ
zg~uMsrp_PZh4+P1F6W%jz2}~DZwvqtp`<92{}X^DNk}9T(Et=h!FW7|uIn!YfS)e%
zSu&aAa=9c)mdoWppOEHXR8^Jh^_reO3drSh-0gO})H?tfz?WC6QmKT+Vu4I1b5+A)
zv4~o&hC-o$bUF>&wsAZjpSy#4y-wS<8CKivmc3q&nx;K2QM=vd`FswY{8Fy#ayT3^
zl}ZHzTCLVgiGxm*&1U_8cs$P8Z1xeze!mYo2`I}l2ZO;!AoKbBcAIv)-J5}q<M41e
z&~coHkVd0%dk##~^aThZu6z_lp%8+dPKTS##^=9Ut?o~9v)R1bsjlmHTd`89a5Ngx
zb=}{Xi{T6oG7N*K(<v0dvwS|!$z(#3?DzZk0RSk3pk-O10iIQ>RZgeV#{dA-G>xjN
oKK};EG668=QKHh{f0^&<8#_n(9Dd1JU;qFB07*qoM6N<$g2rjhMgRZ+

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/history_action_reply@2x.png b/Telegram/Resources/icons/history_action_reply@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..84fbad64700ed14843b8ed1df88433795deb56f0
GIT binary patch
literal 864
zcmV-m1E2hfP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0009gNkl<ZXo2mR
zzf0?E7>4hYb0VRlL<=I8cBz662E<8(F5=)KLPg^26c88xfg=_dU8E3DT%3x7gWysq
zh|qQt1VM!iDToLbiV*yPqTJu`(T{5BXObq(InWE9B`wc;Uk!bq<oyAF_=^#O4$v%Z
zfuLy%1Wj82079V<6h-l(m1CL~2#3SS<#L#uob)1(W113(#bU_k^O%^J@G6gETni|Q
zf?~0V;o)H~^Ek$pKq8UA>FFsVk%-rM9OGDEetsU=Y!<RC`;o^njs!GK!@<D;BuVls
zk7H~Lq*5v9x(-43vqs0S@4g@i0(N(Iv9z?*iad__3E+354@0344i68Zs_M6mL{UUE
z8pYt?AbNUw005R{f%Nxv;|ChN(De59;`sQusXhMr`5Bj&m$<mNK%r1Tp-_Nf7_R#@
zf?q2Zi}CvUntpJ1cSl{<IXyj1Q55Uec2S=%jE;`-_V(77@LwsH%iP@DWGoi*Mj(+$
z@ZsU1CE;s%dwZj<>kNm(?gf&`Bwt=$S{}ZZN~OYNGU;4E(=>j3d;}W4mbJAt`vL<4
z1FTdkL1(Tbole`o10y3Nyt%mvI&&Qx8yoij1JP)dS65d-XRbq4Rr|Y;EX&O2^Fe3+
zgk@Qb$K&?rfFwygIywqE_b0O1tbG9h6a;~LdwW6W{>0qeoPB|6rBW%!3q3wQvQ#S3
zG))?YLDMu@E|;4YD3wZ-B*~co04^^t+nN!ptE-I`AOMP@$ap-?+1XjHudlOMEIOV&
znx;7y06<k$`TF|$zs(mH7oAQ}_Vx8~Wo3nDXJ@tq48x!x2+jonaB6CbmSuS=P+MbT
zW8B~0|MrKPnVE4X0D$A;<GjDW_eG%gu54{>HGD41WHRmr0B~q%h^A@!CQz;Z{(f$6
zZ`X-DJw36rv(vpmwfXt^xvv7%ibNvRb)E0;@Bgj!WlMF}xT~v+xm?b7fods=!jqE|
zlH|_LPV)i)*wN9!OeWJ3fod%*EHIbLc_RS)JGIm4bjt()u)Dk4JArD+vfMI(+G=>L
q^0)A3ofEpCEf6$qfuLy%1kFGCtxuAmha+?V0000<MNUMnLSTXlDwy8@

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_video_play.png b/Telegram/Resources/icons/media_video_play.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d85bb194fe11b463080690bb1f0e806a1e08851
GIT binary patch
literal 419
zcmV;U0bKrxP)<h;3K|Lk000e1NJLTq001Na001Ni1^@s6;Q*MJ0004MNkl<ZScUDE
zF{;8q5QfJPf`kx)h*(&qNFgaiEX6Vh@CcSEQh5uHkRw>+0I5@2*$F9AcmPQu^1tFS
z51tQRHZkjN;Rn+!3Hy=E&dd&o2&55)YJq1yLQMz@O{Y_uOeQj2h^U3oVzHp>^-8<l
zjx5WP=|m8T^?D8FbUI<VT*5F6p?6zGdm-j{JYqJR=_3RH_xm0D{T`0v=pn@1ZZ~YV
zTbQP)hY(W~1;Q|VCBOO=V$w9lcs$le2>8ygBuQY~wjM%ERaJ<hNFO04&vVS@^QQcI
zpAY~%9uFK22Y8;RhY(ZOHR3qNa5&UMh$+hwo6Y8DALZkR@B0)4!LKzXUx-_d>$>WH
zS(au0HRbmSozG{iRx9<#o==ozS!xR-*PPL4B(#TAA;GFFU#Ml@k|)%$v&#{BVfN`)
zsE6sWAE6%S=k7vL6v?<@{D}cuHNg$=a=C~+-Wg$`ccFazc;+M2#20-u$Ri7-+JyiB
N002ovPDHLkV1k%Jw|@Wt

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_video_play@2x.png b/Telegram/Resources/icons/media_video_play@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..2fffaea0a9a35071f7d6ef5fb3040e38576a41a5
GIT binary patch
literal 720
zcmV;>0x$iEP)<h;3K|Lk000e1NJLTq002k;002k`1^@s6RqeA!0007)Nkl<Zc%1Fq
zA&W9W7{Kx827|$LNsNNQDx!#BP^^9gi^UIMvKx&C5tG?$60M5Gv`L#`#Ud++!uq^H
z2JT+(edpBOoo8m}4_j{G?);rM+|4}u0RRZ5f5v2g1JpA>f((!#10=`*2{J%}43Hqt
zff!>Di^YI3J?wpX6^`S;U@*`I3B9}+W5_$7&)90UkTK@z*9iFX4~VzfY%rNjstV;l
z5N|e{VI&e!4JtSwUbov-2`P9WL`27NuwJjL03`>AXIT~|5(&ysa)Ef0$%HBr4Io6s
z%jJTdPKO#49U$KEc*IhvL<Nc-5O2L+<LBq6Y$&=wywPYR6Nx?$;(dK;x7#wH)Bxh`
zc00^uGC@MA1;kq{78s32gMd;Kh}ZA;{YFw72=TtH(rh;Uf>Ixd=hL=|K0v(bbc&2I
zub}h;;(4^KqAw8Q{oj^at@aL--atIdvM?TxzXBBwAl`U9eikWQK!{IotAr1TXWO=L
zTjhf*c@<*}T-WvTQ~KU&wSs&;4*&qS+wI#uJ&r!#ESt@O>$=eE^&ajSpf8on<%f?M
zAOJX>PEf5@A)QYDct5m@G@|&g?T9}=6Z*~PbEs4*0Pwgle=T%C+wB$#g#sK7hyTLx
zLbC>4uUBX^8jwn*V87r03Wult8Z;aZUw%DW|B5Y_ODGnLPrX}yO1pQEZQGd3<;;fJ
z-}!X5uLsZz+Zf>h3ShoSO(4f{-rY*o7bxHvM|FTaKF-kxNb;ODT_B&2l+^|bU?@RN
zpa92O)B=()7^Mb~#L+tXK$3?u=>icM@1+MsY(Sh25Ya~rXaEs@NJTD?0*^V#15)Hc
zxnEtLPj~26XwJo6%>W59K!OaAAOj@G00}Zcg8l$RAbZ^#X72z10000<MNUMnLSTZ;
C+&l*W

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_video_play_bg.png b/Telegram/Resources/icons/media_video_play_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..151473b9b6c46960c3d58b1839484741a0b8d13e
GIT binary patch
literal 899
zcmV-}1AP36P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk0009@Nkl<ZXo2OM
zF>AX{7{|XoGB|Vy!6`#<h>L?bSr7v5eF5=B_+ESgjt-K^LAnP5LOUwB#KFl)G=oFH
z!2O5*64LgcwzPVe#t%G04imoLd%VkeK6eLzq6g;lIaF1Jq9~AM8ImMnI-NokMcm)t
z0|1()L0Oh4iUN6_W4qlVO;f~ij4aFgkcB&RXjs>En5K!vVgbW2Fquq#^gC5mA&Mew
zHXE$hYrMR?bR`kMtKlDqAPCg5Eb4h4t?Qb0O<mX2^E_%<78L~HS6ctY&%bP077c=+
zbCZ_{f`D3<#on-C7}RxL+O{n-vq##trLOBz!!Y_cObDU2ZPO%4m>Ydhk|fl&ZAu8~
z$M9@6qmJY7_W1$Fap-I|>(;QQY1H?9-rg?a`##k)tsBF-uG26Kd3*YjFbt`#>%TLs
zY1*GKdn63Q?_~P&n7!uP_!7SFe>JB6e>T3x3F^Bzj`P{<{jt%uZQh!HjcwcCGi(^f
zRs7HXmLy3oEl%DxxUS1vYiGEw`?+DuvbZc4`=V{z4{L9Ne+Ytr<#LJ9XoOo~G#X*K
zTtX0pH|?kF-YVx=K4tjv@sVx!GvvKDs_S|$5AWAPUDu~&CjkJ{G%+5Jd2~J##^W(e
z(*ytz09Y&*JoPZ)=<#kopVQ~(=O1sl{S~UJ!o$M@h^neLZx#S1lL=H+1yK}*w-#n7
ziUK0bGH)HskYyP}k|f?bm?23L$aFg8t%DiU=@dj1Mcz7?A&MgI+P0;)^uX{Lhr<En
z>&tEn(liZk4a{ho2Ba)Y-a433mL*706ufmXqbLfHJkNRSU`C$jAlvPhw+?1(w_A`j
zO?m5JMw+G|aU7$nD&AUpr>ZK%aSW1W8KNlSt*3XQC_<KHuM3aOX2V-g?;Jf609dcr
z*zI;)1@*~px5Ik9K7FPDsONdSHy3-u^SqDy(oauM%zK^{@4ZprwZM#J%@r$xAb3;I
zcFOR6zsG8|!r^dW+x<OqI2^EAt+3zk-?R_+bt#7ULL5UYdB6~hS}?S-rDF`LFzpzF
zDm^^U^flk!ofem#kLhci$a*OsKA*h@Qy_jGgE<25J_d8h<2?S_F`mI4)aummIoEm=
Z?>|QPX^jsa8OZ<u002ovPDHLkV1k!;uZ;iz

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_video_play_bg@2x.png b/Telegram/Resources/icons/media_video_play_bg@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..14d50e738e84c291981eeae05e575d6a306f5c8f
GIT binary patch
literal 2591
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

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_youtube_play.png b/Telegram/Resources/icons/media_youtube_play.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cf8ff40eb25f05d1dc92847c49674138511a31d
GIT binary patch
literal 286
zcmV+(0pb3MP)<h;3K|Lk000e1NJLTq000;O000^Y1^@s6t-qY}0002xNkl<ZNQu>!
zF$#k)6o#L15G1pk;1%3Fi3jiyZXQ5z6CAvN$8dJ>5aIy@aS4RKLrEzul+yO6_(32;
zcpu~?f8vP<got7m|DOPW7-OWaYtdSNEy3fsXI)nmMFFMM)4DguYk^~$CS+O0699m<
z7Q-+gj$@9%vF|&oszMls9D!q57UX%(6FA0kM4F~N0dVb4*L8@Zh$C=p+lI0%5d;B8
z;Aq<xA_7`e_`ZLepJR)xwdnhv(`4E)rCqe+I5<(^!Y)aY--q2i&z!iXJvhb~G))7o
k^{0g)BJiAr#reN27i2Z#eE4$&2><{907*qoM6N<$g70*94gdfE

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_youtube_play@2x.png b/Telegram/Resources/icons/media_youtube_play@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..9aa7f511753e2cbcd5f9eb3a8cc575c613f641ee
GIT binary patch
literal 530
zcmV+t0`2{YP)<h;3K|Lk000e1NJLTq001xm001-y1^@s6%#*v30005mNkl<ZXo2mS
zudBjP7>197A*gvp1dGkGB4$C%B3Nu@vj(vVViv?=w)qEG7KgAlEXFYe+hk}M9Nrt`
z$mMe34)r=;@PU<a2Hz9Do$p6V2mwKimUIA*@)1ay*aEt)3&Sw}GnTtSoab;j;Cwz~
zJRT#L%f<TUMNhng-|>APolXaurX?NxeF6&Gwo$26cm)7JN{QuiiF`iKDWC|$5X0dR
z>2#V?K(XKN(QGz(1r(dj2IX>@R{#K_D8g(ugJBq)0*d4Dh+eM;UDr7U6t3%{Ua#{C
zDAwyWN~IF70C3HZ$z<}3vLqP+h41_5cDs+1CCLgXw%aYL)he$5a4kz#s}%}`0;hl?
z3`2}YBV;leP637Id1$p-yaEc#vS6AfuK;k(kNJH5TUo*(pa_Bh{eJ%zS4vs@1rY1l
z%gAQ4;&Qq0j#W(46haWrg-)lF7z_r&ah%&biX4zqVzF3oCNb@A)bl*F+ikv!jJA|e
z#ayvij1|*c2{?|!Sx(b7G*J{`I-PR1l(bE~>$+$(8qW&+bpk;Ua1OSpM~jwaaSnHB
z$Ls3)r(1APub6DxzW4fny?~VR7C7aawN|TPx7)qlqC56f;$5L@>VNVPNE&*9FLF1?
Uizp4#IsgCw07*qoM6N<$f~9xuo&W#<

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_youtube_play_bg.png b/Telegram/Resources/icons/media_youtube_play_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..76e71cfe0832a799ea00c9cd6434a49cc6218326
GIT binary patch
literal 812
zcmV+{1JnG8P)<h;3K|Lk000e1NJLTq002k;001%w1^@s6|5Tme0008>Nkl<ZXo2n9
z&1&jE90l;>Fdc?;kTy`-Rr;~%!liZPx(lDjS14Kd0Iqxlap5*^5W8{NO>4W5LKike
z8YCu}ySP`mtu}JuwlmoIK|sWh!yz$-%)bIap#)<LjYb1kS64VaJ%tbg)oK+&2sn;|
zYPAXgI6ORDy~lAJaLxe$gpk#1{<qiH*VW@BNid(!0RTl&Ac`UYfRqw(93x4R)#Jy<
zN8H}tVl)~dP1CL4qc&}>>#9ztqh_<2+EugJOm#XP<+|?14*qQGPqy1_6-ANm{NE;u
zBGqoUw->}YSA)SocV2A<gMs3lZ!U;Zs)oa%?u^<EheJgvT`$P@ecjoNadUICDyRZL
zU0ht??(Pnh(tkUR?5HfuaCv!&`}=zk0Pua^mh%@%DSY1t08|bR4%Exbi!JDbEX#0o
zbOh3BwQM;XP)gBiwLqH9rtU1pYBrl7p6BV#VJy${K!gywa~Mkq0m2y5ox@m+F_5pi
z(%uEf$HyRhdwaTb7%R&%`x{h72=V)$wDmb#PzfP~J;cfoLO=+yJ5d?iP6^JrEvO7*
z3>BqR>205%&h9~5*n+koMN#O^U^EiPvF;2;vxiuT`Fw5*DwC!uNS0-~a~O>zNuoQ0
zv5KOwhgg|7j%`8P*wcK8IF3OUi-qnS##$^EAW}-*IgBNxw5RzpS(e#7sEm{nWICPd
z&S9+SbP6&ak9FrT)_6Qd<?QTCJv=<<&SIqV^K+2NWP%_FbZ0S65CoV^CIA3cuh(@i
zEHzHOUVpy~xYz6H&SZ>UueZKV+Ho8ehN13k+J#}L9LL!_ir~8Lk1i<;!%c%N?}s-y
z=c?Q7syxqi=lwQ$o~v%RyJ=2i^Ry2DRjbuhzu({KqVhaf{eEB7YPC<tp(@LkK67$%
zg6r#RG#U+fp0^sLV~k;ce;>;=j+D~1!MU#-rdyIy;^VC=DJ7QIm}#2g?d=U|nj%RO
q#Bq$Lrzea?BLqQ!=jZ3r&;JFUzxyXec%VZ70000<MNUMnLSTYqe1Hf5

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/media_youtube_play_bg@2x.png b/Telegram/Resources/icons/media_youtube_play_bg@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a5698c6e6c47a09095409c006619f6a9a5e0ab8
GIT binary patch
literal 1731
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
Z{{Xkbo3;j4WHSH&002ovPDHLkV1oJkPPza9

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/new_chat_photo.png b/Telegram/Resources/icons/new_chat_photo.png
new file mode 100644
index 0000000000000000000000000000000000000000..3487852470dd88294003875e468f38cf00e38e5e
GIT binary patch
literal 642
zcmV-|0)737P)<h;3K|Lk000e1NJLTq0015U000{Z1^@s6YyCeF0006>Nkl<ZNQuRk
zzpCOu6vj_vjbfpKg5qC@K7-a`WntkXh@{g85kZ_M&<7C$X@ZqPv`mrGC?qN>#Nyjx
zuLHaHn#Aj_`@z70oP0lqbI!~V5y5X|vsoC10Y4drflMaj>-Vv|6B3C8R;!gS^seP{
ziFiEz8aNt_LRHnk(7O~xK_n9K21g<hFveip_S1l8bvPWr7=tK^Aja4~2mUF>7zEq4
zkxVA(opKz91ORv|^+P|N{lRe@n$PECnkKofOOhl}v)QC{I{lnc(7ITb1zDC64u?N=
zXgC~3x7)>byA53DK;ZRyjZ&%PJDa&&4!W-Y9k69tzd@_jDi~wXG!2@jVKSLOk|h2;
zpU=axtk=P^EOXONr-SSD`YGpfxuD%{^SoZK_Zrx?ZC=xAwfZIWuJiefa=FZFzT53Q
z!6C24o6qNTyWNP0XfPO1G#Y)F8;ixL-|rI<(d~94MNvGP+7oP=CXZ{inx_#FQN3R0
zv0)hB2fME83wtC%5WWwVB#Fn1#ljb+X&R3!m5O(=R|D*JJKkK9B;j(oJj^|vPAC?O
zyt(%Ky=Qazj#IbW<zv!rw{bq7zl640EuJUKvY)L#c)Q&qm&<X}a=DDrXarSNp{go|
z!y(@(5us2h_>NK_FaYSfj(k4vdt??01#C8(AeO<vz^|jT*XupJBxG3*w9~tuzK{3&
zJt>MphGCE(2vn(5sL^OpDwTT1=KnneLdWCr?NG;YC^VbR-VUBlr$nMCzU_Hy+cw7I
cF+@?sPp*R`V<hN+Gynhq07*qoM6N<$f~7<;hyVZp

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/new_chat_photo@2x.png b/Telegram/Resources/icons/new_chat_photo@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae3410ec20267a3244f367b1c607f69141cb1427
GIT binary patch
literal 1268
zcmV<Q1Pl9#P)<h;3K|Lk000e1NJLTq002Ay001@!1^@s6n`inI000ELNkl<ZXo2mT
z&r5n)7{=cky_X^oN)dAt*`-y`LfjPLO4>vaNZVWmn${xSggN3m__pXTC<KXuphdK5
z)8dw*`2zxRSt^!Uf#&trJB!9<N^SIe&ef=S;B1cgoaf`!^W!}N03glgbUKlioK7dz
zY=1X;W)_Qu8Z08>%gYNcEG&FY;Mv((6h)CLFd|~5Qo)&-nXd&rH8q8$Qi(cjRmEZv
zCnqPr2Jra!I2H;8$zZFxySu}&v9Znq>vTHIWHOS&R&{-SjYC62bbuL#LA%|KJkR6f
z<73+(q|(#V69$7pTv=H`mSx`qYqeU8L?WHeD4C+sC~CFZS73%=zBO!B7Z(@EFbw`-
zwOaqQSS;|}rB<uq_VyOKc%Dat!O-bEZBZ~7gs#WON9^nC>vWd3s8lLJ7b0S(gS1oK
zoet1${WxHm)B^~D07pkhaD03Wp->1?sTADb-va=ELZJYiP6v9u9!w?^OixdPTrQV3
zkW}klKA%Uo+l>PQ15I!Hlu9LfJRV8+=8^#W{eD!bRKLC7Rjbt)2n3{vMi*EVMO<85
zq;-r#o6Sc3j7<$#6h)kyo1+F>ZDzBXDm1l8%Vx8|{{DW$*IAYYqtOTkg8?)e4FCY7
z(`n#&9!^e9KoEqw@7vwo1(iw#TU%Rng3|cZ{C<DKC)C^9i|gy_czb)>@cp@54%gP!
zu&1Y|p%1O!G%;{KpKmxpjgF4u<>h75UWr5kIgV>Mk<pmFiGkg2cSG1*F4wYOHk-wf
zk&(KdUayxlE*WsST&}y$_V)I+^khFO7K?qXQoOCxf*_DYCIdb=IH>z1+-^5fC`3e;
z%T?F=@bHkxmk8Kqv(*G*S@zQjs##?+8I;LnHU18VgUFZY@DK`xYWj>uBlP$8lh^{l
zYlUKRa<Zv0TM-d(DwV3~qgg$v=aoz*i9CsbtEZlStGcP6A+1*1)R?X4$DN0XfE5Zw
zO<y{lCb4{{tE;P~#%x7Iz&f3-rjO@&63hSe;y8}TlL%O^*Vpu&oSeYT%?*hy003k%
z88|&XZEDO`L<DRynQHn3L4aSsev#M$0Kmq^28g2A)R--aWDzfy%cxW;Yc>ZxJw2F6
zB!1gB5{V$gFg3m^l?p4B3Q1)0!-L1;sk;T_I1aPfY|DPv*Vi~aJY3h)=kt-qB?m4P
z3aD1A>joSd8NpaA*0fh75@`sl(P;4D;ej+Rof1zV5NLRCXIU0qF4w0Q=jn7BS65f-
zevPYbZ*PxARHSy*vb41HX&FW?m&3%w1Q-m4w;j~g)fMnO52vT6btkB*91aI;Zf??u
zNvFhv_*%p>o6XdVc=Pk~`274#D<=Iit<`F!2J3J*sKO#jREQ4*0u3j!W|~H$q4t~o
zD9Nr`3WWlCz23U(bfczHsnF;1QJIY!N%H&QN~HqF$H#A%X~|^r-DMibac`GtCX)$d
zGHLJk{=X3a?)rJa<#M^x8QP{&sRZ5ec)Zg&+NO9s4&6IDJDtwaHf?Wj1F$TM(P&h%
zb?>Vv91d3xC$E1ly|}pObSB9Z4u^4YaIm_;`R5q7yu6I(=jT`~7CW7hSjA!y&(6-!
eZnwWXcK!t)SfnY(G(FY;0000<MNUMnLSTZWr(?VT

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/send_control_silent_off.png b/Telegram/Resources/icons/send_control_silent_off.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd0a88d5ff223b8c99e4f318ca6542b63a8af011
GIT binary patch
literal 518
zcmV+h0{Q)kP)<h;3K|Lk000e1NJLTq000#L000#T1^@s6sTZY|0005aNkl<ZIE}56
zy^6w65QQfj5mW?=6cI_G2-*tiw6RlLLGUr`#8=SD!paAbfMOT1wo4@m2mx&k82kan
zi0Ij3*DUVFB+Kr=Dela@A9LpnLqwo|jyJbrxm+eiQ3!x7P1C4Wt9gRqq*kj10JvVS
z7>~#3^?Hyb3CH6R0MO}l9N&HFXEKw?004%=q2r@&w+jHs=kxxd?RFag+&TdO3<d+o
zn&V6piG=6OPN&n$dyddRAm9l-pU=dytbb@Omm||OU7?0yP%@eH4^5}jG@s91p^Bmq
z&-27Ej5kye1R^4uOeU_-M_m*}$NH0V&1Mq-AP9o1`;kZl0MPIEy;tgRIAFWox&j~4
zH0{;ueI4rcIsl+lD*1wnq6h$JG#bv(U@!;(P*v3z@F7{20RTMD|AfwFGZ=>PE8s)A
zu0z*#Fbo4C0z*VtEEbf_W@$Q|(r7dyj^ke2{w?<VJr#>Zs#dFH7zV}T@elVUNrGir
z_)A<a7s#^w)hQ7X$8i)2h3Iy>*<Hk9F-oOUwA=0MTr?V`^?FU4&Bo5LEK8PUJ>^{I
zwOXy7Ix<ZY;c(b%&hF4cp#W7?alhZOTrN?mR6LEdzyF`{4$!XNH{6;W?EnA(07*qo
IM6N<$f;R8y@Bjb+

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/send_control_silent_off@2x.png b/Telegram/Resources/icons/send_control_silent_off@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab33c4fda5b8d0a6541efed7995f24714cf8f311
GIT binary patch
literal 1029
zcmV+g1p51lP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*4000BbNkl<ZScTP@
zPe>|J6vodyMbgQknxrX65GsUdV+n3VkZ4z%5Q4Tr+pM+QqK%ut7STG|v`BK3LJ%bc
zEs7EbLo9<Liz2OzYR=odxzDjbUT4O7?}H0RX1;TN_g?4B6&V0P_z(2!rvYeX)SAHU
zcEiBH0QmiWaJgKHYoaK^_VzX;lS$ax+R|DIP|fgoJeWu%kX8o=2RJr1rmEJTQM)M^
z41Ngn{QQj9*VmZO=kf9J@xyx}k;wOePEJlL3ZI^yVmKT|uh)x$ARx=KXt7w(X0xH&
z?Z!|jghxk53eV!=VtqmFcKf@6Mx&9+J3T$E@b>rj*AH}IVSyBi$Ky4x%Ixec@o#Q!
z)(<q5N|8ccU0tfaYsF%b<luQ;e^8$1QIaG?M9k%KsvrRX<MFtv?Wb<|9LE8}FaQ8>
zb#+B+d#96=6B1jkR%#zLs3b|X5q+Z9*Vn(rf6>1fsqZux47Cw`qH@rNh6ZXMHK^Ha
zCUK!qpe|6U`}=zmcXoDC`=~+N+uKQ;PN%60RO;^Tj>Li>Q2VGs`}+Dwe0Fw5U7%98
zx3?s2X=$PMQG=FmQ$C-kE>NlC<6{y#oz9xPRDG=cq~!5<RQFMaVes<u5)lzgr4lwZ
zHR;#z1wkOq{`~x0HKaT?Ha5tl2L}iBYxq8&k2L#aGD&0kQhR%QirloSI-8Z16|w>o
z6BC+O)a7!Ke4;4ov-KvENpX;{*=(9Y0RS&9E=bOvo*wO69|#11Wmy0Kh(@EDp7?UD
zuC9`JYHEtg^W{vk*({m4*Xz|~H30xSIyw{wX^JD?=NCsuM@gb=Hme(?JfhJk$sZ1f
z)qxs~M$G5)BvBv`&>gh9yIZlUZEbC}gDx#Ckp%nu`?^EQBNB;_I=j2OwSoG4KE+IX
zdwc5!%CfAY*38Td9jL?Mz?YX7Vw{_ss~e;|Mn*;yutP&bUxPL`H)AfBBZi%wow`HH
zqx=`HBuVIUxjqJUI-NfTDUY?aH3h8S?<dz7nKqNjfWzScS%-&*kjZ3#=Xv-J6^li%
zSS*Tn|HH!rG&VMp&j<iGKR=KEnqslo$KTQA<z;f5`)MT-3A9?R@3&r--EIet<KXS>
zt?G6a3I*zSKgV&<+S*$6K7+vkrBX@p`yT+{9cV2wnM@!ELe)tz3<FP3PjGW{qqY<P
zXn0D8hli=RG877F?F!mj%KG|xRmfB-g=Vw)XF&m!r=UuSqKF*F>CtEPY1ZT8;~0y@
zP!vT>r_-27Brq5ZBEvAc<k$2teW(7L|CxRRikfH_r2|U-00000NkvXXu0mjf14QpA

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/send_control_silent_on.png b/Telegram/Resources/icons/send_control_silent_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..108a85841aedb96bf0b1bbe6d650d7fca193e2c2
GIT binary patch
literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq000#L000#T1^@s6sTZY|0007XNkl<ZIE}58
zPbh406vw~wOq5$Tnpljclod*9N;XO)3pSLpWMyN+LdnXMQi?69NkkS(%Erb<p)BOz
zVpg~Dr&vr=#I4);yv1wo8_)b(yi=!p@Av%9r*qCd_l6{)|7^cX1$%pYl}e=q1pfH=
zsNvz^vS1`}baceZ$_lyXnVA^?JkMiqZ;$2WWwy7sd4GQgU}<S7I9tH~-0bh~128{7
zPb?P0%t$7a1(Onq1OR<~eWjtf>dXv)*Vk97tE&qpg~MS0Ha0fOLnSdZGz7rc*BABm
z^+j9sJdfk!<I13tXlQ64lgR+k)zwunF_Xz~c6L@7w5qBKNjQ!}I-Le!WMt$=;={uO
zuIpA_X*!)|YHA8e93CD5kVquHo!Q#j0w^~3??NmV17LA+G0;|5S1~hocXtDAY-|jG
z?(XjL(1nEs%#4<nmT&sR!~_8M_xFJYu(q~V9-7T&xw*M1IIEtXo?tU1vAMYkP#QWu
zJ`TX>=xEVZibkV&p2x?>2h-Ej0L;zJ6^7Q;)nR5_TwD|d=KJO4W$>YRo<}qq{RzFk
zzQ)X`t*xyHn%_Ra)zwv?hb8Is^i=Kb?K(I((BR;p+S=OW`@V{q<2Z6%SCf;IIzK<x
z`ue&$J3Do9a-#nJen}F^WD+1~=ih72@^v#~XJ-dV3=9kev3NXAC^v&hB%+#{8kw0S
z>GShbO-)T|Zf@4|^RvR?uzcTFV`HOS*OlwK>gedu-QAtu-rm&O+N#^zTg}eS>c>ju
zdngnll}Z8N`#u0qPfs|GQ}BEw63N9%zl?Z1&dbXSW=1xfE%gumTTHI~|7pJg6tt^=
Tk_K-Y00000NkvXXu0mjfPZ3b2

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/send_control_silent_on@2x.png b/Telegram/Resources/icons/send_control_silent_on@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..58a7460a484eecf25f6a5f51172c8bf9b3c3ad09
GIT binary patch
literal 1487
zcmV;=1u*)FP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*4000G+Nkl<ZScTP@
zUr3W*7{|Y_)r5u1wJ2J{ATqLvM4`-O7yUsILJA^+GN_xmn?mfOux<*9goHB2E`t;y
zgV;raOmHy5NCZbvEYp-Ab*_R~;=AH}yXg0x-`?EjyFb4_J@CMJ&v~Bbd^~@ibIw!%
z5PyJ_{MP_RWo@AWoK7bi8yj)x&>>V;SIhc!>((I}jbeCs7@<%IFJ8PTv@0+l-Me=$
zCnhFnR6cz8z~<)Wy!!e}S62FbK3=$RA*0ikD_7FOsH)0%JkG_%MJ_EZrM2<<{lx+G
z`Ft{HI#{pQtLu1vex6-jU97FGrNv^Q*=(lSY-U+m8J$iiJ3Bi$IXS8G@%em(g9d{^
z8Bhqpd-v|iwq3h+Q3xU1A3S(qxTB7a4xR7e!-or>`ktO1-3UB=`jh~8?b<b27YGD$
z9+j@HE(!bW*|Wky0kFNjT?ZQo1Q-g1<ab?NUCy8mhl4+U{Gbqm@pzmjlc{h}0BmY%
z(!mNLD1=}%8qIe@Fc1jHc(t{)hW)Z8{Gp*C?AfyipFVxk)qno{Ih$KnnVXvfNdSP=
zYBlV)>dExx%^TS5c8raUK~WR{fXn5=)vH(Y0u@3)Q52BGnl)>R2MPemWD<3Cbr={J
zkg&II-Gblm&l&Xl_wN7zMNzPJt?`2~r?dXlsZ+Rn_pbc*csv*!9LyyImY0`hxxBpG
zuwTxXlFOGb<J`G(005F`Zf?fx>@4hdyCMHrEGElEU89<uIB^1Qw;KTP=+Pq_IB)>V
z%gZ2%ii!%nd-o3Y_4TX9nVFf9<%)_5!=Qk{^w8hmPm-*usgZSCwrt_l)RgYTX>D!I
z8pr8$O54%V(c<LMRE<O;B*{b~L95j&>lH=O9RwtK<Hn7Qamvff`R&^`3L&VfDs47f
z@jxvW3loV1Nir6Tr9Dv|K76P<7<zkqGsb)V{JFHNudgp2XlrY$JeB(T`ZC&ebad!O
zc6@xCrKP1A?Sv4#dGluRKnDf}WMHq?o7MK%v12;ecs$Oksw$mLLqmgX4~N6W0kzp|
za@xOs{i<7^nY5;+M*3)S<j4`7jdn*BLa?Esp>R--$0Iv?^5lupzn(Umjc?z+)xoy4
zwaNB7ckamg)H`q9pi@&*GGI$fi(ybrQ*TQo+0)ZQ0Nl21n;g+ZBEe0YHsuehZ6cC<
z`SNAXkeYUPck5uaOLOW4y}P?RKhX8-*K>Y;UIsdO@?_qi0C@iVd6_v#a%5zL)z#IE
z#bUCLojZ5t4w^a&Iqb}=+Su4AZ}>t827^J4jEqS5p`oGNKwDZ`bW^o||Nf$Y0$^oj
zB^MVL<@!`rRrVu<V0(MJG0>{2DxLH7>(`40sj10iVmKVu0j8FlnwqkMTCG;j&dy4w
z;o;$;L#Aq9Utd~SRaLof-@f#q4u?Z7Y#{_ECMNz-NKHFCJ6C{e;&!{Goubi>j*i0R
zasdEHA`*$<)vH&itgMvJhg1<lproWkS5B?VBpWww#Ov3uarW$4B$G)1!0FSc(cj;{
z!uI|9_t>#xhx{f0-oAZ1<C^(hR;x?b{<}<0PSS3-%Mo+AT)N+@gb)mcLh09NZ*T9a
z9T<hmWb=FZ;K75sJ))h2n%%{V7il(||DJkHwr}5#4I4J3o$gdAEiFYX7Q@`!984xt
zR@-DUiOrigW9!zfP*oMcuh;1A-Mg`{uz<0#F`a!d7{t+|M}JK>39r|S6`;9@!{I<#
zSsA{3`I7OCP7-Fb8B0q``1tXo;n;q^A0Cefmo8nx{rmTS#mZNYA3wh863`?|BF~s>
z-EMd4Yof69^7!%NRo8SR5-CP1D?Aqt4i097j7FohSS<e!Pyjr0<_yE(FsG-dIWsfE
p@$vDTr#qV#w3+@*`D6ai^b;8FI<Gn_2%`W1002ovPDHLkV1ii2?qUD{

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/settings_close.png b/Telegram/Resources/icons/settings_close.png
deleted file mode 100644
index 7fa112a33b2e9cef41f273abc62eb07b4a1839b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a)4CQlc~5RHkYlP+?y8gj5qzuvy=
zzucZ6AMIlK<9me-ofKa1om^E^uEb>Qe5vA0Psf3~7fWLqQl4?ll$^=w;G$5T{@&Ip
zbk5B4+>>T3X#T+%w}OlB5&w$|j%WN;8NNysPd-?ce|Proi?)9k#;vHATWGZ-Z-cX7
m<F%;!H~3e7Tz5XITbjpNtC>-C&U>J17(8A5T-G@yGywp}X-3=t

diff --git a/Telegram/Resources/icons/settings_close@2x.png b/Telegram/Resources/icons/settings_close@2x.png
deleted file mode 100644
index 40d3def3d2c56edb57dc818be15c1add75a32652..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 296
zcmV+@0oVSCP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0002*Nkl<ZNQtGB
z(GG(k3`IMmzf7y;*}zAW?!mF)5N)9eFVLJrA@>CU0sydW8>EyV#t0+joP&9uVc+-f
zo-niILPYsU&C5CW<uLQHU&2QuCA^eODWz)65CR~g=~=FxHnW9@D!X=)tDB365K-<q
z8ha!P_)lP!Afg6-7HA~~crAF67~$7~JBbnA7HB08@O#0NL;;tnO2=P`NY~k^ueDkq
zT9zV={cxp34=19Y#M={Ulyt@4BI%01MbZaXOGe;N(<7ox%d%9#Sl1Oo2(8>y6=MV<
us`fKmy!Tx<znjE+fBs}<9)g#W0xoaV5m>`KwVn9@0000<MNUMnLSTZtaDGbw

diff --git a/Telegram/Resources/icons/simple_close.png b/Telegram/Resources/icons/simple_close.png
new file mode 100644
index 0000000000000000000000000000000000000000..07e1c0c58feb02ec5be6fd3ef0923e5602afc8d1
GIT binary patch
literal 178
zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4ReHKOhDb~;J-?CnhyqXR!~Yz+
zcP#j>;4|f?#>5x{X61k<U6Ylk{D_JCw0!w<|FvJGk`vNgg1sDFEP}k2uiA7i>D*7J
zRbKDszVTeeRiJL2wKg&B$=??@%H0p}yH&U|X#P={VO{uMr1V_i$GyuR|KYc_P8Y0P
ds4gbB?`Nj}=c0M@7Xlr@;OXk;vd$@?2>?z*N0|Ts

literal 0
HcmV?d00001

diff --git a/Telegram/Resources/icons/simple_close@2x.png b/Telegram/Resources/icons/simple_close@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..7825b270a12b2ea01fb0a82e7228125846fd0146
GIT binary patch
literal 354
zcmV-o0iFJdP)<h;3K|Lk000e1NJLTq000yK000yS1^@s6jfou%0003gNkl<ZIE|&$
zF^+>U5QX6%FnuD0#5G4D6~{=Eb8xFv<R};k32^`#1j?j{K+A40hMmqM`71nc?A`Bo
z>HD6?<3ZCj>?y4^X_^v-A%0O5gkeaUrf9AIg%w3XP?lwOI2<^gPQ-Cc(=@bgy9>+n
zoIpgfvMkw(e#1nB0LVmyE$9*kd_VwK)P~JK7jz8+@PK&-@O_^oNr>Z^F;c)Pwg~=4
zhhYFfDP_d~{I6Z$^?LDqKB?;(r4&jj>bkaKRuJHPJ`+XJbdI8k%jIIbvJCzlfH4MR
zjMGNVru+>X-^>`}l+!=pQZz&aV+_aR(TdJMmz=Gk6X=4upaGC=!Pd|~Yn^SyY^Zm;
z-DD3omgjj~uh(f!Ro8V?RkaI)&xexdIq+G8HzU_L$-_0k>;M1&07*qoM6N<$g6pc8
A8vp<R

literal 0
HcmV?d00001

diff --git a/Telegram/SourceFiles/boxes/addcontactbox.cpp b/Telegram/SourceFiles/boxes/addcontactbox.cpp
index a828db91d..df76cbf67 100644
--- a/Telegram/SourceFiles/boxes/addcontactbox.cpp
+++ b/Telegram/SourceFiles/boxes/addcontactbox.cpp
@@ -388,7 +388,7 @@ void GroupInfoBox::paintEvent(QPaintEvent *e) {
 			} else {
 				p.fillRect(phRect, st::newGroupPhotoBg->b);
 			}
-			p.drawSprite(phRect.topLeft() + st::newGroupPhotoIconPosition, st::newGroupPhotoIcon);
+			st::newGroupPhotoIcon.paint(p, phRect.topLeft() + st::newGroupPhotoIconPosition, width());
 		} else {
 			p.drawPixmap(phRect.topLeft(), _photoSmall);
 		}
diff --git a/Telegram/SourceFiles/boxes/boxes.style b/Telegram/SourceFiles/boxes/boxes.style
index 1d0266b4c..c04b07c32 100644
--- a/Telegram/SourceFiles/boxes/boxes.style
+++ b/Telegram/SourceFiles/boxes/boxes.style
@@ -136,18 +136,16 @@ contactsMultiSelect: MultiSelect {
 	fieldIcon: fieldSearchIcon;
 	fieldIconSkip: 36px;
 
-	fieldCancel: IconButton {
+	fieldCancel: IconButton(defaultIconButton) {
 		width: 41px;
 		height: 48px;
 
 		opacity: 0.3;
 		overOpacity: 0.4;
 
-		icon: icon {{ "box_search_cancel", #000000 }};
+		icon: boxCancelIcon;
 		iconPosition: point(8px, 18px);
 		downIconPosition: point(8px, 19px);
-
-		duration: 150;
 	}
 	fieldCancelSkip: 34px;
 }
@@ -206,3 +204,29 @@ notificationSampleNameFg: #939393;
 
 membersAboutPadding: margins(0px, 12px, 0px, 12px);
 membersAboutFg: #777;
+
+sessionsScroll: flatScroll(boxScroll) {
+	round: 2px;
+	deltax: 5px;
+	width: 14px;
+}
+sessionsHeight: 440px;
+sessionHeight: 70px;
+sessionCurrentPadding: margins(0px, 7px, 0px, 4px);
+sessionCurrentHeight: 118px;
+sessionPadding: margins(21px, 10px, 21px, 0px);
+sessionNameFont: msgNameFont;
+sessionActiveFont: msgDateFont;
+sessionActiveColor: #aaa;
+sessionInfoFont: msgFont;
+sessionInfoColor: #888888;
+sessionTerminateTop: 30px;
+sessionTerminateSkip: 18px;
+sessionTerminate: IconButton(defaultIconButton) {
+	width: 16px;
+	height: 16px;
+
+	icon: simpleCloseIcon;
+	iconPosition: point(3px, 3px);
+	downIconPosition: point(3px, 4px);
+}
diff --git a/Telegram/SourceFiles/boxes/notifications_box.cpp b/Telegram/SourceFiles/boxes/notifications_box.cpp
index 98e9a4fe6..dbd16898d 100644
--- a/Telegram/SourceFiles/boxes/notifications_box.cpp
+++ b/Telegram/SourceFiles/boxes/notifications_box.cpp
@@ -23,6 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 
 #include "lang.h"
 #include "ui/buttons/round_button.h"
+#include "ui/buttons/icon_button.h"
 #include "ui/widgets/discrete_slider.h"
 #include "styles/style_boxes.h"
 #include "styles/style_dialogs.h"
@@ -289,7 +290,7 @@ void NotificationsBox::prepareNotificationSampleLarge() {
 		p.drawText(rectForName.left(), rectForName.top() + st::msgNameFont->ascent, notifyTitle);
 
 		p.setOpacity(st::notifyClose.opacity);
-		p.drawSpriteLeft(w - st::notifyClosePos.x() - st::notifyClose.width + st::notifyClose.iconPos.x(), st::notifyClosePos.y() + st::notifyClose.iconPos.y(), w, st::notifyClose.icon);
+		st::notifyClose.icon.paint(p, w - st::notifyClosePos.x() - st::notifyClose.width + st::notifyClose.iconPosition.x(), st::notifyClosePos.y() + st::notifyClose.iconPosition.y(), w);
 	}
 
 	_notificationSampleLarge = App::pixmapFromImageInPlace(std_::move(sampleImage));
diff --git a/Telegram/SourceFiles/boxes/sessionsbox.cpp b/Telegram/SourceFiles/boxes/sessionsbox.cpp
index 7cd8d1e25..cd3c10ad7 100644
--- a/Telegram/SourceFiles/boxes/sessionsbox.cpp
+++ b/Telegram/SourceFiles/boxes/sessionsbox.cpp
@@ -19,16 +19,16 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
 Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 */
 #include "stdafx.h"
+#include "boxes/sessionsbox.h"
+
 #include "lang.h"
-
 #include "localstorage.h"
-
-#include "sessionsbox.h"
 #include "mainwidget.h"
 #include "mainwindow.h"
-
 #include "countries.h"
-#include "confirmbox.h"
+#include "boxes/confirmbox.h"
+#include "ui/buttons/icon_button.h"
+#include "styles/style_boxes.h"
 
 SessionsBox::SessionsBox() : ScrollableBox(st::sessionsScroll)
 , _loading(true)
@@ -90,7 +90,7 @@ void SessionsBox::gotAuthorizations(const MTPaccount_Authorizations &result) {
 	_shortPollRequest = 0;
 
 	int32 availCurrent = st::boxWideWidth - st::sessionPadding.left() - st::sessionTerminateSkip;
-	int32 availOther = availCurrent - st::sessionTerminate.iconPos.x();// -st::sessionTerminate.width - st::sessionTerminateSkip;
+	int32 availOther = availCurrent - st::sessionTerminate.iconPosition.x();// -st::sessionTerminate.width - st::sessionTerminateSkip;
 
 	_list.clear();
 	const auto &v(result.c_account_authorizations().vauthorizations.c_vector().v);
@@ -258,7 +258,7 @@ void SessionsBox::Inner::paintEvent(QPaintEvent *e) {
 	Painter p(this);
 
 	p.fillRect(r, st::white->b);
-	int32 x = st::sessionPadding.left(), xact = st::sessionTerminateSkip + st::sessionTerminate.iconPos.x();// st::sessionTerminateSkip + st::sessionTerminate.width + st::sessionTerminateSkip;
+	int32 x = st::sessionPadding.left(), xact = st::sessionTerminateSkip + st::sessionTerminate.iconPosition.x();// st::sessionTerminateSkip + st::sessionTerminate.width + st::sessionTerminateSkip;
 	int32 w = width();
 
 	if (_current->active.isEmpty() && _list->isEmpty()) {
@@ -414,7 +414,7 @@ void SessionsBox::Inner::listUpdated() {
 	for (int32 i = 0, l = _list->size(); i < l; ++i) {
 		TerminateButtons::iterator j = _terminateButtons.find(_list->at(i).hash);
 		if (j == _terminateButtons.cend()) {
-			j = _terminateButtons.insert(_list->at(i).hash, new IconedButton(this, st::sessionTerminate));
+			j = _terminateButtons.insert(_list->at(i).hash, new Ui::IconButton(this, st::sessionTerminate));
 			connect(j.value(), SIGNAL(clicked()), this, SLOT(onTerminate()));
 		}
 		j.value()->moveToRight(st::sessionTerminateSkip, st::sessionCurrentHeight + i * st::sessionHeight + st::sessionTerminateTop, width());
diff --git a/Telegram/SourceFiles/boxes/sessionsbox.h b/Telegram/SourceFiles/boxes/sessionsbox.h
index 0021162cf..0b32c9bad 100644
--- a/Telegram/SourceFiles/boxes/sessionsbox.h
+++ b/Telegram/SourceFiles/boxes/sessionsbox.h
@@ -25,6 +25,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 
 class ConfirmBox;
 
+namespace Ui {
+class IconButton;
+} // namespace Ui
+
 class SessionsBox : public ScrollableBox, public RPCSender {
 	Q_OBJECT
 
@@ -106,7 +110,7 @@ private:
 	SessionsBox::List *_list;
 	SessionsBox::Data *_current;
 
-	typedef QMap<uint64, IconedButton*> TerminateButtons;
+	typedef QMap<uint64, Ui::IconButton*> TerminateButtons;
 	TerminateButtons _terminateButtons;
 
 	uint64 _terminating;
diff --git a/Telegram/SourceFiles/boxes/stickers_box.cpp b/Telegram/SourceFiles/boxes/stickers_box.cpp
index 03c13475e..d83b2f360 100644
--- a/Telegram/SourceFiles/boxes/stickers_box.cpp
+++ b/Telegram/SourceFiles/boxes/stickers_box.cpp
@@ -29,6 +29,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 #include "apiwrap.h"
 #include "localstorage.h"
 #include "dialogs/dialogs_layout.h"
+#include "styles/style_boxes.h"
 #include "styles/style_stickers.h"
 
 namespace {
diff --git a/Telegram/SourceFiles/dialogs/dialogs.style b/Telegram/SourceFiles/dialogs/dialogs.style
index abf2223dc..ec82cc590 100644
--- a/Telegram/SourceFiles/dialogs/dialogs.style
+++ b/Telegram/SourceFiles/dialogs/dialogs.style
@@ -21,6 +21,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 using "basic.style";
 using "basic_types.style";
 
+using "ui/widgets/widgets.style";
+
 dialogsUnreadFg: #ffffff;
 dialogsUnreadFgActive: #5b94bf;
 dialogsUnreadBg: windowActiveBg;
@@ -81,21 +83,21 @@ dialogsTextStyleDraftActive: textStyle(dialogsTextStyle) {
 	linkFgDown: #c6e1f7;
 }
 
-dialogsNewChatIcon: icon {{ "dialogs_new_chat", #b7b7b7, point(9px, 10px) }};
-dialogsNewChatButton: RoundButton {
+dialogsNewChatButton: IconButton(defaultIconButton) {
 	width: 36px;
 	height: 36px;
-	icon: dialogsNewChatIcon;
 
-	textTop: 5px;
-	downTextTop: 6px;
-
-	textFg: transparent;
-	textFgOver: transparent;
-	secondaryTextFg: transparent;
-	secondaryTextFgOver: transparent;
-	textBg: transparent;
-	textBgOver: transparent;
+	icon: icon {{ "dialogs_new_chat", #b7b7b7 }};
+	iconPosition: point(9px, 10px);
+	downIconPosition: point(9px, 11px);
+}
+dialogsAddContact: IconButton(dialogsNewChatButton) {
+	icon: icon {{ "dialogs_add_contact", #a6a6a6 }};
+	iconPosition: point(8px, 8px);
+	downIconPosition: point(8px, 9px);
+}
+dialogsCancelSearch: IconButton(dialogsAddContact) {
+	icon: icon {{ "dialogs_cancel_search", #a6a6a6 }};
 }
 
 dialogsChatTypeSkip: 22px;
diff --git a/Telegram/SourceFiles/dialogswidget.cpp b/Telegram/SourceFiles/dialogswidget.cpp
index eb9007f36..b6de91dbe 100644
--- a/Telegram/SourceFiles/dialogswidget.cpp
+++ b/Telegram/SourceFiles/dialogswidget.cpp
@@ -24,7 +24,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 #include "dialogs/dialogs_indexed_list.h"
 #include "dialogs/dialogs_layout.h"
 #include "styles/style_dialogs.h"
-#include "ui/buttons/round_button.h"
+#include "styles/style_stickers.h"
+#include "ui/buttons/icon_button.h"
 #include "ui/widgets/popup_menu.h"
 #include "data/data_drafts.h"
 #include "lang.h"
@@ -43,7 +44,7 @@ DialogsInner::DialogsInner(QWidget *parent, MainWidget *main) : SplittedWidget(p
 , contactsNoDialogs(std_::make_unique<Dialogs::IndexedList>(Dialogs::SortMode::Name))
 , contacts(std_::make_unique<Dialogs::IndexedList>(Dialogs::SortMode::Name))
 , _addContactLnk(this, lang(lng_add_contact_button))
-, _cancelSearchInPeer(this, st::btnCancelSearch) {
+, _cancelSearchInPeer(this, st::dialogsCancelSearch) {
 	if (Global::DialogsModeEnabled()) {
 		importantDialogs = std_::make_unique<Dialogs::IndexedList>(Dialogs::SortMode::Date);
 	}
@@ -51,8 +52,8 @@ DialogsInner::DialogsInner(QWidget *parent, MainWidget *main) : SplittedWidget(p
 	connect(main, SIGNAL(peerPhotoChanged(PeerData*)), this, SLOT(onPeerPhotoChanged(PeerData*)));
 	connect(main, SIGNAL(dialogRowReplaced(Dialogs::Row*,Dialogs::Row*)), this, SLOT(onDialogRowReplaced(Dialogs::Row*,Dialogs::Row*)));
 	connect(&_addContactLnk, SIGNAL(clicked()), App::wnd(), SLOT(onShowAddContact()));
-	connect(&_cancelSearchInPeer, SIGNAL(clicked()), this, SIGNAL(cancelSearchInPeer()));
-	_cancelSearchInPeer.hide();
+	connect(_cancelSearchInPeer, SIGNAL(clicked()), this, SIGNAL(cancelSearchInPeer()));
+	_cancelSearchInPeer->hide();
 
 	subscribe(FileDownload::ImageLoaded(), [this] { update(); });
 	subscribe(Global::RefItemRemoved(), [this](HistoryItem *item) {
@@ -126,8 +127,8 @@ void DialogsInner::paintRegion(Painter &p, const QRegion &region, bool paintingO
 					p.fillRect(0, 0, w, st::mentionHeight, (selected ? st::mentionBgOver : st::white)->b);
 					if (!paintingOther) {
 						if (selected) {
-							int skip = (st::mentionHeight - st::simpleClose.icon.pxHeight()) / 2;
-							p.drawSprite(QPoint(w - st::simpleClose.icon.pxWidth() - skip, skip), st::simpleClose.icon);
+							int skip = (st::mentionHeight - st::simpleCloseIcon.height()) / 2;
+							st::simpleCloseIcon.paint(p, QPoint(w - st::simpleCloseIcon.width() - skip, skip), width());
 						}
 						QString first = (_hashtagFilter.size() < 2) ? QString() : ('#' + _hashtagResults.at(from).mid(0, _hashtagFilter.size() - 1)), second = (_hashtagFilter.size() < 2) ? ('#' + _hashtagResults.at(from)) : _hashtagResults.at(from).mid(_hashtagFilter.size() - 1);
 						int32 firstwidth = st::mentionFont->width(first), secondwidth = st::mentionFont->width(second);
@@ -299,7 +300,7 @@ void DialogsInner::searchInPeerPaint(Painter &p, int32 w, bool onlyBackground) c
 	_searchInPeer->paintUserpicLeft(p, st::dialogsPhotoSize, st::dialogsPadding.x(), st::dialogsPadding.y(), fullWidth());
 
 	int32 nameleft = st::dialogsPadding.x() + st::dialogsPhotoSize + st::dialogsPhotoPadding;
-	int32 namewidth = w - nameleft - st::dialogsPadding.x() * 2 - st::btnCancelSearch.width;
+	int32 namewidth = w - nameleft - st::dialogsPadding.x() * 2 - st::dialogsCancelSearch.width;
 	QRect rectForName(nameleft, st::dialogsPadding.y() + st::dialogsNameTop, namewidth, st::msgNameFont->height);
 
 	if (auto chatTypeIcon = Dialogs::Layout::ChatTypeIcon(_searchInPeer, false)) {
@@ -408,7 +409,7 @@ void DialogsInner::mousePressEvent(QMouseEvent *e) {
 
 void DialogsInner::resizeEvent(QResizeEvent *e) {
 	_addContactLnk.move((width() - _addContactLnk.width()) / 2, (st::noContactsHeight + st::noContactsFont->height) / 2);
-	_cancelSearchInPeer.move(width() - st::dialogsPadding.x() - st::btnCancelSearch.width, (st::dialogsRowHeight - st::btnCancelSearch.height) / 2);
+	_cancelSearchInPeer->move(width() - st::dialogsPadding.x() - st::dialogsCancelSearch.width, (st::dialogsRowHeight - st::dialogsCancelSearch.height) / 2);
 }
 
 void DialogsInner::onDialogRowReplaced(Dialogs::Row *oldRow, Dialogs::Row *newRow) {
@@ -1260,9 +1261,9 @@ void DialogsInner::searchInPeer(PeerData *peer) {
 	_searchInMigrated = _searchInPeer ? _searchInPeer->migrateFrom() : 0;
 	if (_searchInPeer) {
 		onHashtagFilterUpdate(QStringRef());
-		_cancelSearchInPeer.show();
+		_cancelSearchInPeer->show();
 	} else {
-		_cancelSearchInPeer.hide();
+		_cancelSearchInPeer->hide();
 	}
 }
 
@@ -1780,9 +1781,9 @@ DialogsWidget::DialogsWidget(MainWidget *parent) : TWidget(parent)
 , _dialogsRequest(0)
 , _contactsRequest(0)
 , _filter(this, st::dlgFilter, lang(lng_dlg_filter))
-, _newGroup(this, QString(), st::dialogsNewChatButton)
-, _addContact(this, st::btnAddContact)
-, _cancelSearch(this, st::btnCancelSearch)
+, _newGroup(this, st::dialogsNewChatButton)
+, _addContact(this, st::dialogsAddContact)
+, _cancelSearch(this, st::dialogsCancelSearch)
 , _scroll(this, st::dialogsScroll)
 , _inner(&_scroll, parent)
 , _a_show(animation(this, &DialogsWidget::step_show))
@@ -1807,9 +1808,9 @@ DialogsWidget::DialogsWidget(MainWidget *parent) : TWidget(parent)
 	connect(&_filter, SIGNAL(changed()), this, SLOT(onFilterUpdate()));
 	connect(&_filter, SIGNAL(cursorPositionChanged(int,int)), this, SLOT(onFilterCursorMoved(int,int)));
 	connect(parent, SIGNAL(dialogsUpdated()), this, SLOT(onListScroll()));
-	connect(&_addContact, SIGNAL(clicked()), this, SLOT(onAddContact()));
+	connect(_addContact, SIGNAL(clicked()), this, SLOT(onAddContact()));
 	connect(_newGroup, SIGNAL(clicked()), this, SLOT(onNewGroup()));
-	connect(&_cancelSearch, SIGNAL(clicked()), this, SLOT(onCancelSearch()));
+	connect(_cancelSearch, SIGNAL(clicked()), this, SLOT(onCancelSearch()));
 
 	_chooseByDragTimer.setSingleShot(true);
 	connect(&_chooseByDragTimer, SIGNAL(timeout()), this, SLOT(onChooseByDrag()));
@@ -1824,12 +1825,12 @@ DialogsWidget::DialogsWidget(MainWidget *parent) : TWidget(parent)
 	_filter.move(st::dialogsPadding.x(), st::dialogsFilterPadding);
 	_filter.setFocusPolicy(Qt::StrongFocus);
 	_filter.customUpDown(true);
-	_addContact.hide();
+	_addContact->hide();
 	_newGroup->show();
-	_cancelSearch.hide();
+	_cancelSearch->hide();
 	_newGroup->move(width() - _newGroup->width() - st::dialogsPadding.x(), 0);
-	_addContact.move(width() - _addContact.width() - st::dialogsPadding.x(), 0);
-	_cancelSearch.move(width() - _cancelSearch.width() - st::dialogsPadding.x(), 0);
+	_addContact->move(width() - _addContact->width() - st::dialogsPadding.x(), 0);
+	_cancelSearch->move(width() - _cancelSearch->width() - st::dialogsPadding.x(), 0);
 }
 
 void DialogsWidget::activate() {
@@ -1874,7 +1875,7 @@ void DialogsWidget::showAnimated(Window::SlideDirection direction, const Window:
 
 	_scroll.hide();
 	_filter.hide();
-	_cancelSearch.hide();
+	_cancelSearch->hide();
 	_newGroup->hide();
 
 	int delta = st::slideShift;
@@ -2377,10 +2378,10 @@ void DialogsWidget::onFilterUpdate(bool force) {
 		_searchCache.clear();
 		_searchQueries.clear();
 		_searchQuery = QString();
-		_cancelSearch.hide();
+		_cancelSearch->hide();
 		_newGroup->show();
-	} else if (_cancelSearch.isHidden()) {
-		_cancelSearch.show();
+	} else if (_cancelSearch->isHidden()) {
+		_cancelSearch->show();
 		_newGroup->hide();
 	}
 	if (filterText.size() < MinUsernameLength) {
@@ -2445,8 +2446,8 @@ void DialogsWidget::resizeEvent(QResizeEvent *e) {
 	int32 w = width();
 	_filter.setGeometry(st::dialogsPadding.x(), st::dialogsFilterPadding, w - 2 * st::dialogsPadding.x(), _filter.height());
 	_newGroup->move(w - _newGroup->width() - st::dialogsPadding.x(), _filter.y());
-	_addContact.move(w - _addContact.width() - st::dialogsPadding.x(), _filter.y());
-	_cancelSearch.move(w - _cancelSearch.width() - st::dialogsPadding.x(), _filter.y());
+	_addContact->move(w - _addContact->width() - st::dialogsPadding.x(), _filter.y());
+	_cancelSearch->move(w - _cancelSearch->width() - st::dialogsPadding.x(), _filter.y());
 	_scroll.move(0, _filter.height() + 2 * st::dialogsFilterPadding);
 
 	int32 addToY = App::main() ? App::main()->contentScrollAddToY() : 0;
diff --git a/Telegram/SourceFiles/dialogswidget.h b/Telegram/SourceFiles/dialogswidget.h
index 930349072..e3aec8945 100644
--- a/Telegram/SourceFiles/dialogswidget.h
+++ b/Telegram/SourceFiles/dialogswidget.h
@@ -29,7 +29,7 @@ class IndexedList;
 } // namespace Dialogs
 
 namespace Ui {
-class RoundButton;
+class IconButton;
 class PopupMenu;
 } // namespace Ui
 
@@ -221,7 +221,7 @@ private:
 	void paintDialog(QPainter &p, Dialogs::Row *dialog);
 
 	LinkButton _addContactLnk;
-	IconedButton _cancelSearchInPeer;
+	ChildWidget<Ui::IconButton> _cancelSearchInPeer;
 
 	bool _overDelete = false;
 
@@ -336,8 +336,9 @@ private:
 	mtpRequestId _dialogsRequest, _contactsRequest;
 
 	FlatInput _filter;
-	ChildWidget<Ui::RoundButton> _newGroup;
-	IconedButton _addContact, _cancelSearch;
+	ChildWidget<Ui::IconButton> _newGroup;
+	ChildWidget<Ui::IconButton> _addContact;
+	ChildWidget<Ui::IconButton> _cancelSearch;
 	ScrollArea _scroll;
 	DialogsInner _inner;
 
diff --git a/Telegram/SourceFiles/history/field_autocomplete.cpp b/Telegram/SourceFiles/history/field_autocomplete.cpp
index c217e8c70..d04c2ab2f 100644
--- a/Telegram/SourceFiles/history/field_autocomplete.cpp
+++ b/Telegram/SourceFiles/history/field_autocomplete.cpp
@@ -605,9 +605,9 @@ void FieldAutocompleteInner::paintEvent(QPaintEvent *e) {
 			bool selected = (i == _sel);
 			if (selected) {
 				p.fillRect(0, i * st::mentionHeight, width(), st::mentionHeight, st::mentionBgOver->b);
-				int skip = (st::mentionHeight - st::simpleClose.icon.pxHeight()) / 2;
+				int skip = (st::mentionHeight - st::simpleCloseIcon.height()) / 2;
 				if (!_hrows->isEmpty() || (!_mrows->isEmpty() && i < _recentInlineBotsInRows)) {
-					p.drawSprite(QPoint(width() - st::simpleClose.icon.pxWidth() - skip, i * st::mentionHeight + skip), st::simpleClose.icon);
+					st::simpleCloseIcon.paint(p, QPoint(width() - st::simpleCloseIcon.width() - skip, i * st::mentionHeight + skip), width());
 				}
 			}
 			p.setPen(st::black->p);
diff --git a/Telegram/SourceFiles/history/history.style b/Telegram/SourceFiles/history/history.style
index 7c1ff3156..eb07e0fe1 100644
--- a/Telegram/SourceFiles/history/history.style
+++ b/Telegram/SourceFiles/history/history.style
@@ -147,18 +147,13 @@ historyMediaTypeSong: icon {{ "media_type_song", #bebebe, point(0px, 0px) }};
 historyMediaTypeVoice: icon {{ "media_type_voice", #bebebe, point(2px, 2px) }};
 historyMediaTypeLink: icon {{ "media_type_link", #bebebe, point(2px, 2px) }};
 
-historyAttachDocument: IconButton {
+historyAttachDocument: IconButton(defaultIconButton) {
 	width: 46px;
 	height: 46px;
 
-	opacity: 0.78;
-	overOpacity: 1.;
-
 	icon: historyMediaTypeFile;
 	iconPosition: point(9px, 9px);
 	downIconPosition: point(9px, 10px);
-
-	duration: 150;
 }
 historyAttachPhoto: IconButton(historyAttachDocument) {
 	icon: historyMediaTypePhoto;
@@ -211,7 +206,35 @@ historyAttachDropdownMenu: DropdownMenu(defaultDropdownMenu) {
 	}
 }
 
-topBarSearch: IconButton {
+historySilentToggle: IconButton(historyBotKeyboardShow) {
+	icon: icon {{ "send_control_silent_off", #b3b3b3 }};
+}
+historySilentToggleOn: icon {{ "send_control_silent_on", #b3b3b3 }};
+
+historyReplySkip: 51px;
+historyReplyColor: #377aae;
+historyReplyHeight: 49px;
+historyReplyTop: 8px;
+historyReplyBottom: 6px;
+historyReplyIconPosition: point(13px, 13px);
+historyReplyIcon: icon {{ "history_action_reply", #6fa1d2 }};
+historyForwardIcon: icon {{ "history_action_forward", #6fa1d2 }};
+historyEditIcon: icon {{ "history_action_edit", #6fa1d2 }};
+historyReplyCancel: IconButton(defaultIconButton) {
+	width: 49px;
+	height: 49px;
+
+	icon: historyReplyCancelIcon;
+	iconPosition: point(17px, 17px);
+	downIconPosition: point(17px, 18px);
+}
+historyInlineBotCancel: IconButton(historyReplyCancel) {
+	height: 46px;
+	iconPosition: point(-1px, 16px); // < 0 means draw in the center of the button
+	downIconPosition: point(-1px, 17px);
+}
+
+topBarSearch: IconButton(defaultIconButton) {
 	width: 44px;
 	height: topBarHeight;
 
@@ -221,6 +244,4 @@ topBarSearch: IconButton {
 
 	opacity: 0.22;
 	overOpacity: 0.36;
-
-	duration: 150;
 }
diff --git a/Telegram/SourceFiles/history/history_media_types.cpp b/Telegram/SourceFiles/history/history_media_types.cpp
index 490ebb78e..0281440e0 100644
--- a/Telegram/SourceFiles/history/history_media_types.cpp
+++ b/Telegram/SourceFiles/history/history_media_types.cpp
@@ -2733,9 +2733,9 @@ void HistoryWebPage::draw(Painter &p, const QRect &r, TextSelection selection, u
 		if (_data->type == WebPageVideo && _attach->type() == MediaTypePhoto) {
 			if (_attach->isReadyForOpen()) {
 				if (_data->siteName == qstr("YouTube")) {
-					p.drawSprite(QPoint((pixwidth - st::youtubeIcon.pxWidth()) / 2, (pixheight - st::youtubeIcon.pxHeight()) / 2), st::youtubeIcon);
+					st::youtubeIcon.paint(p, (pixwidth - st::youtubeIcon.width()) / 2, (pixheight - st::youtubeIcon.height()) / 2, _width);
 				} else {
-					p.drawSprite(QPoint((pixwidth - st::videoIcon.pxWidth()) / 2, (pixheight - st::videoIcon.pxHeight()) / 2), st::videoIcon);
+					st::videoIcon.paint(p, (pixwidth - st::videoIcon.width()) / 2, (pixheight - st::videoIcon.height()) / 2, _width);
 				}
 			}
 			if (_durationWidth) {
diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp
index e48517114..9cd79baef 100644
--- a/Telegram/SourceFiles/historywidget.cpp
+++ b/Telegram/SourceFiles/historywidget.cpp
@@ -2913,12 +2913,12 @@ HistoryHider::~HistoryHider() {
 	parent()->noHider(this);
 }
 
-SilentToggle::SilentToggle(QWidget *parent) : FlatCheckbox(parent, QString(), false, st::silentToggle) {
+SilentToggle::SilentToggle(QWidget *parent) : IconButton(parent, st::historySilentToggle) {
 	setMouseTracking(true);
 }
 
 void SilentToggle::mouseMoveEvent(QMouseEvent *e) {
-	FlatCheckbox::mouseMoveEvent(e);
+	IconButton::mouseMoveEvent(e);
 	if (rect().contains(e->pos())) {
 		Ui::Tooltip::Show(1000, this);
 	} else {
@@ -2926,21 +2926,29 @@ void SilentToggle::mouseMoveEvent(QMouseEvent *e) {
 	}
 }
 
+void SilentToggle::setChecked(bool checked) {
+	if (_checked != checked) {
+		_checked = checked;
+		setIcon(_checked ? &st::historySilentToggleOn : nullptr);
+	}
+}
+
 void SilentToggle::leaveEvent(QEvent *e) {
 	Ui::Tooltip::Hide();
 }
 
 void SilentToggle::mouseReleaseEvent(QMouseEvent *e) {
-	FlatCheckbox::mouseReleaseEvent(e);
+	setChecked(!_checked);
+	IconButton::mouseReleaseEvent(e);
 	Ui::Tooltip::Show(0, this);
-	PeerData *p = App::main() ? App::main()->peer() : nullptr;
+	auto p = App::main() ? App::main()->peer() : nullptr;
 	if (p && p->isChannel() && p->notify != UnknownNotifySettings) {
-		App::main()->updateNotifySetting(p, NotifySettingDontChange, checked() ? SilentNotifiesSetSilent : SilentNotifiesSetNotify);
+		App::main()->updateNotifySetting(p, NotifySettingDontChange, _checked ? SilentNotifiesSetSilent : SilentNotifiesSetNotify);
 	}
 }
 
 QString SilentToggle::tooltipText() const {
-	return lang(checked() ? lng_wont_be_notified : lng_will_be_notified);
+	return lang(_checked ? lng_wont_be_notified : lng_will_be_notified);
 }
 
 QPoint SilentToggle::tooltipPos() const {
@@ -2984,7 +2992,7 @@ TextWithTags::Tags textTagsFromEntities(const EntitiesInText &entities) {
 }
 
 HistoryWidget::HistoryWidget(QWidget *parent) : TWidget(parent)
-, _fieldBarCancel(this, st::replyCancel)
+, _fieldBarCancel(this, st::historyReplyCancel)
 , _scroll(this, st::historyScroll, false)
 , _historyToEnd(this)
 , _fieldAutocomplete(this)
@@ -3024,13 +3032,13 @@ HistoryWidget::HistoryWidget(QWidget *parent) : TWidget(parent)
 	connect(&_reportSpamPanel, SIGNAL(hideClicked()), this, SLOT(onReportSpamHide()));
 	connect(&_reportSpamPanel, SIGNAL(clearClicked()), this, SLOT(onReportSpamClear()));
 	connect(_historyToEnd, SIGNAL(clicked()), this, SLOT(onHistoryToEnd()));
-	connect(&_fieldBarCancel, SIGNAL(clicked()), this, SLOT(onFieldBarCancel()));
+	connect(_fieldBarCancel, SIGNAL(clicked()), this, SLOT(onFieldBarCancel()));
 	connect(&_send, SIGNAL(clicked()), this, SLOT(onSend()));
 	connect(&_unblock, SIGNAL(clicked()), this, SLOT(onUnblock()));
 	connect(&_botStart, SIGNAL(clicked()), this, SLOT(onBotStart()));
 	connect(&_joinChannel, SIGNAL(clicked()), this, SLOT(onJoinChannel()));
 	connect(&_muteUnmute, SIGNAL(clicked()), this, SLOT(onMuteUnmute()));
-	connect(&_silent, SIGNAL(clicked()), this, SLOT(onBroadcastSilentChange()));
+	connect(_silent, SIGNAL(clicked()), this, SLOT(onBroadcastSilentChange()));
 	connect(_attachDocument, SIGNAL(clicked()), this, SLOT(onDocumentSelect()));
 	connect(_attachPhoto, SIGNAL(clicked()), this, SLOT(onPhotoSelect()));
 	connect(&_field, SIGNAL(submitted(bool)), this, SLOT(onSend(bool)));
@@ -3077,7 +3085,7 @@ HistoryWidget::HistoryWidget(QWidget *parent) : TWidget(parent)
 	connect(&_field, SIGNAL(cursorPositionChanged()), this, SLOT(onDraftSaveDelayed()));
 	connect(&_field, SIGNAL(cursorPositionChanged()), this, SLOT(onCheckFieldAutocomplete()), Qt::QueuedConnection);
 
-	_fieldBarCancel.hide();
+	_fieldBarCancel->hide();
 
 	_scroll.hide();
 
@@ -3115,7 +3123,7 @@ HistoryWidget::HistoryWidget(QWidget *parent) : TWidget(parent)
 	_attachEmoji->hide();
 	_botKeyboardShow->hide();
 	_botKeyboardHide->hide();
-	_silent.hide();
+	_silent->hide();
 	_botCommandStart->hide();
 
 	_attachDocument->installEventFilter(_attachType);
@@ -3489,7 +3497,7 @@ void HistoryWidget::onRecordDone(QByteArray result, VoiceWaveform waveform, qint
 
 	App::wnd()->activateWindow();
 	int32 duration = samples / AudioVoiceMsgFrequency;
-	_fileLoader.addTask(new FileLoadTask(result, duration, waveform, FileLoadTo(_peer->id, _silent.checked(), replyToId())));
+	_fileLoader.addTask(new FileLoadTask(result, duration, waveform, FileLoadTo(_peer->id, _silent->checked(), replyToId())));
 	cancelReplyAfterMediaSend(lastForceReplyReplied());
 }
 
@@ -4203,7 +4211,7 @@ void HistoryWidget::showHistory(const PeerId &peerId, MsgId showAtMsgId, bool re
 	_editMsgId = _replyToId = 0;
 	_previewData = 0;
 	_previewCache.clear();
-	_fieldBarCancel.hide();
+	_fieldBarCancel->hide();
 
 	_membersDropdownShowTimer.stop();
 	if (_list) _list->deleteLater();
@@ -4363,8 +4371,8 @@ void HistoryWidget::updateNotifySettings() {
 
 	_muteUnmute.setText(lang(_history->mute() ? lng_channel_unmute : lng_channel_mute));
 	if (_peer->notify != UnknownNotifySettings) {
-		_silent.setChecked(_peer->notify != EmptyNotifySettings && (_peer->notify->flags & MTPDpeerNotifySettings::Flag::f_silent));
-		if (_silent.isHidden() && hasSilentToggle()) {
+		_silent->setChecked(_peer->notify != EmptyNotifySettings && (_peer->notify->flags & MTPDpeerNotifySettings::Flag::f_silent));
+		if (_silent->isHidden() && hasSilentToggle()) {
 			updateControlsVisibility();
 		}
 	}
@@ -4499,11 +4507,11 @@ void HistoryWidget::updateControlsVisibility() {
 		_muteUnmute.hide();
 		_fieldAutocomplete->hide();
 		_field.hide();
-		_fieldBarCancel.hide();
+		_fieldBarCancel->hide();
 		_attachDocument->hide();
 		_attachPhoto->hide();
 		_attachEmoji->hide();
-		_silent.hide();
+		_silent->hide();
 		_historyToEnd->hide();
 		_botKeyboardShow->hide();
 		_botKeyboardHide->hide();
@@ -4561,9 +4569,9 @@ void HistoryWidget::updateControlsVisibility() {
 		_botStart.hide();
 		_attachDocument->hide();
 		_attachPhoto->hide();
-		_silent.hide();
+		_silent->hide();
 		_kbScroll.hide();
-		_fieldBarCancel.hide();
+		_fieldBarCancel->hide();
 		_attachDocument->hide();
 		_attachPhoto->hide();
 		_attachEmoji->hide();
@@ -4597,9 +4605,9 @@ void HistoryWidget::updateControlsVisibility() {
 			_botCommandStart->hide();
 			_attachDocument->hide();
 			_attachPhoto->hide();
-			_silent.hide();
+			_silent->hide();
 			_kbScroll.hide();
-			_fieldBarCancel.hide();
+			_fieldBarCancel->hide();
 		} else {
 			_unblock.hide();
 			_botStart.hide();
@@ -4627,7 +4635,7 @@ void HistoryWidget::updateControlsVisibility() {
 				_botCommandStart->hide();
 				_attachDocument->hide();
 				_attachPhoto->hide();
-				_silent.hide();
+				_silent->hide();
 				if (_kbShown) {
 					_kbScroll.show();
 				} else {
@@ -4671,20 +4679,20 @@ void HistoryWidget::updateControlsVisibility() {
 					_attachPhoto->hide();
 				}
 				if (hasSilentToggle()) {
-					_silent.show();
+					_silent->show();
 				} else {
-					_silent.hide();
+					_silent->hide();
 				}
 				updateFieldPlaceholder();
 			}
 			if (_editMsgId || _replyToId || readyToForward() || (_previewData && _previewData->pendingTill >= 0) || _kbReplyTo) {
-				if (_fieldBarCancel.isHidden()) {
-					_fieldBarCancel.show();
+				if (_fieldBarCancel->isHidden()) {
+					_fieldBarCancel->show();
 					resizeEvent(0);
 					update();
 				}
 			} else {
-				_fieldBarCancel.hide();
+				_fieldBarCancel->hide();
 			}
 		}
 	} else {
@@ -4697,9 +4705,9 @@ void HistoryWidget::updateControlsVisibility() {
 		_muteUnmute.hide();
 		_attachDocument->hide();
 		_attachPhoto->hide();
-		_silent.hide();
+		_silent->hide();
 		_kbScroll.hide();
-		_fieldBarCancel.hide();
+		_fieldBarCancel->hide();
 		_attachDocument->hide();
 		_attachPhoto->hide();
 		_attachEmoji->hide();
@@ -4719,7 +4727,7 @@ void HistoryWidget::updateControlsVisibility() {
 }
 
 void HistoryWidget::updateMouseTracking() {
-	bool trackMouse = !_fieldBarCancel.isHidden() || _pinnedBar || (cHasAudioCapture() && _send.isHidden() && !_field.isHidden());
+	bool trackMouse = !_fieldBarCancel->isHidden() || _pinnedBar || (cHasAudioCapture() && _send.isHidden() && !_field.isHidden());
 	setMouseTracking(trackMouse);
 }
 
@@ -5244,7 +5252,7 @@ void HistoryWidget::onSend(bool ctrlShiftEnter, MsgId replyTo) {
 	message.history = _history;
 	message.textWithTags = _field.getTextWithTags();
 	message.replyTo = replyTo;
-	message.silent = _silent.checked();
+	message.silent = _silent->checked();
 	message.webPageId = webPageId;
 	App::main()->sendMessage(message);
 
@@ -5388,7 +5396,7 @@ void HistoryWidget::shareContact(const PeerId &peer, const QString &phone, const
 
 	bool channelPost = p->isChannel() && !p->isMegagroup();
 	bool showFromName = !channelPost || p->asChannel()->addsSignature();
-	bool silentPost = channelPost && _silent.checked();
+	bool silentPost = channelPost && _silent->checked();
 	if (channelPost) {
 		flags |= MTPDmessage::Flag::f_views;
 		flags |= MTPDmessage::Flag::f_post;
@@ -5404,7 +5412,7 @@ void HistoryWidget::shareContact(const PeerId &peer, const QString &phone, const
 
 	App::historyRegRandom(randomId, newId);
 
-	App::main()->finishForwarding(history, _silent.checked());
+	App::main()->finishForwarding(history, _silent->checked());
 	cancelReplyAfterMediaSend(lastKeyboardUsed);
 }
 
@@ -5459,12 +5467,12 @@ void HistoryWidget::showAnimated(Window::SlideDirection direction, const Window:
 	_attachPhoto->hide();
 	_attachEmoji->hide();
 	_fieldAutocomplete->hide();
-	_silent.hide();
+	_silent->hide();
 	_botKeyboardShow->hide();
 	_botKeyboardHide->hide();
 	_botCommandStart->hide();
 	_field.hide();
-	_fieldBarCancel.hide();
+	_fieldBarCancel->hide();
 	_send.hide();
 	if (_inlineBotCancel) _inlineBotCancel->hide();
 	_unblock.hide();
@@ -5664,8 +5672,8 @@ void HistoryWidget::mouseMoveEvent(QMouseEvent *e) {
 	QPoint pos(e ? e->pos() : mapFromGlobal(QCursor::pos()));
 	bool inRecord = _send.geometry().contains(pos);
 	bool inField = pos.y() >= (_scroll.y() + _scroll.height()) && pos.y() < height() && pos.x() >= 0 && pos.x() < width();
-	bool inReplyEdit = QRect(st::replySkip, _field.y() - st::sendPadding - st::replyHeight, width() - st::replySkip - _fieldBarCancel.width(), st::replyHeight).contains(pos) && (_editMsgId || replyToId());
-	bool inPinnedMsg = QRect(0, 0, width(), st::replyHeight).contains(pos) && _pinnedBar;
+	bool inReplyEdit = QRect(st::historyReplySkip, _field.y() - st::sendPadding - st::historyReplyHeight, width() - st::historyReplySkip - _fieldBarCancel->width(), st::historyReplyHeight).contains(pos) && (_editMsgId || replyToId());
+	bool inPinnedMsg = QRect(0, 0, width(), st::historyReplyHeight).contains(pos) && _pinnedBar;
 	bool startAnim = false;
 	if (inRecord != _inRecord) {
 		_inRecord = inRecord;
@@ -5699,7 +5707,7 @@ void HistoryWidget::leaveToChildEvent(QEvent *e, QWidget *child) { // e -- from
 void HistoryWidget::mouseReleaseEvent(QMouseEvent *e) {
 	if (_replyForwardPressed) {
 		_replyForwardPressed = false;
-		update(0, _field.y() - st::sendPadding - st::replyHeight, width(), st::replyHeight);
+		update(0, _field.y() - st::sendPadding - st::historyReplyHeight, width(), st::historyReplyHeight);
 	}
 	if (_attachDrag != DragStateNone || !_attachDragPhoto->isHidden() || !_attachDragDocument->isHidden()) {
 		_attachDrag = DragStateNone;
@@ -6150,7 +6158,7 @@ void HistoryWidget::onKbToggle(bool manual) {
 
 			_kbReplyTo = 0;
 			if (!readyToForward() && (!_previewData || _previewData->pendingTill < 0) && !_editMsgId && !_replyToId) {
-				_fieldBarCancel.hide();
+				_fieldBarCancel->hide();
 				updateMouseTracking();
 			}
 		} else {
@@ -6175,7 +6183,7 @@ void HistoryWidget::onKbToggle(bool manual) {
 		if (_kbReplyTo && !_editMsgId && !_replyToId && fieldEnabled) {
 			updateReplyToName();
 			_replyEditMsgText.setText(st::msgFont, textClean(_kbReplyTo->inReplyText()), _textDlgOptions);
-			_fieldBarCancel.show();
+			_fieldBarCancel->show();
 			updateMouseTracking();
 		}
 		if (manual && _history) {
@@ -6194,7 +6202,7 @@ void HistoryWidget::onKbToggle(bool manual) {
 		if (_kbReplyTo && !_editMsgId && !_replyToId) {
 			updateReplyToName();
 			_replyEditMsgText.setText(st::msgFont, textClean(_kbReplyTo->inReplyText()), _textDlgOptions);
-			_fieldBarCancel.show();
+			_fieldBarCancel->show();
 			updateMouseTracking();
 		}
 		if (manual && _history) {
@@ -6455,10 +6463,10 @@ void HistoryWidget::moveFieldControls() {
 	right -= _attachEmoji->width();
 	_botKeyboardShow->move(right - _botKeyboardShow->width(), buttonsBottom);
 	_botCommandStart->move(right - _botCommandStart->width(), buttonsBottom);
-	_silent.move(right - _silent.width(), buttonsBottom);
+	_silent->move(right - _silent->width(), buttonsBottom);
 
 	right = w;
-	_fieldBarCancel.move(right - _fieldBarCancel.width(), _field.y() - st::sendPadding - _fieldBarCancel.height());
+	_fieldBarCancel->move(right - _fieldBarCancel->width(), _field.y() - st::sendPadding - _fieldBarCancel->height());
 	_attachType->move(0, _attachDocument->y() - _attachType->height());
 	_emojiPan->moveBottom(_attachEmoji->y());
 
@@ -6475,7 +6483,7 @@ void HistoryWidget::updateFieldSize() {
 	fieldWidth -= _attachEmoji->width();
 	if (kbShowShown) fieldWidth -= _botKeyboardShow->width();
 	if (_cmdStartShown) fieldWidth -= _botCommandStart->width();
-	if (hasSilentToggle()) fieldWidth -= _silent.width();
+	if (hasSilentToggle()) fieldWidth -= _silent->width();
 
 	if (_field.width() != fieldWidth) {
 		_field.resize(fieldWidth, _field.height());
@@ -6497,7 +6505,7 @@ void HistoryWidget::clearInlineBot() {
 void HistoryWidget::inlineBotChanged() {
 	bool isInlineBot = _inlineBot && (_inlineBot != LookingUpInlineBot);
 	if (isInlineBot && !_inlineBotCancel) {
-		_inlineBotCancel = std_::make_unique<IconedButton>(this, st::inlineBotCancel);
+		_inlineBotCancel = std_::make_unique<Ui::IconButton>(this, st::historyInlineBotCancel);
 		connect(_inlineBotCancel.get(), SIGNAL(clicked()), this, SLOT(onInlineBotCancel()));
 		_inlineBotCancel->setGeometry(_send.geometry());
 		_attachEmoji->raise();
@@ -6543,7 +6551,7 @@ void HistoryWidget::updateFieldPlaceholder() {
 		if (_inlineBot && _inlineBot != LookingUpInlineBot) {
 			_field.setPlaceholder(_inlineBot->botInfo->inlinePlaceholder.mid(1), _inlineBot->username.size() + 2);
 		} else {
-			_field.setPlaceholder(lang((_history && _history->isChannel() && !_history->isMegagroup()) ? (_silent.checked() ? lng_broadcast_silent_ph : lng_broadcast_ph) : lng_message_ph));
+			_field.setPlaceholder(lang((_history && _history->isChannel() && !_history->isMegagroup()) ? (_silent->checked() ? lng_broadcast_silent_ph : lng_broadcast_ph) : lng_message_ph));
 		}
 		_send.setText(lang(lng_send_button));
 	}
@@ -6553,7 +6561,7 @@ void HistoryWidget::uploadImage(const QImage &img, PrepareMediaType type, FileLo
 	if (!_history) return;
 
 	App::wnd()->activateWindow();
-	auto task = new FileLoadTask(img, type, FileLoadTo(_peer->id, _silent.checked(), replyToId()), confirm, source);
+	auto task = new FileLoadTask(img, type, FileLoadTo(_peer->id, _silent->checked(), replyToId()), confirm, source);
 	if (withText) {
 		_confirmWithTextId = task->fileid();
 	}
@@ -6564,7 +6572,7 @@ void HistoryWidget::uploadFile(const QString &file, PrepareMediaType type, FileL
 	if (!_history) return;
 
 	App::wnd()->activateWindow();
-	FileLoadTask *task = new FileLoadTask(file, type, FileLoadTo(_peer->id, _silent.checked(), replyToId()), confirm);
+	FileLoadTask *task = new FileLoadTask(file, type, FileLoadTo(_peer->id, _silent->checked(), replyToId()), confirm);
 	if (withText) {
 		_confirmWithTextId = task->fileid();
 	}
@@ -6578,7 +6586,7 @@ void HistoryWidget::uploadFiles(const QStringList &files, PrepareMediaType type)
 
 	App::wnd()->activateWindow();
 
-	FileLoadTo to(_peer->id, _silent.checked(), replyToId());
+	FileLoadTo to(_peer->id, _silent->checked(), replyToId());
 
 	TasksList tasks;
 	tasks.reserve(files.size());
@@ -6594,7 +6602,7 @@ void HistoryWidget::uploadFileContent(const QByteArray &fileContent, PrepareMedi
 	if (!_history) return;
 
 	App::wnd()->activateWindow();
-	_fileLoader.addTask(new FileLoadTask(fileContent, type, FileLoadTo(_peer->id, _silent.checked(), replyToId())));
+	_fileLoader.addTask(new FileLoadTask(fileContent, type, FileLoadTo(_peer->id, _silent->checked(), replyToId())));
 	cancelReplyAfterMediaSend(lastForceReplyReplied());
 }
 
@@ -7017,13 +7025,13 @@ void HistoryWidget::updateControlsGeometry() {
 	moveFieldControls();
 
 	if (_pinnedBar) {
-		if (_scroll.y() != st::replyHeight) {
-			_scroll.move(0, st::replyHeight);
-			_reportSpamPanel.move(0, st::replyHeight);
+		if (_scroll.y() != st::historyReplyHeight) {
+			_scroll.move(0, st::historyReplyHeight);
+			_reportSpamPanel.move(0, st::historyReplyHeight);
 			_fieldAutocomplete->setBoundings(_scroll.geometry());
 		}
 		_pinnedBar->cancel->move(width() - _pinnedBar->cancel->width(), 0);
-		_pinnedBar->shadow->setGeometry(0, st::replyHeight, width(), st::lineWidth);
+		_pinnedBar->shadow->setGeometry(0, st::historyReplyHeight, width(), st::lineWidth);
 	} else if (_scroll.y() != 0) {
 		_scroll.move(0, 0);
 		_reportSpamPanel.move(0, 0);
@@ -7114,14 +7122,14 @@ void HistoryWidget::updateListSize(bool initial, bool loadedDown, const ScrollCh
 			newScrollHeight -= (_field.height() + 2 * st::sendPadding);
 		}
 		if (_editMsgId || replyToId() || readyToForward() || (_previewData && _previewData->pendingTill >= 0)) {
-			newScrollHeight -= st::replyHeight;
+			newScrollHeight -= st::historyReplyHeight;
 		}
 		if (_kbShown) {
 			newScrollHeight -= _kbScroll.height();
 		}
 	}
 	if (_pinnedBar) {
-		newScrollHeight -= st::replyHeight;
+		newScrollHeight -= st::historyReplyHeight;
 	}
 	int wasScrollTop = _scroll.scrollTop();
 	bool wasAtBottom = wasScrollTop + 1 > _scroll.scrollTopMax();
@@ -7339,7 +7347,7 @@ void HistoryWidget::updateBotKeyboard(History *h, bool force) {
 			if (_kbReplyTo && !_replyToId) {
 				updateReplyToName();
 				_replyEditMsgText.setText(st::msgFont, textClean(_kbReplyTo->inReplyText()), _textDlgOptions);
-				_fieldBarCancel.show();
+				_fieldBarCancel->show();
 				updateMouseTracking();
 			}
 		} else {
@@ -7354,7 +7362,7 @@ void HistoryWidget::updateBotKeyboard(History *h, bool force) {
 			_kbShown = false;
 			_kbReplyTo = 0;
 			if (!readyToForward() && (!_previewData || _previewData->pendingTill < 0) && !_replyToId) {
-				_fieldBarCancel.hide();
+				_fieldBarCancel->hide();
 				updateMouseTracking();
 			}
 		}
@@ -7370,7 +7378,7 @@ void HistoryWidget::updateBotKeyboard(History *h, bool force) {
 		_kbShown = false;
 		_kbReplyTo = 0;
 		if (!readyToForward() && (!_previewData || _previewData->pendingTill < 0) && !_replyToId && !_editMsgId) {
-			_fieldBarCancel.hide();
+			_fieldBarCancel->hide();
 			updateMouseTracking();
 		}
 	}
@@ -7414,8 +7422,8 @@ void HistoryWidget::updateToEndVisibility() {
 }
 
 void HistoryWidget::mousePressEvent(QMouseEvent *e) {
-	_replyForwardPressed = QRect(0, _field.y() - st::sendPadding - st::replyHeight, st::replySkip, st::replyHeight).contains(e->pos());
-	if (_replyForwardPressed && !_fieldBarCancel.isHidden()) {
+	_replyForwardPressed = QRect(0, _field.y() - st::sendPadding - st::historyReplyHeight, st::historyReplySkip, st::historyReplyHeight).contains(e->pos());
+	if (_replyForwardPressed && !_fieldBarCancel->isHidden()) {
 		updateField();
 	} else if (_inRecord && cHasAudioCapture()) {
 		emit audioCapture()->start();
@@ -7505,7 +7513,7 @@ void HistoryWidget::onInlineResultSend(InlineBots::Result *result, UserData *bot
 	}
 	bool channelPost = _peer->isChannel() && !_peer->isMegagroup();
 	bool showFromName = !channelPost || _peer->asChannel()->addsSignature();
-	bool silentPost = channelPost && _silent.checked();
+	bool silentPost = channelPost && _silent->checked();
 	if (channelPost) {
 		flags |= MTPDmessage::Flag::f_views;
 		flags |= MTPDmessage::Flag::f_post;
@@ -7528,7 +7536,7 @@ void HistoryWidget::onInlineResultSend(InlineBots::Result *result, UserData *bot
 	result->addToHistory(_history, flags, messageId, messageFromId, messageDate, messageViaBotId, replyToId());
 
 	_history->sendRequestId = MTP::send(MTPmessages_SendInlineBotResult(MTP_flags(sendFlags), _peer->input, MTP_int(replyToId()), MTP_long(randomId), MTP_long(result->getQueryId()), MTP_string(result->getId())), App::main()->rpcDone(&MainWidget::sentUpdatesReceived), App::main()->rpcFail(&MainWidget::sendMessageFail), 0, 0, _history->sendRequestId);
-	App::main()->finishForwarding(_history, _silent.checked());
+	App::main()->finishForwarding(_history, _silent->checked());
 	cancelReply(lastKeyboardUsed);
 
 	App::historyRegRandom(randomId, newId);
@@ -7557,7 +7565,7 @@ void HistoryWidget::onInlineResultSend(InlineBots::Result *result, UserData *bot
 
 HistoryWidget::PinnedBar::PinnedBar(MsgId msgId, HistoryWidget *parent)
 : msgId(msgId)
-, cancel(parent, st::replyCancel)
+, cancel(parent, st::historyReplyCancel)
 , shadow(parent, st::shadowColor) {
 }
 
@@ -7632,7 +7640,7 @@ bool HistoryWidget::pinnedMsgVisibilityUpdated() {
 			result = true;
 
 			if (_scroll.scrollTop() != unreadBarTop()) {
-				_scroll.scrollToY(_scroll.scrollTop() + st::replyHeight);
+				_scroll.scrollToY(_scroll.scrollTop() + st::historyReplyHeight);
 			}
 		} else if (_pinnedBar->msgId != pinnedMsgId) {
 			_pinnedBar->msgId = pinnedMsgId;
@@ -7648,7 +7656,7 @@ bool HistoryWidget::pinnedMsgVisibilityUpdated() {
 		destroyPinnedBar();
 		result = true;
 		if (_scroll.scrollTop() != unreadBarTop()) {
-			_scroll.scrollToY(_scroll.scrollTop() - st::replyHeight);
+			_scroll.scrollToY(_scroll.scrollTop() - st::historyReplyHeight);
 		}
 		resizeEvent(0);
 	}
@@ -7687,7 +7695,7 @@ bool HistoryWidget::sendExistingDocument(DocumentData *doc, const QString &capti
 	}
 	bool channelPost = _peer->isChannel() && !_peer->isMegagroup();
 	bool showFromName = !channelPost || _peer->asChannel()->addsSignature();
-	bool silentPost = channelPost && _silent.checked();
+	bool silentPost = channelPost && _silent->checked();
 	if (channelPost) {
 		flags |= MTPDmessage::Flag::f_views;
 		flags |= MTPDmessage::Flag::f_post;
@@ -7701,7 +7709,7 @@ bool HistoryWidget::sendExistingDocument(DocumentData *doc, const QString &capti
 	_history->addNewDocument(newId.msg, flags, 0, replyToId(), date(MTP_int(unixtime())), showFromName ? MTP::authedId() : 0, doc, caption, MTPnullMarkup);
 
 	_history->sendRequestId = MTP::send(MTPmessages_SendMedia(MTP_flags(sendFlags), _peer->input, MTP_int(replyToId()), MTP_inputMediaDocument(mtpInput, MTP_string(caption)), MTP_long(randomId), MTPnullMarkup), App::main()->rpcDone(&MainWidget::sentUpdatesReceived), App::main()->rpcFail(&MainWidget::sendMessageFail), 0, 0, _history->sendRequestId);
-	App::main()->finishForwarding(_history, _silent.checked());
+	App::main()->finishForwarding(_history, _silent->checked());
 	cancelReplyAfterMediaSend(lastKeyboardUsed);
 
 	if (doc->sticker()) App::main()->incrementSticker(doc);
@@ -7742,7 +7750,7 @@ void HistoryWidget::sendExistingPhoto(PhotoData *photo, const QString &caption)
 	}
 	bool channelPost = _peer->isChannel() && !_peer->isMegagroup();
 	bool showFromName = !channelPost || _peer->asChannel()->addsSignature();
-	bool silentPost = channelPost && _silent.checked();
+	bool silentPost = channelPost && _silent->checked();
 	if (channelPost) {
 		flags |= MTPDmessage::Flag::f_views;
 		flags |= MTPDmessage::Flag::f_post;
@@ -7756,7 +7764,7 @@ void HistoryWidget::sendExistingPhoto(PhotoData *photo, const QString &caption)
 	_history->addNewPhoto(newId.msg, flags, 0, replyToId(), date(MTP_int(unixtime())), showFromName ? MTP::authedId() : 0, photo, caption, MTPnullMarkup);
 
 	_history->sendRequestId = MTP::send(MTPmessages_SendMedia(MTP_flags(sendFlags), _peer->input, MTP_int(replyToId()), MTP_inputMediaPhoto(MTP_inputPhoto(MTP_long(photo->id), MTP_long(photo->access)), MTP_string(caption)), MTP_long(randomId), MTPnullMarkup), App::main()->rpcDone(&MainWidget::sentUpdatesReceived), App::main()->rpcFail(&MainWidget::sendMessageFail), 0, 0, _history->sendRequestId);
-	App::main()->finishForwarding(_history, _silent.checked());
+	App::main()->finishForwarding(_history, _silent->checked());
 	cancelReplyAfterMediaSend(lastKeyboardUsed);
 
 	App::historyRegRandom(randomId, newId);
@@ -7818,7 +7826,7 @@ void HistoryWidget::onReplyToMessage() {
 
 		updateBotKeyboard();
 
-		if (!_field.isHidden()) _fieldBarCancel.show();
+		if (!_field.isHidden()) _fieldBarCancel->show();
 		updateMouseTracking();
 		updateReplyToName();
 		resizeEvent(0);
@@ -7871,7 +7879,7 @@ void HistoryWidget::onEditMessage() {
 
 		updateBotKeyboard();
 
-		if (!_field.isHidden()) _fieldBarCancel.show();
+		if (!_field.isHidden()) _fieldBarCancel->show();
 		updateFieldPlaceholder();
 		updateMouseTracking();
 		updateReplyToName();
@@ -7964,7 +7972,7 @@ bool HistoryWidget::cancelReply(bool lastKeyboardUsed) {
 		_replyToId = 0;
 		mouseMoveEvent(0);
 		if (!readyToForward() && (!_previewData || _previewData->pendingTill < 0) && !_kbReplyTo) {
-			_fieldBarCancel.hide();
+			_fieldBarCancel->hide();
 			updateMouseTracking();
 		}
 
@@ -8026,7 +8034,7 @@ void HistoryWidget::cancelEdit() {
 
 	mouseMoveEvent(nullptr);
 	if (!readyToForward() && (!_previewData || _previewData->pendingTill < 0) && !replyToId()) {
-		_fieldBarCancel.hide();
+		_fieldBarCancel->hide();
 		updateMouseTracking();
 	}
 
@@ -8089,7 +8097,7 @@ void HistoryWidget::previewCancel() {
 	_previewLinks.clear();
 	updatePreview();
 	if (!_editMsgId && !_replyToId && !readyToForward() && !_kbReplyTo) {
-		_fieldBarCancel.hide();
+		_fieldBarCancel->hide();
 		updateMouseTracking();
 	}
 }
@@ -8155,7 +8163,7 @@ void HistoryWidget::gotPreview(QString links, const MTPMessageMedia &result, mtp
 void HistoryWidget::updatePreview() {
 	_previewTimer.stop();
 	if (_previewData && _previewData->pendingTill >= 0) {
-		_fieldBarCancel.show();
+		_fieldBarCancel->show();
 		updateMouseTracking();
 		if (_previewData->pendingTill) {
 			_previewTitle.setText(st::msgServiceNameFont, lang(lng_preview_loading), _textNameOptions);
@@ -8199,7 +8207,7 @@ void HistoryWidget::updatePreview() {
 			_previewDescription.setText(st::msgFont, textClean(desc), _textDlgOptions);
 		}
 	} else if (!readyToForward() && !replyToId() && !_editMsgId) {
-		_fieldBarCancel.hide();
+		_fieldBarCancel->hide();
 		updateMouseTracking();
 	}
 	resizeEvent(0);
@@ -8461,7 +8469,7 @@ void HistoryWidget::updateReplyEditTexts(bool force) {
 		updateBotKeyboard();
 
 		if (!_field.isHidden() || _recording) {
-			_fieldBarCancel.show();
+			_fieldBarCancel->show();
 			updateMouseTracking();
 		}
 		updateReplyToName();
@@ -8505,21 +8513,21 @@ void HistoryWidget::drawField(Painter &p, const QRect &rect) {
 		if (!_editMsgId && drawMsgText && drawMsgText->author()->nameVersion > _replyToNameVersion) {
 			updateReplyToName();
 		}
-		backy -= st::replyHeight;
-		backh += st::replyHeight;
+		backy -= st::historyReplyHeight;
+		backh += st::historyReplyHeight;
 	} else if (hasForward) {
 		App::main()->fillForwardingInfo(from, text, serviceColor, preview);
-		backy -= st::replyHeight;
-		backh += st::replyHeight;
+		backy -= st::historyReplyHeight;
+		backh += st::historyReplyHeight;
 	} else if (_previewData && _previewData->pendingTill >= 0) {
-		backy -= st::replyHeight;
-		backh += st::replyHeight;
+		backy -= st::historyReplyHeight;
+		backh += st::historyReplyHeight;
 	}
 	bool drawPreview = (_previewData && _previewData->pendingTill >= 0) && !_replyForwardPressed;
 	p.fillRect(0, backy, width(), backh, st::taMsgField.bgColor);
 	if (_editMsgId || _replyToId || (!hasForward && _kbReplyTo)) {
-		int32 replyLeft = st::replySkip;
-		p.drawSprite(QPoint(st::replyIconPos.x(), backy + st::replyIconPos.y()), _editMsgId ? st::editIcon : st::replyIcon);
+		int32 replyLeft = st::historyReplySkip;
+		(_editMsgId ? st::historyEditIcon : st::historyReplyIcon).paint(p, st::historyReplyIconPosition + QPoint(0, backy), width());
 		if (!drawPreview) {
 			if (drawMsgText) {
 				if (drawMsgText->getMedia() && drawMsgText->getMedia()->hasReplyPreview()) {
@@ -8530,23 +8538,23 @@ void HistoryWidget::drawField(Painter &p, const QRect &rect) {
 					}
 					replyLeft += st::msgReplyBarSize.height() + st::msgReplyBarSkip - st::msgReplyBarSize.width() - st::msgReplyBarPos.x();
 				}
-				p.setPen(st::replyColor);
+				p.setPen(st::historyReplyColor);
 				if (_editMsgId) {
 					paintEditHeader(p, rect, replyLeft, backy);
 				} else {
-					_replyToName.drawElided(p, replyLeft, backy + st::msgReplyPadding.top(), width() - replyLeft - _fieldBarCancel.width() - st::msgReplyPadding.right());
+					_replyToName.drawElided(p, replyLeft, backy + st::msgReplyPadding.top(), width() - replyLeft - _fieldBarCancel->width() - st::msgReplyPadding.right());
 				}
 				p.setPen((((drawMsgText->toHistoryMessage() && drawMsgText->toHistoryMessage()->emptyText()) || drawMsgText->serviceMsg()) ? st::msgInDateFg : st::msgColor)->p);
-				_replyEditMsgText.drawElided(p, replyLeft, backy + st::msgReplyPadding.top() + st::msgServiceNameFont->height, width() - replyLeft - _fieldBarCancel.width() - st::msgReplyPadding.right());
+				_replyEditMsgText.drawElided(p, replyLeft, backy + st::msgReplyPadding.top() + st::msgServiceNameFont->height, width() - replyLeft - _fieldBarCancel->width() - st::msgReplyPadding.right());
 			} else {
 				p.setFont(st::msgDateFont->f);
 				p.setPen(st::msgInDateFg->p);
-				p.drawText(replyLeft, backy + st::msgReplyPadding.top() + (st::msgReplyBarSize.height() - st::msgDateFont->height) / 2 + st::msgDateFont->ascent, st::msgDateFont->elided(lang(lng_profile_loading), width() - replyLeft - _fieldBarCancel.width() - st::msgReplyPadding.right()));
+				p.drawText(replyLeft, backy + st::msgReplyPadding.top() + (st::msgReplyBarSize.height() - st::msgDateFont->height) / 2 + st::msgDateFont->ascent, st::msgDateFont->elided(lang(lng_profile_loading), width() - replyLeft - _fieldBarCancel->width() - st::msgReplyPadding.right()));
 			}
 		}
 	} else if (from && text) {
-		int32 forwardLeft = st::replySkip;
-		p.drawSprite(QPoint(st::replyIconPos.x(), backy + st::replyIconPos.y()), st::forwardIcon);
+		int forwardLeft = st::historyReplySkip;
+		st::historyForwardIcon.paint(p, st::historyReplyIconPosition + QPoint(0, backy), width());
 		if (!drawPreview) {
 			if (!preview->isNull()) {
 				QRect to(forwardLeft, backy + st::msgReplyPadding.top(), st::msgReplyBarSize.height(), st::msgReplyBarSize.height());
@@ -8558,15 +8566,15 @@ void HistoryWidget::drawField(Painter &p, const QRect &rect) {
 				}
 				forwardLeft += st::msgReplyBarSize.height() + st::msgReplyBarSkip - st::msgReplyBarSize.width() - st::msgReplyBarPos.x();
 			}
-			p.setPen(st::replyColor->p);
-			from->drawElided(p, forwardLeft, backy + st::msgReplyPadding.top(), width() - forwardLeft - _fieldBarCancel.width() - st::msgReplyPadding.right());
+			p.setPen(st::historyReplyColor->p);
+			from->drawElided(p, forwardLeft, backy + st::msgReplyPadding.top(), width() - forwardLeft - _fieldBarCancel->width() - st::msgReplyPadding.right());
 			p.setPen((serviceColor ? st::msgInDateFg : st::msgColor)->p);
-			text->drawElided(p, forwardLeft, backy + st::msgReplyPadding.top() + st::msgServiceNameFont->height, width() - forwardLeft - _fieldBarCancel.width() - st::msgReplyPadding.right());
+			text->drawElided(p, forwardLeft, backy + st::msgReplyPadding.top() + st::msgServiceNameFont->height, width() - forwardLeft - _fieldBarCancel->width() - st::msgReplyPadding.right());
 		}
 	}
 	if (drawPreview) {
-		int32 previewLeft = st::replySkip + st::webPageLeft;
-		p.fillRect(st::replySkip, backy + st::msgReplyPadding.top(), st::webPageBar, st::msgReplyBarSize.height(), st::msgInReplyBarColor->b);
+		int32 previewLeft = st::historyReplySkip + st::webPageLeft;
+		p.fillRect(st::historyReplySkip, backy + st::msgReplyPadding.top(), st::webPageBar, st::msgReplyBarSize.height(), st::msgInReplyBarColor->b);
 		if ((_previewData->photo && !_previewData->photo->thumb->isNull()) || (_previewData->document && !_previewData->document->thumb->isNull())) {
 			ImagePtr replyPreview = _previewData->photo ? _previewData->photo->makeReplyPreview() : _previewData->document->makeReplyPreview();
 			if (!replyPreview->isNull()) {
@@ -8580,10 +8588,10 @@ void HistoryWidget::drawField(Painter &p, const QRect &rect) {
 			}
 			previewLeft += st::msgReplyBarSize.height() + st::msgReplyBarSkip - st::msgReplyBarSize.width() - st::msgReplyBarPos.x();
 		}
-		p.setPen(st::replyColor->p);
-		_previewTitle.drawElided(p, previewLeft, backy + st::msgReplyPadding.top(), width() - previewLeft - _fieldBarCancel.width() - st::msgReplyPadding.right());
+		p.setPen(st::historyReplyColor->p);
+		_previewTitle.drawElided(p, previewLeft, backy + st::msgReplyPadding.top(), width() - previewLeft - _fieldBarCancel->width() - st::msgReplyPadding.right());
 		p.setPen(st::msgColor->p);
-		_previewDescription.drawElided(p, previewLeft, backy + st::msgReplyPadding.top() + st::msgServiceNameFont->height, width() - previewLeft - _fieldBarCancel.width() - st::msgReplyPadding.right());
+		_previewDescription.drawElided(p, previewLeft, backy + st::msgReplyPadding.top() + st::msgServiceNameFont->height, width() - previewLeft - _fieldBarCancel->width() - st::msgReplyPadding.right());
 	}
 }
 
@@ -8676,7 +8684,7 @@ void HistoryWidget::drawPinnedBar(Painter &p) {
 	Text *from = 0, *text = 0;
 	bool serviceColor = false, hasForward = readyToForward();
 	ImagePtr preview;
-	p.fillRect(0, 0, width(), st::replyHeight, st::taMsgField.bgColor);
+	p.fillRect(0, 0, width(), st::historyReplyHeight, st::taMsgField.bgColor);
 
 	QRect rbar(rtlrect(st::msgReplyBarSkip + st::msgReplyBarPos.x(), st::msgReplyPadding.top() + st::msgReplyBarPos.y(), st::msgReplyBarSize.width(), st::msgReplyBarSize.height(), width()));
 	p.fillRect(rbar, st::msgInReplyBarColor);
@@ -8691,7 +8699,7 @@ void HistoryWidget::drawPinnedBar(Painter &p) {
 			}
 			left += st::msgReplyBarSize.height() + st::msgReplyBarSkip - st::msgReplyBarSize.width() - st::msgReplyBarPos.x();
 		}
-		p.setPen(st::replyColor);
+		p.setPen(st::historyReplyColor);
 		p.setFont(st::msgServiceNameFont);
 		p.drawText(left, st::msgReplyPadding.top() + st::msgServiceNameFont->ascent, lang(lng_pinned_message));
 
diff --git a/Telegram/SourceFiles/historywidget.h b/Telegram/SourceFiles/historywidget.h
index d5a81ba86..87999b2bb 100644
--- a/Telegram/SourceFiles/historywidget.h
+++ b/Telegram/SourceFiles/historywidget.h
@@ -23,6 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 #include "localimageloader.h"
 #include "ui/effects/rect_shadow.h"
 #include "ui/widgets/tooltip.h"
+#include "ui/buttons/icon_button.h"
 #include "history/history_common.h"
 #include "history/field_autocomplete.h"
 #include "window/section_widget.h"
@@ -508,18 +509,27 @@ private:
 
 };
 
-class SilentToggle : public FlatCheckbox, public Ui::AbstractTooltipShower {
+class SilentToggle : public Ui::IconButton, public Ui::AbstractTooltipShower {
 public:
-
 	SilentToggle(QWidget *parent);
-	void mouseMoveEvent(QMouseEvent *e) override;
-	void mouseReleaseEvent(QMouseEvent *e) override;
-	void leaveEvent(QEvent *e) override;
+
+	void setChecked(bool checked);
+	bool checked() const {
+		return _checked;
+	}
 
 	// AbstractTooltipShower interface
 	QString tooltipText() const override;
 	QPoint tooltipPos() const override;
 
+protected:
+	void mouseMoveEvent(QMouseEvent *e) override;
+	void mouseReleaseEvent(QMouseEvent *e) override;
+	void leaveEvent(QEvent *e) override;
+
+private:
+	bool _checked = false;
+
 };
 
 EntitiesInText entitiesFromTextTags(const TextWithTags::Tags &tags);
@@ -885,7 +895,7 @@ private:
 	Text _replyEditMsgText;
 	mutable SingleTimer _updateEditTimeLeftDisplay;
 
-	IconedButton _fieldBarCancel;
+	ChildWidget<Ui::IconButton> _fieldBarCancel;
 	void updateReplyEditTexts(bool force = false);
 
 	struct PinnedBar {
@@ -895,7 +905,7 @@ private:
 		MsgId msgId = 0;
 		HistoryItem *msg = nullptr;
 		Text text;
-		ChildWidget<IconedButton> cancel;
+		ChildWidget<Ui::IconButton> cancel;
 		ChildWidget<Ui::PlainShadow> shadow;
 	};
 	std_::unique_ptr<PinnedBar> _pinnedBar;
@@ -1075,7 +1085,7 @@ private:
 	UserData *_inlineBot = nullptr;
 	QString _inlineBotUsername;
 	mtpRequestId _inlineBotResolveRequestId = 0;
-	std_::unique_ptr<IconedButton> _inlineBotCancel;
+	std_::unique_ptr<Ui::IconButton> _inlineBotCancel;
 	void inlineBotResolveDone(const MTPcontacts_ResolvedPeer &result);
 	bool inlineBotResolveFail(QString name, const RPCError &error);
 
@@ -1096,7 +1106,7 @@ private:
 	ChildWidget<Ui::IconButton> _botKeyboardShow;
 	ChildWidget<Ui::IconButton> _botKeyboardHide;
 	ChildWidget<Ui::IconButton> _botCommandStart;
-	SilentToggle _silent;
+	ChildWidget<SilentToggle> _silent;
 	bool _cmdStartShown = false;
 	MessageField _field;
 	Animation _a_record, _a_recording;
diff --git a/Telegram/SourceFiles/intro/intro.style b/Telegram/SourceFiles/intro/intro.style
index e56d5f7b7..a6d8e2077 100644
--- a/Telegram/SourceFiles/intro/intro.style
+++ b/Telegram/SourceFiles/intro/intro.style
@@ -25,20 +25,15 @@ introErrLabel: flatLabel(labelDefFlat) {
 	font: introErrFont;
 	align: align(center);
 }
-introBackButton: IconButton {
+introBackButton: IconButton(defaultIconButton) {
 	width: 40px;
 	height: 40px;
 
-	opacity: 0.71;
-	overOpacity: 1.;
-
 	icon: icon {
 		{ size(40px, 40px), #eeeeee },
 		{ "title_previous", #969696, point(12px, 12px) },
 	};
 	iconPosition: point(0px, 0px);
 	downIconPosition: point(0px, 0px);
-
-	duration: 150;
 }
 introBackPosition: point(32px, 32px);
diff --git a/Telegram/SourceFiles/intro/introsignup.cpp b/Telegram/SourceFiles/intro/introsignup.cpp
index 74034244f..153e470a4 100644
--- a/Telegram/SourceFiles/intro/introsignup.cpp
+++ b/Telegram/SourceFiles/intro/introsignup.cpp
@@ -138,7 +138,7 @@ void IntroSignup::paintEvent(QPaintEvent *e) {
 		} else {
 			p.fillRect(phRect, st::newGroupPhotoBg);
 		}
-		p.drawSpriteCenter(phRect, st::newGroupPhotoIcon);
+		st::newGroupPhotoIcon.paintInCenter(p, phRect);
 	} else {
 		p.drawPixmap(_phLeft, _phTop, _photoSmall);
 	}
diff --git a/Telegram/SourceFiles/overviewwidget.cpp b/Telegram/SourceFiles/overviewwidget.cpp
index e75fd1d1d..4bf11a7b8 100644
--- a/Telegram/SourceFiles/overviewwidget.cpp
+++ b/Telegram/SourceFiles/overviewwidget.cpp
@@ -21,12 +21,14 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
 #include "stdafx.h"
 
 #include "styles/style_overview.h"
+#include "styles/style_dialogs.h"
 #include "boxes/addcontactbox.h"
 #include "boxes/confirmbox.h"
 #include "boxes/photocropbox.h"
 #include "ui/filedialog.h"
 #include "ui/widgets/popup_menu.h"
 #include "ui/widgets/tooltip.h"
+#include "ui/buttons/icon_button.h"
 #include "window/top_bar_widget.h"
 #include "window/chat_background.h"
 #include "lang.h"
@@ -52,7 +54,7 @@ OverviewInner::OverviewInner(OverviewWidget *overview, ScrollArea *scroll, PeerD
 , _channel(peerToChannel(_peer->id))
 , _rowWidth(st::msgMinWidth)
 , _search(this, st::dlgFilter, lang(lng_dlg_filter))
-, _cancelSearch(this, st::btnCancelSearch)
+, _cancelSearch(this, st::dialogsCancelSearch)
 , _itemsToBeLoaded(LinksOverviewPerPage * 2)
 , _width(st::wndMinWidth) {
 	subscribe(FileDownload::ImageLoaded(), [this] { update(); });
@@ -73,14 +75,14 @@ OverviewInner::OverviewInner(OverviewWidget *overview, ScrollArea *scroll, PeerD
 	mediaOverviewUpdated();
 	setMouseTracking(true);
 
-	connect(&_cancelSearch, SIGNAL(clicked()), this, SLOT(onCancelSearch()));
+	connect(_cancelSearch, SIGNAL(clicked()), this, SLOT(onCancelSearch()));
 	connect(&_search, SIGNAL(cancelled()), this, SLOT(onCancel()));
 	connect(&_search, SIGNAL(changed()), this, SLOT(onSearchUpdate()));
 
 	_searchTimer.setSingleShot(true);
 	connect(&_searchTimer, SIGNAL(timeout()), this, SLOT(onSearchMessages()));
 
-	_cancelSearch.hide();
+	_cancelSearch->hide();
 	if (_type == OverviewLinks || _type == OverviewFiles) {
 		_search.show();
 	} else {
@@ -1280,7 +1282,7 @@ int32 OverviewInner::resizeToWidth(int32 nwidth, int32 scrollTop, int32 minHeigh
 	_rowsLeft = (_width - _rowWidth) / 2;
 
 	_search.setGeometry(_rowsLeft, st::linksSearchMargin.top(), _rowWidth, _search.height());
-	_cancelSearch.moveToLeft(_rowsLeft + _rowWidth - _cancelSearch.width(), _search.y());
+	_cancelSearch->moveToLeft(_rowsLeft + _rowWidth - _cancelSearch->width(), _search.y());
 
 	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		for (int32 i = 0, l = _items.size(); i < l; ++i) {
@@ -1341,7 +1343,7 @@ void OverviewInner::switchType(MediaOverviewType type) {
 			_search.updatePlaceholder();
 			onSearchUpdate();
 		}
-		_cancelSearch.hide();
+		_cancelSearch->hide();
 
 		resizeToWidth(_width, 0, _minHeight, true);
 	}
@@ -1470,9 +1472,9 @@ void OverviewInner::onSearchUpdate() {
 		_searchQueries.clear();
 		_searchQuery = QString();
 		_searchResults.clear();
-		_cancelSearch.hide();
-	} else if (_cancelSearch.isHidden()) {
-		_cancelSearch.show();
+		_cancelSearch->hide();
+	} else if (_cancelSearch->isHidden()) {
+		_cancelSearch->show();
 	}
 
 	if (changed) {
@@ -1494,7 +1496,7 @@ void OverviewInner::onCancel() {
 bool OverviewInner::onCancelSearch() {
 	if (_search.isHidden()) return false;
 	bool clearing = !_search.text().isEmpty();
-	_cancelSearch.hide();
+	_cancelSearch->hide();
 	_search.clear();
 	_search.updatePlaceholder();
 	onSearchUpdate();
diff --git a/Telegram/SourceFiles/overviewwidget.h b/Telegram/SourceFiles/overviewwidget.h
index abd092a8d..32a7c7e47 100644
--- a/Telegram/SourceFiles/overviewwidget.h
+++ b/Telegram/SourceFiles/overviewwidget.h
@@ -34,6 +34,7 @@ class Date;
 namespace Ui {
 class PlainShadow;
 class PopupMenu;
+class IconButton;
 } // namespace Ui
 
 class OverviewWidget;
@@ -179,7 +180,7 @@ private:
 	int32 setLayoutItem(int32 index, Overview::Layout::AbstractItem *item, int32 top);
 
 	FlatInput _search;
-	IconedButton _cancelSearch;
+	ChildWidget<Ui::IconButton> _cancelSearch;
 	QVector<MsgId> _results;
 	int32 _itemsToBeLoaded;
 
diff --git a/Telegram/SourceFiles/settings/settings.style b/Telegram/SourceFiles/settings/settings.style
index e7f9881cb..7e3d6c00a 100644
--- a/Telegram/SourceFiles/settings/settings.style
+++ b/Telegram/SourceFiles/settings/settings.style
@@ -33,18 +33,16 @@ settingsFixedBarFont: font(14px semibold);
 settingsFixedBarFg: windowTextFg;
 settingsFixedBarTextLeft: 20px;
 settingsFixedBarTextTop: 16px;
-settingsFixedBarClose: IconButton {
+settingsFixedBarClose: IconButton(defaultIconButton) {
 	width: settingsFixedBarHeight;
 	height: settingsFixedBarHeight;
 
 	opacity: 0.31;
 	overOpacity: 0.5;
 
-	icon: icon {{ "settings_close", #000000, point(0px, 0px) }};
+	icon: boxCancelIcon;
 	iconPosition: point(20px, 20px);
 	downIconPosition: point(20px, 20px);
-
-	duration: 200;
 }
 settingsFixedBarShadowBg1: #00000021;
 settingsFixedBarShadowBg2: #0000000b;
diff --git a/Telegram/SourceFiles/stickers/emoji_pan.cpp b/Telegram/SourceFiles/stickers/emoji_pan.cpp
index ffa997456..c3475d53c 100644
--- a/Telegram/SourceFiles/stickers/emoji_pan.cpp
+++ b/Telegram/SourceFiles/stickers/emoji_pan.cpp
@@ -2427,14 +2427,14 @@ EmojiPanel::EmojiPanel(QWidget *parent, const QString &text, uint64 setId, bool
 , _setId(setId)
 , _special(special)
 , _deleteVisible(false)
-, _delete(special ? 0 : new IconedButton(this, st::simpleClose)) { // Stickers::NoneSetId if in emoji
+, _delete(special ? 0 : new Ui::IconButton(this, st::hashtagClose)) { // Stickers::NoneSetId if in emoji
 	resize(st::emojiPanWidth, st::emojiPanHeader);
 	setMouseTracking(true);
 	setFocusPolicy(Qt::NoFocus);
 	setText(text);
 	if (_delete) {
 		_delete->hide();
-		_delete->moveToRight(st::emojiPanHeaderLeft - ((_delete->width() - st::simpleClose.icon.pxWidth()) / 2), (st::emojiPanHeader - _delete->height()) / 2, width());
+		_delete->moveToRight(st::emojiPanHeaderLeft - ((_delete->width() - st::hashtagClose.icon.width()) / 2), (st::emojiPanHeader - _delete->height()) / 2, width());
 		connect(_delete, SIGNAL(clicked()), this, SLOT(onDelete()));
 	}
 }
@@ -2452,7 +2452,7 @@ void EmojiPanel::updateText() {
 	int32 availw = st::emojiPanWidth - st::emojiPanHeaderLeft * 2;
 	if (_deleteVisible) {
 		if (!_special && _setId != Stickers::NoneSetId) {
-			availw -= st::simpleClose.icon.pxWidth() + st::emojiPanHeaderLeft;
+			availw -= st::hashtagClose.icon.width() + st::emojiPanHeaderLeft;
 		}
 	} else {
 		auto switchText = ([this]() {
diff --git a/Telegram/SourceFiles/stickers/emoji_pan.h b/Telegram/SourceFiles/stickers/emoji_pan.h
index 3beab8728..7545ae805 100644
--- a/Telegram/SourceFiles/stickers/emoji_pan.h
+++ b/Telegram/SourceFiles/stickers/emoji_pan.h
@@ -459,7 +459,7 @@ private:
 	QString _text, _fullText;
 	uint64 _setId;
 	bool _special, _deleteVisible;
-	IconedButton *_delete;
+	Ui::IconButton *_delete;
 
 };
 
diff --git a/Telegram/SourceFiles/stickers/stickers.style b/Telegram/SourceFiles/stickers/stickers.style
index 4eea840ee..f5d08bb54 100644
--- a/Telegram/SourceFiles/stickers/stickers.style
+++ b/Telegram/SourceFiles/stickers/stickers.style
@@ -162,3 +162,12 @@ stickerIconMove: 400;
 stickerPreviewDuration: 150;
 stickerPreviewBg: #FFFFFFB0;
 stickerPreviewMin: 0.1;
+
+hashtagClose: IconButton(defaultIconButton) {
+	width: 30px;
+	height: 30px;
+
+	icon: simpleCloseIcon;
+	iconPosition: point(10px, 10px);
+	downIconPosition: point(10px, 11px);
+}
diff --git a/Telegram/SourceFiles/ui/buttons/icon_button.cpp b/Telegram/SourceFiles/ui/buttons/icon_button.cpp
index 2a562d289..9720e0288 100644
--- a/Telegram/SourceFiles/ui/buttons/icon_button.cpp
+++ b/Telegram/SourceFiles/ui/buttons/icon_button.cpp
@@ -40,8 +40,12 @@ void IconButton::paintEvent(QPaintEvent *e) {
 	auto over = _a_over.current(getms(), (_state & StateOver) ? 1. : 0.);
 	p.setOpacity(over * _st.overOpacity + (1. - over) * _st.opacity);
 
+	auto icon = (_iconOverride ? _iconOverride : &_st.icon);
 	auto position = (_state & StateDown) ? _st.downIconPosition : _st.iconPosition;
-	(_iconOverride ? _iconOverride : &_st.icon)->paint(p, position, width());
+	if (position.x() < 0) {
+		position.setX((width() - icon->width()) / 2);
+	}
+	icon->paint(p, position, width());
 }
 
 void IconButton::onStateChanged(int oldState, ButtonStateChangeSource source) {
diff --git a/Telegram/SourceFiles/ui/widgets/widgets.style b/Telegram/SourceFiles/ui/widgets/widgets.style
index 959c7cc75..48c61dd98 100644
--- a/Telegram/SourceFiles/ui/widgets/widgets.style
+++ b/Telegram/SourceFiles/ui/widgets/widgets.style
@@ -167,6 +167,12 @@ defaultLabelSimple: LabelSimple {
 	textFg: windowTextFg;
 }
 
+defaultIconButton: IconButton {
+	opacity: 0.78;
+	overOpacity: 1.;
+	duration: 150;
+}
+
 widgetSlideDuration: 200;
 widgetFadeDuration: 200;
 
diff --git a/Telegram/SourceFiles/window/notifications_manager_default.h b/Telegram/SourceFiles/window/notifications_manager_default.h
index 490bad48b..a4ba92062 100644
--- a/Telegram/SourceFiles/window/notifications_manager_default.h
+++ b/Telegram/SourceFiles/window/notifications_manager_default.h
@@ -244,7 +244,7 @@ private:
 	PeerData *_author;
 	HistoryItem *_item;
 	int _forwardedCount;
-	ChildWidget<IconedButton> _close;
+	ChildWidget<Ui::IconButton> _close;
 	ChildWidget<BoxButton> _reply;
 	ChildWidget<Background> _background = { nullptr };
 	ChildWidget<InputArea> _replyArea = { nullptr };
diff --git a/Telegram/SourceFiles/window/window.style b/Telegram/SourceFiles/window/window.style
index a7da80f3b..7f7cb09b2 100644
--- a/Telegram/SourceFiles/window/window.style
+++ b/Telegram/SourceFiles/window/window.style
@@ -37,7 +37,13 @@ notifyPhotoSize: 62px;
 notifyMacPhotoSize: 64px;
 notifyPhotoPos: point(9px, 9px);
 notifyClosePos: point(1px, 2px);
-notifyClose: iconedButton(simpleClose) {
+notifyClose: IconButton(defaultIconButton) {
+	width: 30px;
+	height: 30px;
+
+	icon: simpleCloseIcon;
+	iconPosition: point(10px, 10px);
+	downIconPosition: point(10px, 11px);
 }
 notifyItemTop: 12px;
 notifyTextLeft: 12px;
@@ -64,16 +70,11 @@ notifyReplyArea: InputArea(defaultInputArea) {
 	borderActive: 0px;
 	borderError: 0px;
 }
-notifySendReply: IconButton {
+notifySendReply: IconButton(defaultIconButton) {
 	width: 36px;
 	height: 36px;
 
-	opacity: 0.78;
-	overOpacity: 1.;
-
 	icon: icon {{ "notification_send", windowActiveBg, point(3px, 9px) }};
 	iconPosition: point(0px, 0px);
 	downIconPosition: point(0px, 1px);
-
-	duration: notifyFastAnim;
 }