diff --git a/qml/main.qml b/qml/main.qml index 655eb50..f5f4d2b 100755 --- a/qml/main.qml +++ b/qml/main.qml @@ -30,8 +30,8 @@ import FishUI 1.0 as FishUI Item { id: root - width: launcher.screenRect.width - height: launcher.screenRect.height + // width: launcher.screenRect.width + // height: launcher.screenRect.height property real horizontalSpacing: launcher.screenRect.width * 0.01 property real verticalSpacing: launcher.screenRect.height * 0.01 diff --git a/src/launcher.cpp b/src/launcher.cpp index 2177efd..a3bbeb6 100644 --- a/src/launcher.cpp +++ b/src/launcher.cpp @@ -170,20 +170,24 @@ void Launcher::updateMargins() emit marginsChanged(); } -void Launcher::onGeometryChanged() +void Launcher::updateSize() { - disconnect(screen()); - - setScreen(qApp->primaryScreen()); - if (m_screenRect != qApp->primaryScreen()->geometry()) { m_screenRect = qApp->primaryScreen()->geometry(); setGeometry(m_screenRect); emit screenRectChanged(); } +} + +void Launcher::onGeometryChanged() +{ + disconnect(screen()); + + setScreen(qApp->primaryScreen()); + updateSize(); - connect(screen(), &QScreen::virtualGeometryChanged, this, &Launcher::onGeometryChanged); - connect(screen(), &QScreen::geometryChanged, this, &Launcher::onGeometryChanged); + connect(screen(), &QScreen::virtualGeometryChanged, this, &Launcher::updateSize); + connect(screen(), &QScreen::geometryChanged, this, &Launcher::updateSize); } void Launcher::showEvent(QShowEvent *e) diff --git a/src/launcher.h b/src/launcher.h index 7c27983..d841682 100644 --- a/src/launcher.h +++ b/src/launcher.h @@ -62,6 +62,7 @@ signals: private slots: void updateMargins(); + void updateSize(); void onGeometryChanged(); protected: