Fixed toggling to/from full screen

This commit is contained in:
Eism 2022-01-17 15:56:22 +02:00
parent 2b912adef3
commit 1847f94517
2 changed files with 7 additions and 5 deletions

View file

@ -113,8 +113,7 @@ void MainWindowProvider::requestShowOnFront()
bool MainWindowProvider::isFullScreen() const
{
Qt::WindowStates states = m_window ? m_window->windowStates() : Qt::WindowStates();
return states.testFlag(Qt::WindowFullScreen);
return m_window ? m_window->visibility() == QWindow::FullScreen : false;
}
void MainWindowProvider::toggleFullScreen()
@ -124,9 +123,10 @@ void MainWindowProvider::toggleFullScreen()
}
if (isFullScreen()) {
m_window->showNormal();
m_window->setVisibility(m_windowVisibility);
} else {
m_window->showFullScreen();
m_windowVisibility = m_window->visibility();
m_window->setVisibility(QWindow::FullScreen);
}
}

View file

@ -24,7 +24,7 @@
#define MU_DOCK_MAINWINDOWPROVIDER_H
#include <QObject>
#include <QStack>
#include <QWindow>
#include "modularity/ioc.h"
#include "../iinteractiveprovider.h"
@ -67,6 +67,8 @@ protected:
QWindow* m_window = nullptr;
QWindow::Visibility m_windowVisibility = QWindow::AutomaticVisibility;
private slots: // Should only be used from QML
void setWindow(QWindow* window);
void setFilePath(const QString& filePath);