diff options
author | Kalle Viironen <kalle.viironen@digia.com> | 2014-02-03 13:37:15 +0200 |
---|---|---|
committer | Kalle Viironen <kalle.viironen@digia.com> | 2014-02-03 13:39:10 +0200 |
commit | 6eca7933f42af800c64d3ee606ee56cb126970e4 (patch) | |
tree | 429fe57d992d18cfe9283e5c6ba071dca88c2163 /basicsuite/shared | |
parent | e80e8e67554708a69d74bab5c22c6644b419eae1 (diff) | |
parent | 203ffaab105b1f868689656bfbdfabb7f55b9e56 (diff) |
Merge branch 'dev' into stable
Change-Id: Ia3862e686c17c11cd7415cd657d442e4ac8c7002
Diffstat (limited to 'basicsuite/shared')
-rw-r--r-- | basicsuite/shared/engine.cpp | 35 | ||||
-rw-r--r-- | basicsuite/shared/engine.h | 49 | ||||
-rw-r--r-- | basicsuite/shared/loader.qml | 62 | ||||
-rw-r--r-- | basicsuite/shared/main.cpp | 81 | ||||
-rw-r--r-- | basicsuite/shared/shared.pri | 20 |
5 files changed, 247 insertions, 0 deletions
diff --git a/basicsuite/shared/engine.cpp b/basicsuite/shared/engine.cpp new file mode 100644 index 0000000..669bbf4 --- /dev/null +++ b/basicsuite/shared/engine.cpp @@ -0,0 +1,35 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ +#include "engine.h" +#include <QGuiApplication> +#include <QScreen> + +DummyEngine::DummyEngine(QObject *parent) + : QObject(parent) +{ + QScreen *screen = QGuiApplication::primaryScreen(); + m_screenSize = screen->size(); + m_dpcm = screen->physicalDotsPerInchY() / 2.54f; + + // Make the buttons smaller for smaller screens to compensate for that + // one typically holds it nearer to the eyes. + float low = 5; + float high = 20; + float screenSizeCM = qMax<float>(qMin(m_screenSize.width(), m_screenSize.height()) / m_dpcm, low); + m_dpcm *= (screenSizeCM - low) / (high - low) * 0.5 + 0.5; +} diff --git a/basicsuite/shared/engine.h b/basicsuite/shared/engine.h new file mode 100644 index 0000000..78479db --- /dev/null +++ b/basicsuite/shared/engine.h @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ +#ifndef ENGINE_H +#define ENGINE_H + +#include <QObject> +#include <QSize> + +class QQmlEngine; +class QQuickItem; +class FpsCounter; +class QQuickWindow; + +/*! + A simplified version of the one used by b2qt-launcher +*/ +class DummyEngine : public QObject +{ + Q_OBJECT + +public: + explicit DummyEngine(QObject *parent = 0); + + Q_INVOKABLE int smallFontSize() const { return qMax<int>(m_dpcm * 0.4, 10); } + Q_INVOKABLE int fontSize() const { return qMax<int>(m_dpcm * 0.6, 14); } + Q_INVOKABLE int titleFontSize() const { return qMax<int>(m_dpcm * 0.9, 20); } + Q_INVOKABLE int centimeter() const { return m_dpcm; } + +private: + QSize m_screenSize; + qreal m_dpcm; +}; + +#endif // ENGINE_H diff --git a/basicsuite/shared/loader.qml b/basicsuite/shared/loader.qml new file mode 100644 index 0000000..42232d2 --- /dev/null +++ b/basicsuite/shared/loader.qml @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ +import QtQuick 2.0 +import QtVkb 1.0 + +Item { + id: root + + Loader { + anchors.left: parent.left + anchors.top: parent.top + anchors.right: parent.right + anchors.bottom: inputPanel.top + + source: "main.qml" + } + + InputPanel { + id: inputPanel + z: 99 + y: root.height + anchors.left: root.left + anchors.right: root.right + + states: State { + name: "visible" + when: Qt.inputMethod.visible + PropertyChanges { + target: inputPanel + y: root.height - inputPanel.height + } + } + transitions: Transition { + from: "" + to: "visible" + reversible: true + ParallelAnimation { + NumberAnimation { + properties: "y" + duration: 250 + easing.type: Easing.InOutQuad + } + } + } + } +} + diff --git a/basicsuite/shared/main.cpp b/basicsuite/shared/main.cpp new file mode 100644 index 0000000..ac2fba4 --- /dev/null +++ b/basicsuite/shared/main.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ +#include <QtCore/QDebug> + +#include <QtGui/QGuiApplication> +#include <QtGui/QFont> +#include <QtGui/QFontDatabase> +#include <QtGui/QScreen> +#include <QtGui/QPalette> +#include <QtCore/QRegExp> + +#include <QtQuick/QQuickView> + +#include <QtQml/QQmlEngine> +#include <QtQml/QQmlContext> +#include <QtQml/QQmlComponent> + +#include "engine.h" + + +int main(int argc, char **argv) +{ + //qputenv("QT_IM_MODULE", QByteArray("qtvkb")); + + QGuiApplication app(argc, argv); + QString path = app.applicationDirPath(); + + QPalette pal; + pal.setColor(QPalette::Text, Qt::black); + pal.setColor(QPalette::WindowText, Qt::black); + pal.setColor(QPalette::ButtonText, Qt::black); + pal.setColor(QPalette::Base, Qt::white); + QGuiApplication::setPalette(pal); + + QString target = qgetenv("B2QT_BASE") + "-" + qgetenv("B2QT_PLATFORM"); + QFile excludeFile(path + QStringLiteral("/exclude.txt")); + if (excludeFile.open(QFile::ReadOnly)) { + const QStringList excludeList = QString::fromUtf8(excludeFile.readAll()).split(QRegExp(":|\\s+")); + if (excludeList.contains(target)) + qDebug("Warning: This example may not be fully functional on this platform"); + excludeFile.close(); + } + + QString fontName = QStringLiteral("/system/lib/fonts/OpenSans-Regular.ttf"); + if (QFile::exists(fontName)) { + QFontDatabase::addApplicationFont(fontName); + QFont font("Open Sans"); + font.setPixelSize(12); + QGuiApplication::setFont(font); + } else { + QFont font; + font.setStyleHint(QFont::SansSerif); + QGuiApplication::setFont(font); + } + + QQuickView view; + + DummyEngine engine; + view.rootContext()->setContextProperty("engine", &engine); + view.setColor(Qt::black); + view.setResizeMode(QQuickView::SizeRootObjectToView); + view.setSource(QUrl::fromLocalFile(path + QStringLiteral("/loader.qml"))); + view.show(); + + app.exec(); +} diff --git a/basicsuite/shared/shared.pri b/basicsuite/shared/shared.pri new file mode 100644 index 0000000..b785913 --- /dev/null +++ b/basicsuite/shared/shared.pri @@ -0,0 +1,20 @@ +QT += quick + +DESTPATH = /data/user/$$TARGET +target.path = $$DESTPATH + +SOURCES += $$PWD/main.cpp \ + $$PWD/engine.cpp + +HEADERS += $$PWD/engine.h + +defineTest(b2qtdemo_deploy_defaults) { + commonFiles.files = \ + exclude.txt \ + ../shared/loader.qml + commonFiles.path = $$DESTPATH + OTHER_FILES += $${commonFiles.files} + INSTALLS += commonFiles + export(OTHER_FILES) + export(INSTALLS) +} |