Hide controls in full screen stream by timeout.

This commit is contained in:
John Preston 2022-03-01 19:12:51 +03:00
parent dd5aeeb65a
commit 5ad2900c9c
2 changed files with 17 additions and 1 deletions

View File

@ -71,6 +71,7 @@ constexpr auto kRecordingOpacity = 0.6;
constexpr auto kStartNoConfirmation = TimeId(10);
constexpr auto kControlsBackgroundOpacity = 0.8;
constexpr auto kOverrideActiveColorBgAlpha = 172;
constexpr auto kHideControlsTimeout = 5 * crl::time(1000);
} // namespace
@ -121,7 +122,8 @@ Panel::Panel(not_null<GroupCall*> call)
, _hangup(widget(), st::groupCallHangup)
, _stickedTooltipsShown(Core::App().settings().hiddenGroupCallTooltips()
& ~StickedTooltip::Microphone) // Always show tooltip about mic.
, _toasts(std::make_unique<Toasts>(this)) {
, _toasts(std::make_unique<Toasts>(this))
, _hideControlsTimer([=] { toggleWideControls(false); }) {
_layerBg->setStyleOverrides(&st::groupCallBox, &st::groupCallLayerBox);
_layerBg->setHideByBackgroundClick(true);
@ -1170,6 +1172,17 @@ void Panel::createPinOnTop() {
_pinOnTop->setVisible(!fullscreen);
if (fullscreen) {
pin(false);
_viewport->rp()->events(
) | rpl::filter([](not_null<QEvent*> event) {
return (event->type() == QEvent::MouseMove);
}) | rpl::start_with_next([=] {
_hideControlsTimer.callOnce(kHideControlsTimeout);
toggleWideControls(true);
}, _hideControlsTimerLifetime);
} else {
_hideControlsTimerLifetime.destroy();
_hideControlsTimer.cancel();
}
}, _pinOnTop->lifetime());

View File

@ -256,6 +256,9 @@ private:
std::unique_ptr<MicLevelTester> _micLevelTester;
base::Timer _hideControlsTimer;
rpl::lifetime _hideControlsTimerLifetime;
rpl::lifetime _peerLifetime;
};