fix: multi screen position

main
reionwong 4 years ago
parent e993827275
commit 64846357b5

@ -65,11 +65,11 @@ StatusBar::StatusBar(QQuickView *parent)
connect(m_acticity, &Activity::launchPadChanged, this, &StatusBar::initState); connect(m_acticity, &Activity::launchPadChanged, this, &StatusBar::initState);
connect(qApp->primaryScreen(), &QScreen::virtualGeometryChanged, this, &StatusBar::updateGeometry); connect(screen(), &QScreen::virtualGeometryChanged, this, &StatusBar::updateGeometry);
connect(qApp->primaryScreen(), &QScreen::geometryChanged, this, &StatusBar::updateGeometry); connect(screen(), &QScreen::geometryChanged, this, &StatusBar::updateGeometry);
// Always show on the main screen // Always show on the main screen
connect(qApp, &QApplication::primaryScreenChanged, this, &StatusBar::onPrimaryScreenChanged); connect(qGuiApp, &QGuiApplication::primaryScreenChanged, this, &StatusBar::onPrimaryScreenChanged);
} }
QRect StatusBar::screenRect() QRect StatusBar::screenRect()
@ -145,6 +145,11 @@ void StatusBar::initState()
void StatusBar::onPrimaryScreenChanged(QScreen *screen) void StatusBar::onPrimaryScreenChanged(QScreen *screen)
{ {
disconnect(this->screen());
setScreen(screen); setScreen(screen);
updateGeometry(); updateGeometry();
connect(screen, &QScreen::virtualGeometryChanged, this, &StatusBar::updateGeometry);
connect(screen, &QScreen::geometryChanged, this, &StatusBar::updateGeometry);
} }

Loading…
Cancel
Save