#include "StyleHandling.h" #include #include #include StyleHandling::StyleHandling(QObject *parent) : QObject{parent}, mStyleSizes(new QQmlPropertyMap(this)), mMargins(new QQmlPropertyMap(this)), mSpacings(new QQmlPropertyMap(this)), mPaddings(new QQmlPropertyMap(this)) { // nothing } void StyleHandling::calculateAndSetRatio() { qreal refHeight = 480; qreal refWidth = 800; // Scales to fullscreen. No rescaling when changing window size QRect rect = QGuiApplication::primaryScreen()->geometry(); qreal height = qMin(rect.width(),rect.height()); qreal width = qMax(rect.width(), rect.height()); mRatio = qMin(height/refHeight, width/refWidth); qDebug() << "mRation=" << mRatio<< "sizes="<insert(key, applyRatio(value)); } int StyleHandling::applyRatio(int size) const { return size*mRatio; } void StyleHandling::init(QQmlContext *context) { calculateAndSetRatio(); initStyleSizes(); initMargins(); initSpacings(); initPaddings(); context->setContextProperty("StyleSizes", mStyleSizes); context->setContextProperty("StyleSpacings", mSpacings); context->setContextProperty("StyleMargins", mMargins); context->setContextProperty("StylePaddings", mPaddings); }