310void QQuickScreenInfo::setWrappedScreen(QScreen *screen)
312 if (screen == m_screen)
315 QScreen *oldScreen = m_screen;
319 oldScreen->disconnect(
this);
324 if (!oldScreen || screen->geometry() != oldScreen->geometry()) {
325 emit virtualXChanged();
326 emit virtualYChanged();
328 if (!oldScreen || screen->size() != oldScreen->size()) {
330 emit heightChanged();
332 if (!oldScreen || screen->name() != oldScreen->name())
334 if (!oldScreen || screen->manufacturer() != oldScreen->manufacturer())
335 emit manufacturerChanged();
336 if (!oldScreen || screen->model() != oldScreen->model())
338 if (!oldScreen || screen->serialNumber() != oldScreen->serialNumber())
339 emit serialNumberChanged();
340 if (!oldScreen || screen->orientation() != oldScreen->orientation())
341 emit orientationChanged();
342 if (!oldScreen || screen->primaryOrientation() != oldScreen->primaryOrientation())
343 emit primaryOrientationChanged();
344 if (!oldScreen || screen->availableVirtualGeometry() != oldScreen->availableVirtualGeometry())
345 emit desktopGeometryChanged();
346 if (!oldScreen || screen->logicalDotsPerInch() != oldScreen->logicalDotsPerInch())
347 emit logicalPixelDensityChanged();
348 if (!oldScreen || screen->physicalDotsPerInch() != oldScreen->physicalDotsPerInch())
349 emit pixelDensityChanged();
350 if (!oldScreen || screen->devicePixelRatio() != oldScreen->devicePixelRatio())
351 emit devicePixelRatioChanged();
353 qmlobject_connect(screen, QScreen, SIGNAL(geometryChanged(QRect)),
354 this, QQuickScreenInfo, SIGNAL(widthChanged()));
355 qmlobject_connect(screen, QScreen, SIGNAL(geometryChanged(QRect)),
356 this, QQuickScreenInfo, SIGNAL(heightChanged()));
357 qmlobject_connect(screen, QScreen, SIGNAL(geometryChanged(QRect)),
358 this, QQuickScreenInfo, SIGNAL(virtualXChanged()));
359 qmlobject_connect(screen, QScreen, SIGNAL(geometryChanged(QRect)),
360 this, QQuickScreenInfo, SIGNAL(virtualYChanged()));
361 qmlobject_connect(screen, QScreen, SIGNAL(orientationChanged(Qt::ScreenOrientation)),
362 this, QQuickScreenInfo, SIGNAL(orientationChanged()));
363 qmlobject_connect(screen, QScreen, SIGNAL(primaryOrientationChanged(Qt::ScreenOrientation)),
364 this, QQuickScreenInfo, SIGNAL(primaryOrientationChanged()));
365 qmlobject_connect(screen, QScreen, SIGNAL(virtualGeometryChanged(QRect)),
366 this, QQuickScreenInfo, SIGNAL(desktopGeometryChanged()));
367 qmlobject_connect(screen, QScreen, SIGNAL(logicalDotsPerInchChanged(qreal)),
368 this, QQuickScreenInfo, SIGNAL(logicalPixelDensityChanged()));
369 qmlobject_connect(screen, QScreen, SIGNAL(physicalDotsPerInchChanged(qreal)),
370 this, QQuickScreenInfo, SIGNAL(pixelDensityChanged()));
405void QQuickScreenAttached::windowChanged(QQuickWindow* c)
408 qmlobject_disconnect(m_window, QQuickWindow, SIGNAL(screenChanged(QScreen*)),
this, QQuickScreenAttached, SLOT(screenChanged(QScreen*)));
410 screenChanged(c ? c->screen() :
nullptr);
412 qmlobject_connect(c, QQuickWindow, SIGNAL(screenChanged(QScreen*)),
this, QQuickScreenAttached, SLOT(screenChanged(QScreen*)));