From 37e5157d5a29ec6b4bef39146e90cd071887b698 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 4 Mar 2022 13:19:37 +0400 Subject: [PATCH] Improve "Pin on top" icon in RTMP streams. --- Telegram/Resources/icons/calls/navbar_pin.png | Bin 0 -> 445 bytes .../Resources/icons/calls/navbar_pin@2x.png | Bin 0 -> 748 bytes .../Resources/icons/calls/navbar_pin@3x.png | Bin 0 -> 1057 bytes Telegram/SourceFiles/calls/calls.style | 8 ++-- .../calls/group/calls_group_panel.cpp | 37 +++++------------- .../calls/group/calls_group_panel.h | 1 - 6 files changed, 14 insertions(+), 32 deletions(-) create mode 100644 Telegram/Resources/icons/calls/navbar_pin.png create mode 100644 Telegram/Resources/icons/calls/navbar_pin@2x.png create mode 100644 Telegram/Resources/icons/calls/navbar_pin@3x.png diff --git a/Telegram/Resources/icons/calls/navbar_pin.png b/Telegram/Resources/icons/calls/navbar_pin.png new file mode 100644 index 0000000000000000000000000000000000000000..a24740603c77fc7a2e5a6db43d7af148c0fbe664 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^DnKm3!2~2_Z=H|?QjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPtFnL@&Xxcv^t->U8mLU&)5S5w zgEu)rf_1T?!)k$qw6tYYFP?bj<>~qM{{H{x=i563MMX(Pa`DgR?3dBgT;R*jC$ppI zY1gJrpPrtc-k9^~?cr24u|hXDH(A-a(cAOBe))1>>F?ja{pVOPJ`ZYq`0icZmlqfP z=iBYA|G#h3CZU@yb#?#h|NrCU;!@%cI$~G!#3Mg{{h~!m7m733rcRl1XGbBk?*yg1 zfB=CD{$XKZ8Ou`A)A!f>6q4AM@n}ksvXat;H{CrwOFDf8rk9nK)&2h``))tCxL!qN zW#B8$HNXD;`BV4jhhg?LogM%8)%;XaS8oqBbZy$VZ=ZerKbB(x7eqWNe*O6I=kM?7 zt*xy}#T&EkZA$e{OH+%{va$JdxSjv>bp7`33)2psI^`A3?dB`b%NW(hzz}geclodM R$}&*UdAjFi#i9 zkPOzhGyJ<910{|f-yi9fBf4=xM+8TePJjL5*F!-t>nB5`69Q%L>hAdM(Y{etWLejx#Ana}rNHY3dR%o$b5( zZr5}4__9bZb)m<^`YV7>8oUV6; z_3R2=9r{FPx_8yQwKuZ1J}cT;wbyR;*$clogzV}UDZTny_4jL)>#UnOY2EEBI9ZsE zKMrhiWY~5xWs;9t{q)rrGyIkdf12y}{Qb=To1<1=RmiiOFV5BKqV%wAcd6A}AQRA-GATtSBcf% zf3@0T-4Q^y`Y)bESUeOUIIs0Ua(@ujPH|5I)lPuZ~ zE53EO;x)_NVe`Z1oGS`eEfJp47rji@+s-H5egC&^ex^i}OvQye$r~kX zJ&#-bTOXz!u=aZP{`>y=h4PP&w$@wE`||72Jy}MSsCEFx{EyAd@=N}2*vl0!b{mw^ NJYD@<);T3K0RYO_Ii&yq literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/calls/navbar_pin@3x.png b/Telegram/Resources/icons/calls/navbar_pin@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..651bf075bfff00d29818ad6df7391aa16d77002b GIT binary patch literal 1057 zcmeAS@N?(olHy`uVBq!ia0vp^IY8{e!2~4dShnv1QjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPo3nr!&h`K)JUc7+7EpP&r;B4q z1>@VB{vKM6GVBFseUwzSrYve+z%FQ0y24pN%vC@{P_~7qg~M@A`Kt?#uVqU4zvy@f zh_tc_maYu2VsVt?eIw*rzu?~Qz2@fw%dakfcS-*F>xF68XWoBTGw1%BcWd05`B@Yg z7&#mmm;@Ra(3v%}8s1&*Tk@!}$1U04|NQUYzi;23-IdtNvGnpwF)^`o=g-$awG$T? z@9ys265sJp`+bVL`|*GO>ipKfs8^c!;?0|ox(>E}2e(${4ILleAA9;VH9S1LSzF`f zJeLnoo}{Ftv^+cV@ZrP9kCXYhj&C|4bkIX3$b#9-)HF9Y_uxhy`C3JB6;n@U3onN* zv(x^6sjXGPqGC67OS+B74tzUuC^YuE1IfB*gW`t|F7`nZ2yVAK87 zEhIfXy?yJh{rmIt@}^zSJY!q7ySA*XEHzbCto!brJ2f>m1=e9Jf+oC-SQ~b)CLv*g z;YqIQrzKYB&z-B7?=5C#ZoXQwxi!&vCJ(o%v2pN@{fwvIzI|I>UatBu!{E|{C5#qU zR#DmKdD)n4eK&7NPEOuxwtn}&>pn7Z>#rwm+%WlE+UAuZS~Gnv#s7+ljkUG4y?T9q zg29UGuUG2+75dT=96v$+vX%_r=8r`sB}=Y(_V@Si-?L}KhL067Yd73C?>qne@y_@U5Ry3b@l2y zfl3yZmMgDG{_C+gCF?4lvVXIXJIAx)rFO>;9(1fzU04~gL+9M@r(RpFE|qG|_1pYY zq{-5?cbS^IRQaDS6I0Wv{Y{fjKYb+WB`B{b(<{CCd}U%pIP9q4xc{Q2;G{L542!s_$# z_&TI^D%|}$(Yy6^PuS|G+`P`t&Wn_%38&~il{uScEWgccwr|FfQ%#~WzkmIbP|}sU zq_t*8huUOMBmPY~)4ER_Uwr&=V#gLUz4iJR<^^aR37)i0esKOX&>Vca`j!leEHJ}rnfKOy}Nhs-m=}<+i%CFZm+Jc{{HQo#9v@SQxI6ONpY1Y utH#!sZ|(Lzo?h3OizD&FvqYo3+6U>UQg?rDif-)%Wlv96KbLh*2~7Z#2G6$u literal 0 HcmV?d00001 diff --git a/Telegram/SourceFiles/calls/calls.style b/Telegram/SourceFiles/calls/calls.style index 2e5e354f1..ea751a99d 100644 --- a/Telegram/SourceFiles/calls/calls.style +++ b/Telegram/SourceFiles/calls/calls.style @@ -493,6 +493,8 @@ callErrorToast: Toast(defaultToast) { groupCallWidth: 380px; groupCallHeight: 580px; +groupCallWidthRtmp: 720px; +groupCallHeightRtmp: 580px; groupCallHeightRtmpMin: 280px; groupCallRipple: RippleAnimation(defaultRippleAnimation) { @@ -1121,9 +1123,9 @@ groupCallTitle: WindowTitle(defaultWindowTitle) { closeIconActiveOver: groupCallTitleCloseIconOver; } groupCallPinOnTop: IconButton(groupCallTitleButton) { - icon: icon{{ "dialogs/dialogs_pinned", groupCallMemberNotJoinedStatus }}; - iconOver: icon{{ "dialogs/dialogs_pinned", groupCallMembersFg }}; - iconPosition: point(8px, 4px); + icon: icon{{ "calls/navbar_pin", groupCallMemberNotJoinedStatus }}; + iconOver: icon{{ "calls/navbar_pin", groupCallMembersFg }}; + iconPosition: point(0px, 4px); } groupCallMajorBlobIdleRadius: 2px; diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp index e75d8062b..f6187af81 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp @@ -888,31 +888,6 @@ void Panel::enlargeVideo() { } } -void Panel::minimizeVideo() { - if (window()->windowState() & Qt::WindowMaximized) { - _lastLargeMaximized = true; - window()->setWindowState( - window()->windowState() & ~Qt::WindowMaximized); - } else { - _lastLargeMaximized = false; - _lastLargeGeometry = window()->geometry(); - } - const auto available = window()->screen()->availableGeometry(); - const auto width = st::groupCallWidth; - const auto height = _call->rtmp() - ? st::groupCallHeightRtmpMin - : st::groupCallHeight; - const auto geometry = QRect( - window()->x() + (window()->width() - width) / 2, - window()->y() + (window()->height() - height) / 2, - width, - height); - window()->setGeometry((_lastSmallGeometry - && available.intersects(*_lastSmallGeometry)) - ? *_lastSmallGeometry - : geometry); -} - void Panel::raiseControls() { if (_controlsBackgroundWide) { _controlsBackgroundWide->raise(); @@ -1501,12 +1476,18 @@ rpl::lifetime &Panel::lifetime() { void Panel::initGeometry() { const auto center = Core::App().getPointForCallPanelCenter(); - const auto height = (_call->rtmp() && !_call->canManage()) + const auto width = _call->rtmp() + ? st::groupCallWidthRtmp + : st::groupCallWidth; + const auto height = _call->rtmp() + ? st::groupCallHeightRtmp + : st::groupCallHeight; + const auto minHeight = (_call->rtmp() && !_call->canManage()) ? st::groupCallHeightRtmpMin : st::groupCallHeight; - const auto rect = QRect(0, 0, st::groupCallWidth, height); + const auto rect = QRect(0, 0, width, height); window()->setGeometry(rect.translated(center - rect.center())); - window()->setMinimumSize(rect.size()); + window()->setMinimumSize({ st::groupCallWidth, minHeight }); window()->show(); } diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.h b/Telegram/SourceFiles/calls/group/calls_group_panel.h index e7a3688e6..b057f29f2 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_panel.h +++ b/Telegram/SourceFiles/calls/group/calls_group_panel.h @@ -134,7 +134,6 @@ private: void trackControls(bool track, bool force = false); void raiseControls(); void enlargeVideo(); - void minimizeVideo(); void trackControl(Ui::RpWidget *widget, rpl::lifetime &lifetime); void trackControlOver(not_null control, bool over);