QHighDpiScaling: impove readability of screenSubfactor method

Task-number: QTBUG-53022
Change-Id: Idae4379dd78d3125c375fad37a5a3af5bbcdc51e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
bb10
Vitaly Fanaskov 2019-11-06 21:37:48 +01:00
parent 52a3f1b00c
commit a866055d18
1 changed files with 11 additions and 10 deletions

View File

@ -644,7 +644,7 @@ QPoint QHighDpiScaling::mapPositionFromGlobal(const QPoint &pos, const QPoint &w
qreal QHighDpiScaling::screenSubfactor(const QPlatformScreen *screen)
{
qreal factor = qreal(1.0);
auto factor = qreal(1.0);
if (!screen)
return factor;
@ -657,15 +657,16 @@ qreal QHighDpiScaling::screenSubfactor(const QPlatformScreen *screen)
// Check if there is a factor set on the screen object or associated
// with the screen name. These are mutually exclusive, so checking
// order is not significant.
auto qScreen = screen->screen();
auto byIndex = qScreen ? qScreen->property(scaleFactorProperty) : QVariant();
auto byNameIt = qNamedScreenScaleFactors()->constFind(screen->name());
if (byIndex.isValid()) {
screenPropertyUsed = true;
factor = byIndex.toReal();
} else if (byNameIt != qNamedScreenScaleFactors()->cend()) {
screenPropertyUsed = true;
factor = *byNameIt;
if (auto qScreen = screen->screen()) {
auto screenFactor = qScreen->property(scaleFactorProperty).toReal(&screenPropertyUsed);
if (screenPropertyUsed)
factor = screenFactor;
}
if (!screenPropertyUsed) {
auto byNameIt = qNamedScreenScaleFactors()->constFind(screen->name());
if ((screenPropertyUsed = byNameIt != qNamedScreenScaleFactors()->cend()))
factor = *byNameIt;
}
}