summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2019-08-02 15:35:03 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2019-08-02 15:35:03 +0300
commit61e0c9da397573d8ca3c4f7994f73864ba822aac (patch)
treec89261ce7f6499cfeb60ba2e924abbb71cc3838e
parent04cecef50d9316d98c11e8b82be5a492ef9bde70 (diff)
parentf89cf3ae354de42df46588d50a3ad0816cc8fc28 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.135.13
* origin/5.12: Use applicationsRoot path from settings file instead of hard-coding Remove hard-coded values for default video and default location Make demo header as overlay on top of loader and add auto-hide timer Change-Id: Ie82098dcb0db6595fd27ba2231d73034c29d0874
-rw-r--r--qml/DemoHeader.qml29
-rw-r--r--qml/MainWindow.qml6
-rw-r--r--qml/ViewSettings.qml1
-rw-r--r--src/applicationsettings.cpp4
-rw-r--r--src/applicationsettings.h2
-rw-r--r--src/main.cpp30
6 files changed, 48 insertions, 24 deletions
diff --git a/qml/DemoHeader.qml b/qml/DemoHeader.qml
index 555fff2..0ee83bc 100644
--- a/qml/DemoHeader.qml
+++ b/qml/DemoHeader.qml
@@ -111,11 +111,13 @@ Rectangle {
anchors.horizontalCenter: parent.horizontalCenter
y: open ? parent.height - height/2 : parent.height
rotation: open ? 180 : 0
+ Drag.active: headerToggleMouseArea.drag.active
Behavior on rotation { NumberAnimation { duration: 100 } }
Behavior on y { NumberAnimation { duration: 100 } }
MouseArea {
+ id: headerToggleMouseArea
anchors.fill: parent
anchors.margins: -parent.height * 0.5
drag.target: demoHeaderBar
@@ -123,13 +125,34 @@ Rectangle {
drag.minimumX: -demoHeaderBar.height
drag.maximumY: 0
+ DropArea {
+ anchors.fill: parent
+ onDropped: demoHeaderVisibilityDelay.restart()
+ }
+
onClicked: {
- if (demoHeaderBar.y < -demoHeaderBar.height / 2)
+ if (demoHeaderBar.y < -demoHeaderBar.height / 2) {
demoHeaderBar.y = 0
- else
+ demoHeaderVisibilityDelay.restart()
+ } else {
demoHeaderBar.y = -demoHeaderBar.height
+ }
+ }
+ onReleased: {
+ demoHeaderBar.y = demoHeaderBar.y > -demoHeaderBar.height / 4 ? 0 : -demoHeaderBar.height
+ parent.Drag.drop()
}
- onReleased: demoHeaderBar.y = demoHeaderBar.y > -demoHeaderBar.height / 4 ? 0 : -demoHeaderBar.height
+ }
+ }
+
+ Component.onCompleted: demoHeaderVisibilityDelay.start()
+
+ Timer {
+ id: demoHeaderVisibilityDelay
+ interval: viewSettings.headerAutoHideDelay
+ onTriggered: {
+ if (!demoHeaderVisibilityDelay.running)
+ demoHeaderBar.y = -demoHeaderBar.height
}
}
}
diff --git a/qml/MainWindow.qml b/qml/MainWindow.qml
index d957468..c1f4e54 100644
--- a/qml/MainWindow.qml
+++ b/qml/MainWindow.qml
@@ -180,11 +180,7 @@ Item {
objectName: "applicationLoader"
opacity: 0;
visible: opacity > 0.1
- height: root.demoHeaderEnabled ? parent.height - (demoHeader.height + demoHeader.y) : parent.height
-
- anchors.top: root.demoHeaderEnabled ? demoHeader.bottom : root.top
- anchors.left: parent.left
- anchors.right: parent.right
+ anchors.fill: parent
asynchronous: true;
onStatusChanged: {
diff --git a/qml/ViewSettings.qml b/qml/ViewSettings.qml
index 3798e68..82f4241 100644
--- a/qml/ViewSettings.qml
+++ b/qml/ViewSettings.qml
@@ -37,6 +37,7 @@ Item {
property real demoHeaderHeight: 2.5 * pageMargin
property string appFont: "TitilliumWeb"
property int stateDelay: 200;
+ property int headerAutoHideDelay: 3000
property string backgroundColor: "#09102b"
property string borderColor: "#9d9faa"
property string buttonGreenColor: "#41cd52"
diff --git a/src/applicationsettings.cpp b/src/applicationsettings.cpp
index 14e286b..957fcc7 100644
--- a/src/applicationsettings.cpp
+++ b/src/applicationsettings.cpp
@@ -32,10 +32,10 @@
#include <QtCore/QDebug>
#include <QtCore/QStringList>
-ApplicationSettings::ApplicationSettings(QObject *parent)
+ApplicationSettings::ApplicationSettings(QString appsRoot, QObject *parent)
: QObject(parent)
, m_mainFile(QUrl(QStringLiteral("qrc:///qml/Main.qml")))
- , m_appsRoot("/data/user/qt")
+ , m_appsRoot(appsRoot)
, m_isShowFPSEnabled(false)
{
}
diff --git a/src/applicationsettings.h b/src/applicationsettings.h
index 70e22c3..ad50e57 100644
--- a/src/applicationsettings.h
+++ b/src/applicationsettings.h
@@ -40,7 +40,7 @@ class ApplicationSettings : public QObject
Q_PROPERTY(QString appsRoot READ appsRoot NOTIFY appsRootChanged)
Q_PROPERTY(bool isShowFPSEnabled READ isShowFPSEnabled NOTIFY isShowFPSEnabledChanged)
public:
- explicit ApplicationSettings(QObject *parent = 0);
+ explicit ApplicationSettings(QString appsRoot, QObject *parent = 0);
QUrl mainFile() const;
QString appsRoot() const;
diff --git a/src/main.cpp b/src/main.cpp
index 792351f..de98973 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -68,10 +68,13 @@ void displayHelp(const char *appName)
int main(int argc, char **argv)
{
+ QSettings launcherSettings("Qt", "QtLauncher");
+
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
- qputenv("QT_QUICK_CONTROLS_CONF", "/data/user/qt/qtquickcontrols2/qtquickcontrols2.conf");
- QIcon::setThemeSearchPaths(QStringList() << "/data/user/qt/qtquickcontrols2/icons");
+ QByteArray applicationsRootStr = launcherSettings.value("defaultApplicationRoot").toByteArray();
+ qputenv("QT_QUICK_CONTROLS_CONF", applicationsRootStr + "/qtquickcontrols2/qtquickcontrols2.conf");
+ QIcon::setThemeSearchPaths(QStringList() << applicationsRootStr + "/qtquickcontrols2/icons");
QIcon::setThemeName("gallery");
@@ -107,7 +110,7 @@ int main(int argc, char **argv)
QFontDatabase::addApplicationFont(":/qml/fonts/Teko-Regular.ttf");
QFontDatabase::addApplicationFont(":/qml/fonts/fontawesome-webfont.ttf");
- ApplicationSettings applicationSettings;
+ ApplicationSettings applicationSettings(applicationsRootStr);
if (!applicationSettings.parseCommandLineArguments()) {
displayHelp(argv[0]);
@@ -132,17 +135,15 @@ int main(int argc, char **argv)
QtImageMaskProvider imageMaskProvider;
// Material style can be set only for devices supporting GL
- QSettings styleSettings;
- QString style = styleSettings.value("style").toString();
+ QString style = launcherSettings.value("style").toString();
if (Engine::checkForGlAvailability()) {
- if (style.isEmpty() || style == "Default")
- styleSettings.setValue("style", "Material");
+ if (style.isEmpty())
+ launcherSettings.setValue("style", "Material");
} else {
- qDebug()<<"No GL available, skipping Material style";
+ qDebug() << "No GL available, skipping Material style";
+ launcherSettings.setValue("style", "Default");
}
- QQuickStyle::setStyle(styleSettings.value("style").toString());
-
- QSettings launcherSettings("QtLauncher", "colorSettings");
+ QQuickStyle::setStyle(launcherSettings.value("style").toString());
engine.rootContext()->setContextProperty("_backgroundColor", launcherSettings.value("backgroundColor", "#09102b"));
engine.rootContext()->setContextProperty("_primaryGreen", launcherSettings.value("primaryGreen", "#41cd52"));
@@ -151,8 +152,11 @@ int main(int argc, char **argv)
engine.rootContext()->setContextProperty("_primaryGrey", launcherSettings.value("primaryGrey", "#9d9faa"));
engine.rootContext()->setContextProperty("_secondaryGrey", launcherSettings.value("secondaryGrey", "#3a4055"));
- engine.rootContext()->setContextProperty("VideosLocation", launcherSettings.value("videosLocation", "file:///data/videos"));
- engine.rootContext()->setContextProperty("DefaultVideoUrl", launcherSettings.value("defaultVideoUrl", "file:///data/videos/Qt+for+Designers+and+Developers.mp4"));
+ engine.rootContext()->setContextProperty("VideosLocation",
+ launcherSettings.value("videosLocation"));
+ engine.rootContext()->setContextProperty("DefaultVideoUrl",
+ launcherSettings.value("defaultVideoUrl"));
+
engine.addImageProvider("QtImage", &imageProvider);
engine.addImageProvider("QtSquareImage", &squareImageProvider);