mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Fix maximize/fullscreen of pinned-to-top livestream.
This commit is contained in:
parent
56555c330b
commit
d7e2046ef3
2 changed files with 26 additions and 0 deletions
|
@ -146,6 +146,23 @@ Main::Session &Show::session() const {
|
||||||
return panel->call()->peer()->session();
|
return panel->call()->peer()->session();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
void UnpinMaximized(not_null<QWidget*> widget) {
|
||||||
|
SetWindowPos(
|
||||||
|
reinterpret_cast<HWND>(widget->window()->windowHandle()->winId()),
|
||||||
|
HWND_NOTOPMOST,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
(SWP_NOMOVE
|
||||||
|
| SWP_NOSIZE
|
||||||
|
| SWP_NOOWNERZORDER
|
||||||
|
| SWP_FRAMECHANGED
|
||||||
|
| SWP_NOACTIVATE));
|
||||||
|
}
|
||||||
|
#endif // Q_OS_WIN
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
struct Panel::ControlsBackgroundNarrow {
|
struct Panel::ControlsBackgroundNarrow {
|
||||||
|
@ -1257,7 +1274,12 @@ void Panel::createPinOnTop() {
|
||||||
|
|
||||||
_pinOnTop->setVisible(!fullScreenOrMaximized);
|
_pinOnTop->setVisible(!fullScreenOrMaximized);
|
||||||
if (fullScreenOrMaximized) {
|
if (fullScreenOrMaximized) {
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
UnpinMaximized(window());
|
||||||
|
_unpinnedMaximized = true;
|
||||||
|
#else // Q_OS_WIN
|
||||||
pin(false);
|
pin(false);
|
||||||
|
#endif // Q_OS_WIN
|
||||||
|
|
||||||
_viewport->rp()->events(
|
_viewport->rp()->events(
|
||||||
) | rpl::filter([](not_null<QEvent*> event) {
|
) | rpl::filter([](not_null<QEvent*> event) {
|
||||||
|
@ -1269,6 +1291,9 @@ void Panel::createPinOnTop() {
|
||||||
|
|
||||||
_hideControlsTimer.callOnce(kHideControlsTimeout);
|
_hideControlsTimer.callOnce(kHideControlsTimeout);
|
||||||
} else {
|
} else {
|
||||||
|
if (_unpinnedMaximized) {
|
||||||
|
pin(false);
|
||||||
|
}
|
||||||
_hideControlsTimerLifetime.destroy();
|
_hideControlsTimerLifetime.destroy();
|
||||||
_hideControlsTimer.cancel();
|
_hideControlsTimer.cancel();
|
||||||
refreshTitleGeometry();
|
refreshTitleGeometry();
|
||||||
|
|
|
@ -228,6 +228,7 @@ private:
|
||||||
const std::unique_ptr<Ui::LayerManager> _layerBg;
|
const std::unique_ptr<Ui::LayerManager> _layerBg;
|
||||||
rpl::variable<PanelMode> _mode;
|
rpl::variable<PanelMode> _mode;
|
||||||
rpl::variable<bool> _fullScreenOrMaximized = false;
|
rpl::variable<bool> _fullScreenOrMaximized = false;
|
||||||
|
bool _unpinnedMaximized = false;
|
||||||
|
|
||||||
#ifndef Q_OS_MAC
|
#ifndef Q_OS_MAC
|
||||||
rpl::variable<int> _controlsTop = 0;
|
rpl::variable<int> _controlsTop = 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue