diff options
author | Liang Qi <liang.qi@qt.io> | 2018-10-30 09:43:14 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-10-30 09:43:14 +0100 |
commit | 502447e15b38d6111c23d608240e0d7afb7c2ad6 (patch) | |
tree | e0c578cc2478518f0738dee396445d35cbd25786 /src/imports | |
parent | 708e4f7e626468f53636b7d2ef7c6a99c129751f (diff) | |
parent | 4a886753a75c7c4d66f1fa9cab5a6c5a03240df3 (diff) |
Merge remote-tracking branch 'origin/5.11' into 5.12.0
Conflicts:
src/imports/settings/qqmlsettings.cpp
src/quick/items/qquickwindow.cpp
tools/qmlplugindump/main.cpp
Change-Id: I3e5dae4de25b2da961a572b3a4bd151181d211c9
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/layouts/qquicklayout.cpp | 12 | ||||
-rw-r--r-- | src/imports/settings/qqmlsettings.cpp | 22 |
2 files changed, 30 insertions, 4 deletions
diff --git a/src/imports/layouts/qquicklayout.cpp b/src/imports/layouts/qquicklayout.cpp index cc206bcb95..d90eae5f80 100644 --- a/src/imports/layouts/qquicklayout.cpp +++ b/src/imports/layouts/qquicklayout.cpp @@ -74,10 +74,14 @@ false, the item's size will be fixed to its preferred size. Otherwise, it will grow or shrink between its minimum and maximum size as the layout is resized. - \note It is not recommended to have bindings to the x, y, width, or height properties of items - in a layout, since this would conflict with the goals of Layout, and can also cause binding - loops. - + \note Do not bind to the x, y, width, or height properties of items in a layout, + as this would conflict with the goals of Layout, and can also cause binding loops. + The width and height properties are used by the layout engine to store the current + size of items as calculated from the minimum/preferred/maximum attached properties, + and can be ovewritten each time the items are laid out. Use + \l {Layout::preferredWidth}{Layout.preferredWidth} and + \l {Layout::preferredHeight}{Layout.preferredHeight}, or \l {Item::}{implicitWidth} + and \l {Item::}{implicitHeight} to specify the preferred size of items. \sa GridLayout \sa RowLayout diff --git a/src/imports/settings/qqmlsettings.cpp b/src/imports/settings/qqmlsettings.cpp index 6b3904909a..310ef62d9f 100644 --- a/src/imports/settings/qqmlsettings.cpp +++ b/src/imports/settings/qqmlsettings.cpp @@ -39,10 +39,12 @@ #include "qqmlsettings_p.h" #include <qcoreevent.h> +#include <qcoreapplication.h> #include <qloggingcategory.h> #include <qsettings.h> #include <qpointer.h> #include <qjsvalue.h> +#include <qqmlinfo.h> #include <qdebug.h> #include <qhash.h> @@ -271,6 +273,26 @@ QSettings *QQmlSettingsPrivate::instance() const if (!settings) { QQmlSettings *q = const_cast<QQmlSettings*>(q_func()); settings = fileName.isEmpty() ? new QSettings(q) : new QSettings(fileName, QSettings::IniFormat, q); + if (settings->status() != QSettings::NoError) { + // TODO: can't print out the enum due to the following error: + // error: C2666: 'QQmlInfo::operator <<': 15 overloads have similar conversions + qmlWarning(q) << "Failed to initialize QSettings instance. Status code is: " << int(settings->status()); + + if (settings->status() == QSettings::AccessError) { + QVector<QString> missingIdentifiers; + if (QCoreApplication::organizationName().isEmpty()) + missingIdentifiers.append(QLatin1String("organizationName")); + if (QCoreApplication::organizationDomain().isEmpty()) + missingIdentifiers.append(QLatin1String("organizationDomain")); + if (QCoreApplication::applicationName().isEmpty()) + missingIdentifiers.append(QLatin1String("applicationName")); + + if (!missingIdentifiers.isEmpty()) + qmlWarning(q) << "The following application identifiers have not been set: " << missingIdentifiers; + } + return settings; + } + if (!category.isEmpty()) settings->beginGroup(category); if (initialized) |