mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Don't showFullScreen() from isMaximized() state.
This commit is contained in:
parent
a6d59fccf4
commit
76a2ae4714
3 changed files with 27 additions and 23 deletions
|
@ -1125,7 +1125,7 @@ groupCallTitle: WindowTitle(defaultWindowTitle) {
|
||||||
groupCallPinOnTop: IconButton(groupCallTitleButton) {
|
groupCallPinOnTop: IconButton(groupCallTitleButton) {
|
||||||
icon: icon{{ "calls/navbar_pin", groupCallMemberNotJoinedStatus }};
|
icon: icon{{ "calls/navbar_pin", groupCallMemberNotJoinedStatus }};
|
||||||
iconOver: icon{{ "calls/navbar_pin", groupCallMembersFg }};
|
iconOver: icon{{ "calls/navbar_pin", groupCallMembersFg }};
|
||||||
iconPosition: point(0px, 4px);
|
iconPosition: point(0px, 2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
groupCallMajorBlobIdleRadius: 2px;
|
groupCallMajorBlobIdleRadius: 2px;
|
||||||
|
|
|
@ -267,19 +267,23 @@ void Panel::initWindow() {
|
||||||
_call->pushToTalk(
|
_call->pushToTalk(
|
||||||
e->type() == QEvent::KeyPress,
|
e->type() == QEvent::KeyPress,
|
||||||
kSpacePushToTalkDelay);
|
kSpacePushToTalkDelay);
|
||||||
} else if (key == Qt::Key_Escape && _fullScreen.current()) {
|
} else if (key == Qt::Key_Escape
|
||||||
toggleFullScreen(false);
|
&& _fullScreenOrMaximized.current()) {
|
||||||
|
toggleFullScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return base::EventFilterResult::Continue;
|
return base::EventFilterResult::Continue;
|
||||||
});
|
});
|
||||||
|
|
||||||
QObject::connect(
|
if (_call->rtmp()) {
|
||||||
window()->windowHandle(),
|
QObject::connect(
|
||||||
&QWindow::windowStateChanged,
|
window()->windowHandle(),
|
||||||
[=](Qt::WindowState state) {
|
&QWindow::windowStateChanged,
|
||||||
_fullScreen = (state == Qt::WindowFullScreen);
|
[=](Qt::WindowState state) {
|
||||||
});
|
_fullScreenOrMaximized = (state == Qt::WindowFullScreen)
|
||||||
|
|| (state == Qt::WindowMaximized);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
window()->setBodyTitleArea([=](QPoint widgetPoint) {
|
window()->setBodyTitleArea([=](QPoint widgetPoint) {
|
||||||
using Flag = Ui::WindowTitleHitTestFlag;
|
using Flag = Ui::WindowTitleHitTestFlag;
|
||||||
|
@ -383,7 +387,7 @@ void Panel::initControls() {
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
} else if (_call->rtmp()) {
|
} else if (_call->rtmp()) {
|
||||||
toggleFullScreen(!_fullScreen.current());
|
toggleFullScreen();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -471,11 +475,11 @@ void Panel::initControls() {
|
||||||
refreshControlsBackground();
|
refreshControlsBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panel::toggleFullScreen(bool fullscreen) {
|
void Panel::toggleFullScreen() {
|
||||||
if (fullscreen) {
|
if (_fullScreenOrMaximized.current()) {
|
||||||
window()->showFullScreen();
|
|
||||||
} else {
|
|
||||||
window()->showNormal();
|
window()->showNormal();
|
||||||
|
} else {
|
||||||
|
window()->showFullScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -646,7 +650,7 @@ void Panel::setupRealMuteButtonState(not_null<Data::GroupCall*> real) {
|
||||||
real->scheduleStartSubscribedValue(),
|
real->scheduleStartSubscribedValue(),
|
||||||
_call->canManageValue(),
|
_call->canManageValue(),
|
||||||
_mode.value(),
|
_mode.value(),
|
||||||
_fullScreen.value()
|
_fullScreenOrMaximized.value()
|
||||||
) | rpl::distinct_until_changed(
|
) | rpl::distinct_until_changed(
|
||||||
) | rpl::filter(
|
) | rpl::filter(
|
||||||
_2 != GroupCall::InstanceState::TransitionToRtc
|
_2 != GroupCall::InstanceState::TransitionToRtc
|
||||||
|
@ -657,7 +661,7 @@ void Panel::setupRealMuteButtonState(not_null<Data::GroupCall*> real) {
|
||||||
bool scheduleStartSubscribed,
|
bool scheduleStartSubscribed,
|
||||||
bool canManage,
|
bool canManage,
|
||||||
PanelMode mode,
|
PanelMode mode,
|
||||||
bool fullScreen) {
|
bool fullScreenOrMaximized) {
|
||||||
const auto wide = (mode == PanelMode::Wide);
|
const auto wide = (mode == PanelMode::Wide);
|
||||||
using Type = Ui::CallMuteButtonType;
|
using Type = Ui::CallMuteButtonType;
|
||||||
using ExpandType = Ui::CallMuteButtonExpandType;
|
using ExpandType = Ui::CallMuteButtonExpandType;
|
||||||
|
@ -699,7 +703,7 @@ void Panel::setupRealMuteButtonState(not_null<Data::GroupCall*> real) {
|
||||||
: Type::Active),
|
: Type::Active),
|
||||||
.expandType = ((scheduleDate || !_call->rtmp())
|
.expandType = ((scheduleDate || !_call->rtmp())
|
||||||
? ExpandType::None
|
? ExpandType::None
|
||||||
: fullScreen
|
: fullScreenOrMaximized
|
||||||
? ExpandType::Expanded
|
? ExpandType::Expanded
|
||||||
: ExpandType::Normal),
|
: ExpandType::Normal),
|
||||||
});
|
});
|
||||||
|
@ -1142,10 +1146,10 @@ void Panel::createPinOnTop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
_fullScreen.value(
|
_fullScreenOrMaximized.value(
|
||||||
) | rpl::start_with_next([=](bool fullscreen) {
|
) | rpl::start_with_next([=](bool fullScreenOrMaximized) {
|
||||||
_pinOnTop->setVisible(!fullscreen);
|
_pinOnTop->setVisible(!fullScreenOrMaximized);
|
||||||
if (fullscreen) {
|
if (fullScreenOrMaximized) {
|
||||||
pin(false);
|
pin(false);
|
||||||
|
|
||||||
_viewport->rp()->events(
|
_viewport->rp()->events(
|
||||||
|
|
|
@ -130,7 +130,7 @@ private:
|
||||||
|
|
||||||
bool handleClose();
|
bool handleClose();
|
||||||
void startScheduledNow();
|
void startScheduledNow();
|
||||||
void toggleFullScreen(bool fullscreen);
|
void toggleFullScreen();
|
||||||
void trackControls(bool track, bool force = false);
|
void trackControls(bool track, bool force = false);
|
||||||
void raiseControls();
|
void raiseControls();
|
||||||
void enlargeVideo();
|
void enlargeVideo();
|
||||||
|
@ -199,7 +199,7 @@ private:
|
||||||
Ui::GL::Window _window;
|
Ui::GL::Window _window;
|
||||||
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> _fullScreen = false;
|
rpl::variable<bool> _fullScreenOrMaximized = false;
|
||||||
|
|
||||||
#ifndef Q_OS_MAC
|
#ifndef Q_OS_MAC
|
||||||
const std::unique_ptr<Ui::Platform::SeparateTitleControls> _controls;
|
const std::unique_ptr<Ui::Platform::SeparateTitleControls> _controls;
|
||||||
|
|
Loading…
Add table
Reference in a new issue