ApplicationInfo::ApplicationInfo(QObject *parent): QObject(parent) { m_isMobile = false; #if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) || defined(Q_OS_BLACKBERRY) m_isMobile = true; #endif #if defined(Q_OS_LINUX) || defined(Q_OS_UNIX) m_platform = Linux; #elif defined(Q_OS_WIN) m_platform = Windows; #elif defined(Q_OS_MAC) m_platform = MacOSX; #elif defined(Q_OS_ANDROID) m_platform = Android; #elif defined(Q_OS_IOS) m_platform = Ios; #elif defined(Q_OS_BLACKBERRY) m_platform = Blackberry; #endif QRect rect = qApp->primaryScreen()->geometry(); m_ratio = m_isMobile ? qMin(qMax(rect.width(), rect.height())/800. , qMin(rect.width(), rect.height())/520.) : 1; m_sliderHandleWidth = getSizeWithRatio(70); m_sliderHandleHeight = getSizeWithRatio(87); m_sliderGapWidth = getSizeWithRatio(100); m_isPortraitMode = m_isMobile ? rect.height() > rect.width() : false; m_hMargin = m_isPortraitMode ? 20 * ratio() : 50 * ratio(); m_applicationWidth = m_isMobile ? rect.width() : 1120; if (m_isMobile) connect(qApp->primaryScreen(), SIGNAL(physicalSizeChanged(QSizeF)), this, SLOT(notifyPortraitMode())); }
ApplicationInfo::ApplicationInfo(QObject *parent): QObject(parent) { m_isMobile = false; #if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) || defined(Q_OS_BLACKBERRY) m_isMobile = true; #endif #if defined(Q_OS_LINUX) || defined(Q_OS_UNIX) m_platform = Linux; #elif defined(Q_OS_WIN) m_platform = Windows; #elif defined(Q_OS_MAC) m_platform = MacOSX; #elif defined(Q_OS_ANDROID) m_platform = Android; #elif defined(Q_OS_IOS) m_platform = Ios; #elif defined(Q_OS_BLACKBERRY) m_platform = Blackberry; #endif QRect rect = qApp->primaryScreen()->geometry(); // m_ratio = 2; // m_ratio = 2.56; m_ratio = m_isMobile ? qMin(qMax(rect.width(), rect.height())/800. , qMin(rect.width(), rect.height())/520.) : 1; m_sliderHandleWidth = getSizeWithRatio(70); m_sliderHandleHeight = getSizeWithRatio(87); m_sliderGapWidth = getSizeWithRatio(100); m_isPortraitMode = m_isMobile ? rect.height() > rect.width() : false; m_hMargin = m_isPortraitMode ? 20 * ratio() : 50 * ratio(); m_applicationWidth = m_isMobile ? rect.width() : 1120; if (m_isMobile) connect(qApp->primaryScreen(), SIGNAL(physicalSizeChanged(QSizeF)), this, SLOT(notifyPortraitMode())); // Get all symbol fonts to remove them QFontDatabase database; m_excludedFonts = database.families(QFontDatabase::Symbol); // Get fonts from rcc const QStringList fontFilters = {"*.otf", "*.ttf"}; m_fontsFromRcc = QDir(":/gcompris/src/core/resource/fonts").entryList(fontFilters); }