Merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizationDomain into lp:ubuntu-ui-toolkit/staging

Proposed by Cris Dywan
Status: Merged
Approved by: Zoltan Balogh
Approved revision: 1188
Merged at revision: 1193
Proposed branch: lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizationDomain
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 121 lines (+77/-0)
4 files modified
debian/control (+1/-0)
modules/Ubuntu/Components/plugin/ucapplication.cpp (+2/-0)
tests/unit/tst_mainview/Settings.qml (+34/-0)
tests/unit/tst_mainview/tst_mainview.cpp (+40/-0)
To merge this branch: bzr merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizationDomain
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Zsombor Egri Approve
Review via email: mp+230085@code.launchpad.net

Commit message

Set organizationDomain which Qt.labs.settings uses

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

Looks nice, without API changes. Later, if someone will need it, we can add support for setting organizationName in the public API as well. If needed.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-autolanding/358/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/3502
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/2757
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-autolanding/302
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-autolanding/302
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-autolanding/302/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-autolanding/302
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/3402
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/4749
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/4749/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/11427
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/2229
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/3034
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/3034/artifact/work/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2014-07-30 11:45:39 +0000
3+++ debian/control 2014-08-11 11:16:57 +0000
4@@ -23,6 +23,7 @@
5 qtdeclarative5-qtfeedback-plugin,
6 qtdeclarative5-unity-action-plugin (>= 1.1.0),
7 qml-module-qtquick-localstorage | qtdeclarative5-localstorage-plugin,
8+ qml-module-qt-labs-settings | qtdeclarative5-settings-plugin,
9 qtdeclarative5-doc-html,
10 qtwebkit5-doc-html,
11 qtsvg5-doc-html,
12
13=== modified file 'modules/Ubuntu/Components/plugin/ucapplication.cpp'
14--- modules/Ubuntu/Components/plugin/ucapplication.cpp 2014-04-23 08:50:20 +0000
15+++ modules/Ubuntu/Components/plugin/ucapplication.cpp 2014-08-11 11:16:57 +0000
16@@ -66,6 +66,8 @@
17 QQmlEngine* engine(m_context->engine());
18 QString dataFolder(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
19 engine->setOfflineStoragePath(dataFolder);
20+ // Get Qtlabs.settings to use a sane path
21+ QCoreApplication::setOrganizationDomain(applicationName);
22
23 Q_EMIT applicationNameChanged();
24 }
25
26=== added file 'tests/unit/tst_mainview/Settings.qml'
27--- tests/unit/tst_mainview/Settings.qml 1970-01-01 00:00:00 +0000
28+++ tests/unit/tst_mainview/Settings.qml 2014-08-11 11:16:57 +0000
29@@ -0,0 +1,34 @@
30+/*
31+ * Copyright 2014 Canonical Ltd.
32+ *
33+ * This program is free software; you can redistribute it and/or modify
34+ * it under the terms of the GNU Lesser General Public License as published by
35+ * the Free Software Foundation; version 3.
36+ *
37+ * This program is distributed in the hope that it will be useful,
38+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
39+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40+ * GNU Lesser General Public License for more details.
41+ *
42+ * You should have received a copy of the GNU Lesser General Public License
43+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
44+ */
45+
46+import QtQuick 2.0
47+import Ubuntu.Components 1.1
48+import Qt.labs.settings 1.0
49+
50+MainView {
51+ objectName: "settings"
52+ applicationName: "red.riding.hood"
53+
54+ Settings {
55+ property alias nickname: textField.text
56+ }
57+
58+ TextField {
59+ id: textField
60+ objectName: "textfield"
61+ text: "Red"
62+ }
63+}
64
65=== modified file 'tests/unit/tst_mainview/tst_mainview.cpp'
66--- tests/unit/tst_mainview/tst_mainview.cpp 2014-04-10 09:36:36 +0000
67+++ tests/unit/tst_mainview/tst_mainview.cpp 2014-08-11 11:16:57 +0000
68@@ -31,6 +31,7 @@
69 #include <QtCore/QFileInfo>
70 #include <QtCore/QDir>
71 #include <QCryptographicHash>
72+#include <QSettings>
73
74 #include "ucapplication.h"
75 #include "ucunits.h"
76@@ -144,6 +145,45 @@
77 QVERIFY(QFile::exists(database));
78 }
79
80+ QString getConfFile(QString applicationName) {
81+ QString configFolder(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation));
82+ QString subFolder(configFolder + "/" + applicationName);
83+ QString filename(subFolder + "/" + applicationName + ".conf");
84+ return filename;
85+ }
86+
87+ void testLabsSettings() {
88+ QString applicationName("red.riding.hood");
89+ // Delete file if it exists to avoid false positives
90+ QString filename(getConfFile(applicationName));
91+ QFile::remove(filename);
92+
93+ QQuickItem *root = loadTest("Settings.qml");
94+ QVERIFY(root);
95+ QQuickItem *mainView = root;
96+ QCOMPARE(applicationName, mainView->property("applicationName").toString());
97+ QCOMPARE(QString(applicationName), QCoreApplication::organizationDomain());
98+ QQuickItem *textField(testItem(mainView, "textfield"));
99+ textField->setProperty("text", "Blue");
100+ delete root;
101+ QVERIFY(QFile::exists(filename));
102+ }
103+
104+ void testQSettings() {
105+ QString applicationName("i.prefer.pi");
106+ // Delete file if it exists to avoid false positives
107+ QString filename(getConfFile(applicationName));
108+ QFile::remove(filename);
109+
110+ UCApplication::instance().setApplicationName(applicationName);
111+ // QSettings with defaults
112+ QSettings mySettings;
113+ mySettings.setValue("spam", "eggs");
114+ // Force writing to disk
115+ mySettings.sync();
116+ QVERIFY(QFile::exists(filename));
117+ }
118+
119 void testNoWarnings_bug186065() {
120 // An empty MainView would suffice
121 QScopedPointer<UbuntuTestCase>testCase (new UbuntuTestCase("AppName.qml"));

Subscribers

People subscribed via source and target branches