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