support plasmoid.screenGeometry properly

BUG: 401333
v0.8
Michail Vourlakos 6 years ago
parent 7264b658bc
commit 09109bcf96

@ -216,6 +216,15 @@ void DockCorona::load()
}
m_layoutManager->loadLayoutOnStartup(loadLayoutName);
//! load screens signals such screenGeometryChanged in order to support
//! plasmoid.screenGeometry properly
for (QScreen *screen : qGuiApp->screens()) {
addOutput(screen);
}
connect(qGuiApp, &QGuiApplication::screenAdded, this, &DockCorona::addOutput, Qt::UniqueConnection);
}
}
@ -598,6 +607,19 @@ void DockCorona::addOutput(QScreen *screen)
int newId = m_screenPool->firstAvailableId();
m_screenPool->insertScreenMapping(newId, screen->name());
}
connect(screen, &QScreen::geometryChanged, this, [ = ]() {
const int id = m_screenPool->id(screen->name());
if (id >= 0) {
emit screenGeometryChanged(id);
emit availableScreenRegionChanged();
emit availableScreenRectChanged();
}
});
emit availableScreenRectChanged();
emit screenAdded(m_screenPool->id(screen->name()));
}
void DockCorona::primaryOutputChanged()

@ -676,7 +676,7 @@ Item {
id: tasksModel
virtualDesktop: virtualDesktopInfo.currentDesktop
screenGeometry: latteDock ? latteDock.screenGeometry : plasmoid.screenGeometry
screenGeometry: plasmoid.screenGeometry
// comment in order to support LTS Plasma 5.8
// screen: plasmoid.screen
activity: activityInfo.currentActivity

Loading…
Cancel
Save