ubuntu-sdk-team team mailing list archive
-
ubuntu-sdk-team team
-
Mailing list archive
-
Message #00657
[Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
Christian Dywan has proposed merging lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging.
Commit message:
Initialize UCApplication with no side effects
Requested reviews:
Ubuntu SDK team (ubuntu-sdk-team)
Related bugs:
Bug #1662868 in ubuntu-ui-toolkit (Ubuntu): "Changes to organizationName management break qt-labs-settings"
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1662868
For more details, see:
https://code.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime/+merge/316825
--
Your team Ubuntu SDK team is requested to review the proposed merge of lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging.
=== modified file 'src/UbuntuToolkit/ucapplication.cpp'
--- src/UbuntuToolkit/ucapplication.cpp 2017-01-12 15:20:31 +0000
+++ src/UbuntuToolkit/ucapplication.cpp 2017-02-09 11:08:07 +0000
@@ -39,8 +39,6 @@
UCApplication::UCApplication(QObject* parent) : QObject(parent), m_context(0)
, m_inputMethod(QGuiApplication::inputMethod())
{
- // Unset organization by default to skip an extra folder component
- QCoreApplication::setOrganizationName(QStringLiteral(""));
// Make sure we receive application name changes from C++ modules
connect(QCoreApplication::instance(), &QCoreApplication::applicationNameChanged,
this, &UCApplication::applicationNameChanged);
@@ -70,7 +68,6 @@
to how Unity uses it to distinguish running applications.
*/
QCoreApplication::setApplicationName(applicationName);
- QCoreApplication::setOrganizationName(QCoreApplication::organizationName());
/*
Ensure that LocalStorage and WebKit use the same location
Docs are ambiguous: in practise applicationName is ignored by default
=== modified file 'src/UbuntuToolkit/ucmainwindow.cpp'
--- src/UbuntuToolkit/ucmainwindow.cpp 2017-01-18 17:23:48 +0000
+++ src/UbuntuToolkit/ucmainwindow.cpp 2017-02-09 11:08:07 +0000
@@ -163,11 +163,7 @@
return;
d->m_applicationName = applicationName;
-
- if (applicationName != QStringLiteral("")) {
- UbuntuI18n::instance()->setDomain(applicationName);
- UCApplication::instance()->setApplicationName(applicationName);
- }
+ updateApplication(applicationName, d->m_organizationName);
Q_EMIT applicationNameChanged(applicationName);
}
@@ -192,11 +188,17 @@
return;
d->m_organizationName = organizationName;
+ updateApplication(d->m_applicationName, organizationName);
+ Q_EMIT organizationNameChanged(organizationName);
+}
- if (organizationName != QStringLiteral("")) {
+void UCMainWindow::updateApplication(QString applicationName, QString organizationName)
+{
+ if (applicationName != QStringLiteral("")) {
+ UbuntuI18n::instance()->setDomain(applicationName);
QCoreApplication::setOrganizationName(organizationName);
+ UCApplication::instance()->setApplicationName(applicationName);
}
- Q_EMIT organizationNameChanged(organizationName);
}
/*!
=== modified file 'src/UbuntuToolkit/ucmainwindow_p.h'
--- src/UbuntuToolkit/ucmainwindow_p.h 2017-01-16 16:52:57 +0000
+++ src/UbuntuToolkit/ucmainwindow_p.h 2017-02-09 11:08:07 +0000
@@ -76,6 +76,8 @@
#endif
private:
+ void updateApplication(QString applicationName, QString organizationName);
+
Q_DECLARE_PRIVATE(UCMainWindow)
};
=== modified file 'tests/unit/mainwindow/VisualRoot.qml'
--- tests/unit/mainwindow/VisualRoot.qml 2017-01-16 14:18:21 +0000
+++ tests/unit/mainwindow/VisualRoot.qml 2017-02-09 11:08:07 +0000
@@ -20,7 +20,6 @@
MainWindow {
objectName: "visualRoot"
- applicationName: "org.gnu.wildebeest"
visualRoot: myRoot
Rectangle {
=== modified file 'tests/unit/mainwindow/tst_mainwindow.cpp'
--- tests/unit/mainwindow/tst_mainwindow.cpp 2017-01-16 17:44:23 +0000
+++ tests/unit/mainwindow/tst_mainwindow.cpp 2017-02-09 11:08:07 +0000
@@ -33,10 +33,7 @@
#include <QtCore/QCryptographicHash>
#include <QtCore/QSettings>
-#include <QtQuick/QQuickItem>
-#include <QtQuick/QQuickView>
#include <QtGui/QGuiApplication>
-#include <QtQml/QQmlEngine>
#include <QtQml/QQmlContext>
#include <QtQml/QQmlComponent>
@@ -103,18 +100,23 @@
private Q_SLOTS:
- void initTestCase()
- {
- }
-
- void cleanupTestCase()
- {
+ void cleanup()
+ {
+ // UCApplication::instance()->setApplicationName(QStringLiteral(""));
+ // Delete engine, and thereby also the UCApplication instance
+ QObject* engine(UCApplication::instance()->parent());
+ delete engine;
+ QCoreApplication::setApplicationName(QStringLiteral(""));
+ QCoreApplication::setOrganizationName(QStringLiteral(""));
}
// Note: tests/unit/mainview13 contains the UCApplication bits
void testCase_AppName()
{
+ // Sanity check: no name set yet
+ QCOMPARE(QStringLiteral("mainwindow"), QCoreApplication::applicationName());
+
QString applicationName("org.gnu.wildebeest");
QQuickWindow *mainWindow(loadTest("AppName.qml"));
QVERIFY(mainWindow);
@@ -125,6 +127,9 @@
void testCase_OrganizationName()
{
+ // Sanity check: no organization set yet
+ QCOMPARE(QStringLiteral(""), QCoreApplication::organizationName());
+
QString applicationName("tv.island.pacific");
QString organizationName("pacifist");
QQuickWindow *mainWindow(loadTest("OrganizationName.qml"));
@@ -135,9 +140,28 @@
QCOMPARE(organizationName, QCoreApplication::organizationName());
}
+ void testCase_NoOrganizationName()
+ {
+ // Sanity check: no organization set yet
+ QCOMPARE(QStringLiteral(""), QCoreApplication::organizationName());
+
+ // Custom values set outside of QML
+ QString applicationName("com.example.random");
+ QString organizationName(QStringLiteral("Example"));
+ QCoreApplication::setApplicationName(applicationName);
+ QCoreApplication::setOrganizationName(organizationName);
+
+ QQuickWindow *mainWindow(loadTest("VisualRoot.qml"));
+ QVERIFY(mainWindow);
+ // MainView shouldn't interfere as applicationName wasn't set in QML
+ QCOMPARE(QStringLiteral(""), mainWindow->property("applicationName").toString());
+ QCOMPARE(applicationName, QCoreApplication::applicationName());
+ QCOMPARE(organizationName, QCoreApplication::organizationName());
+ QCOMPARE(QStringLiteral(""), mainWindow->property("organizationName").toString());
+ }
+
void testCase_VisualRoot()
{
- QString applicationName("tv.island.pacific");
QQuickWindow *mainWindow(loadTest("VisualRoot.qml"));
QVERIFY(mainWindow);
QQuickItem* myLabel(testItem(mainWindow, "myLabel"));
Follow ups
-
[Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: noreply, 2017-02-27
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-27
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-27
-
[Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: Christian Dywan, 2017-02-27
-
[Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: Christian Dywan, 2017-02-16
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: ubuntu-sdk-build-bot, 2017-02-09
-
Re: [Merge] lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging
From: Tim Peeters, 2017-02-09