parent
819ce06dfb
commit
e9196bbbb5
|
@ -2999,11 +2999,16 @@ void OverlayWidget::switchToPip() {
|
|||
_streamed->instance.shared(),
|
||||
closeAndContinue,
|
||||
[=] { _pip = nullptr; });
|
||||
if (isHidden()) {
|
||||
clearBeforeHide();
|
||||
clearAfterHide();
|
||||
} else {
|
||||
close();
|
||||
if (const auto window = Core::App().activeWindow()) {
|
||||
window->activate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OverlayWidget::playbackToggleFullScreen() {
|
||||
Expects(_streamed != nullptr);
|
||||
|
@ -4365,9 +4370,8 @@ void OverlayWidget::applyHideWindowWorkaround() {
|
|||
#endif // USE_OPENGL_OVERLAY_WIDGET
|
||||
}
|
||||
|
||||
void OverlayWidget::setVisibleHook(bool visible) {
|
||||
if (!visible) {
|
||||
applyHideWindowWorkaround();
|
||||
// #TODO unite and check
|
||||
void OverlayWidget::clearBeforeHide() {
|
||||
_sharedMedia = nullptr;
|
||||
_sharedMediaData = std::nullopt;
|
||||
_sharedMediaDataKey = std::nullopt;
|
||||
|
@ -4387,12 +4391,8 @@ void OverlayWidget::setVisibleHook(bool visible) {
|
|||
_groupThumbs = nullptr;
|
||||
_groupThumbsRect = QRect();
|
||||
}
|
||||
OverlayParent::setVisibleHook(visible);
|
||||
if (visible) {
|
||||
QCoreApplication::instance()->installEventFilter(this);
|
||||
} else {
|
||||
QCoreApplication::instance()->removeEventFilter(this);
|
||||
|
||||
void OverlayWidget::clearAfterHide() {
|
||||
clearStreaming();
|
||||
destroyThemePreview();
|
||||
_radial.stop();
|
||||
|
@ -4402,6 +4402,19 @@ void OverlayWidget::setVisibleHook(bool visible) {
|
|||
_themeCancel.destroyDelayed();
|
||||
_themeShare.destroyDelayed();
|
||||
}
|
||||
|
||||
void OverlayWidget::setVisibleHook(bool visible) {
|
||||
if (!visible) {
|
||||
applyHideWindowWorkaround();
|
||||
clearBeforeHide();
|
||||
}
|
||||
OverlayParent::setVisibleHook(visible);
|
||||
if (visible) {
|
||||
QCoreApplication::instance()->installEventFilter(this);
|
||||
} else {
|
||||
QCoreApplication::instance()->removeEventFilter(this);
|
||||
clearAfterHide();
|
||||
}
|
||||
}
|
||||
|
||||
void OverlayWidget::receiveMouse() {
|
||||
|
|
|
@ -210,6 +210,9 @@ private:
|
|||
void playbackPauseMusic();
|
||||
void switchToPip();
|
||||
|
||||
void clearBeforeHide();
|
||||
void clearAfterHide();
|
||||
|
||||
void assignMediaPointer(DocumentData *document);
|
||||
void assignMediaPointer(not_null<PhotoData*> photo);
|
||||
|
||||
|
|
Loading…
Reference in New Issue