2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-08-31 06:26:18 +00:00

Pass QWindow to PowerSaveBlocker.

This commit is contained in:
John Preston
2022-02-04 09:43:56 +03:00
parent 28dff5ba6d
commit f918c6bb83
13 changed files with 43 additions and 26 deletions

View File

@@ -44,6 +44,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "apiwrap.h"
#include "platform/platform_specific.h"
#include "base/platform/base_platform_info.h"
#include "base/power_save_blocker.h"
#include "window/main_window.h"
#include "webrtc/webrtc_video_track.h"
#include "webrtc/webrtc_media_devices.h"
@@ -357,6 +358,7 @@ void Panel::reinitWithCall(Call *call) {
if (!_call) {
_incoming = nullptr;
_outgoingVideoBubble = nullptr;
_powerSaveBlocker = nullptr;
return;
}
@@ -497,6 +499,11 @@ void Panel::reinitWithCall(Call *call) {
_camera->raise();
_mute->raise();
_powerSaveBlocker = std::make_unique<base::PowerSaveBlocker>(
base::PowerSaveBlockType::PreventDisplaySleep,
u"Video call is active"_q,
window()->windowHandle());
_incoming->widget()->lower();
}
@@ -804,6 +811,10 @@ void Panel::stateChanged(State state) {
&& (state != State::EndedByOtherDevice)
&& (state != State::FailedHangingUp)
&& (state != State::Failed)) {
if (state == State::Busy) {
_powerSaveBlocker = nullptr;
}
auto toggleButton = [&](auto &&button, bool visible) {
button->toggle(
visible,