summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/androiddeployqt/main.cpp66
-rw-r--r--src/tools/bootstrap/bootstrap.pro4
-rw-r--r--src/tools/moc/cbordevice.h96
-rw-r--r--src/tools/moc/generator.cpp183
-rw-r--r--src/tools/moc/generator.h6
-rw-r--r--src/tools/moc/moc.h7
-rw-r--r--src/tools/moc/moc.pri6
-rw-r--r--src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp2
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp2
-rw-r--r--src/tools/rcc/main.cpp18
-rw-r--r--src/tools/rcc/rcc.cpp18
-rw-r--r--src/tools/rcc/rcc.h4
-rw-r--r--src/tools/tracegen/etw.cpp3
-rw-r--r--src/tools/tracegen/lttng.cpp4
-rw-r--r--src/tools/tracegen/provider.cpp39
-rw-r--r--src/tools/tracegen/provider.h2
-rw-r--r--src/tools/uic/cpp/cpp.pri2
-rw-r--r--src/tools/uic/cpp/cppwritedeclaration.cpp19
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp256
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.h12
-rw-r--r--src/tools/uic/customwidgetsinfo.cpp4
-rw-r--r--src/tools/uic/driver.cpp15
-rw-r--r--src/tools/uic/driver.h1
-rw-r--r--src/tools/uic/main.cpp7
-rw-r--r--src/tools/uic/option.h14
-rw-r--r--src/tools/uic/treewalker.h2
-rw-r--r--src/tools/uic/ui4.cpp755
-rw-r--r--src/tools/uic/uic.cpp104
-rw-r--r--src/tools/uic/uic.h9
-rw-r--r--src/tools/uic/utils.h26
30 files changed, 889 insertions, 797 deletions
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 57714fc687..3b78d2487f 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -95,6 +95,7 @@ struct Options
, generateAssetsFileList(true)
, build(true)
, gradle(false)
+ , auxMode(false)
, deploymentMechanism(Bundled)
, releasePackage(false)
, digestAlg(QLatin1String("SHA1"))
@@ -126,6 +127,7 @@ struct Options
bool generateAssetsFileList;
bool build;
bool gradle;
+ bool auxMode;
QTime timer;
// External tools
@@ -137,6 +139,7 @@ struct Options
// Build paths
QString qtInstallDirectory;
+ std::vector<QString> extraPrefixDirs;
QString androidSourceDirectory;
QString outputDirectory;
QString inputFileName;
@@ -431,6 +434,8 @@ Options parseOptions()
options.jarSigner = true;
} else if (argument.compare(QLatin1String("--no-generated-assets-cache"), Qt::CaseInsensitive) == 0) {
options.generateAssetsFileList = false;
+ } else if (argument.compare(QLatin1String("--aux-mode"), Qt::CaseInsensitive) == 0) {
+ options.auxMode = true;
}
}
@@ -516,6 +521,9 @@ void printHelp()
" --verbose: Prints out information during processing.\n"
" --no-generated-assets-cache: Do not pregenerate the entry list for\n"
" the assets file engine.\n"
+ " --aux-mode: Operate in auxiliary mode. This will only copy the\n"
+ " dependencies into the build directory and update the XML templates.\n"
+ " The project will not be built or installed.\n"
" --help: Displays this information.\n\n",
qPrintable(QCoreApplication::arguments().at(0))
);
@@ -730,6 +738,14 @@ bool readInputFile(Options *options)
}
{
+ const auto extraPrefixDirs = jsonObject.value(QLatin1String("extraPrefixDirs")).toArray();
+ options->extraPrefixDirs.reserve(extraPrefixDirs.size());
+ for (const auto &prefix : extraPrefixDirs) {
+ options->extraPrefixDirs.push_back(prefix.toString());
+ }
+ }
+
+ {
const QJsonValue androidSourcesDirectory = jsonObject.value(QStringLiteral("android-package-source-directory"));
if (!androidSourcesDirectory.isUndefined())
options->androidSourceDirectory = androidSourcesDirectory.toString();
@@ -1287,6 +1303,9 @@ bool updateAndroidManifest(Options &options)
}
}
+ options.localJars.removeDuplicates();
+ options.initClasses.removeDuplicates();
+
QHash<QString, QString> replacements;
replacements[QLatin1String("-- %%INSERT_APP_NAME%% --")] = QFileInfo(options.applicationBinary).baseName().mid(sizeof("lib") - 1);
replacements[QLatin1String("-- %%INSERT_APP_LIB_NAME%% --")] = QFileInfo(options.applicationBinary).baseName().mid(sizeof("lib") - 1);
@@ -1380,6 +1399,16 @@ bool updateAndroidFiles(Options &options)
return true;
}
+static QString absoluteFilePath(const Options *options, const QString &relativeFileName)
+{
+ for (const auto &prefix : options->extraPrefixDirs) {
+ const QString path = prefix + QLatin1Char('/') + relativeFileName;
+ if (QFile::exists(path))
+ return path;
+ }
+ return options->qtInstallDirectory + QLatin1Char('/') + relativeFileName;
+}
+
QList<QtDependency> findFilesRecursively(const Options &options, const QFileInfo &info, const QString &rootPath)
{
if (!info.exists())
@@ -1404,6 +1433,11 @@ QList<QtDependency> findFilesRecursively(const Options &options, const QFileInfo
QList<QtDependency> findFilesRecursively(const Options &options, const QString &fileName)
{
+ for (const auto &prefix : options.extraPrefixDirs) {
+ QFileInfo info(prefix + QLatin1Char('/') + fileName);
+ if (info.exists())
+ return findFilesRecursively(options, info, prefix + QLatin1Char('/'));
+ }
QFileInfo info(options.qtInstallDirectory + QLatin1Char('/') + fileName);
return findFilesRecursively(options, info, options.qtInstallDirectory + QLatin1Char('/'));
}
@@ -1413,7 +1447,7 @@ bool readAndroidDependencyXml(Options *options,
QSet<QString> *usedDependencies,
QSet<QString> *remainingDependencies)
{
- QString androidDependencyName = options->qtInstallDirectory + QString::fromLatin1("/lib/%1-android-dependencies.xml").arg(moduleName);
+ QString androidDependencyName = absoluteFilePath(options, QString::fromLatin1("/lib/%1-android-dependencies.xml").arg(moduleName));
QFile androidDependencyFile(androidDependencyName);
if (androidDependencyFile.exists()) {
@@ -1458,7 +1492,7 @@ bool readAndroidDependencyXml(Options *options,
int bundling = reader.attributes().value(QLatin1String("bundling")).toInt();
QString fileName = reader.attributes().value(QLatin1String("file")).toString();
if (bundling == (options->deploymentMechanism == Options::Bundled)) {
- QtDependency dependency(fileName, options->qtInstallDirectory + QLatin1Char('/') + fileName);
+ QtDependency dependency(fileName, absoluteFilePath(options, fileName));
if (!usedDependencies->contains(dependency.absolutePath)) {
options->qtDependencies.append(dependency);
usedDependencies->insert(dependency.absolutePath);
@@ -1545,7 +1579,7 @@ QStringList getQtLibsFromElf(const Options &options, const QString &fileName)
if (line.contains("(NEEDED)") && line.contains("Shared library:") ) {
const int pos = line.lastIndexOf('[') + 1;
QString libraryName = QLatin1String("lib/") + QString::fromLatin1(line.mid(pos, line.length() - pos - 2));
- if (QFile::exists(options.qtInstallDirectory + QLatin1Char('/') + libraryName)) {
+ if (QFile::exists(absoluteFilePath(&options, libraryName))) {
ret += libraryName;
}
@@ -1576,7 +1610,7 @@ bool readDependenciesFromElf(Options *options,
if (usedDependencies->contains(dependency))
continue;
- QString absoluteDependencyPath(options->qtInstallDirectory + QLatin1Char('/') + dependency);
+ QString absoluteDependencyPath = absoluteFilePath(options, dependency);
usedDependencies->insert(dependency);
if (!readDependenciesFromElf(options,
absoluteDependencyPath,
@@ -1763,11 +1797,9 @@ bool readDependencies(Options *options)
if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
return false;
- QString qtDir = options->qtInstallDirectory + QLatin1Char('/');
-
while (!remainingDependencies.isEmpty()) {
QSet<QString>::iterator start = remainingDependencies.begin();
- QString fileName = qtDir + *start;
+ QString fileName = absoluteFilePath(options, *start);
remainingDependencies.erase(start);
QStringList unmetDependencies;
@@ -1785,7 +1817,7 @@ bool readDependencies(Options *options)
QStringList::iterator it = options->localLibs.begin();
while (it != options->localLibs.end()) {
QStringList unmetDependencies;
- if (!goodToCopy(options, qtDir + *it, &unmetDependencies)) {
+ if (!goodToCopy(options, absoluteFilePath(options, *it), &unmetDependencies)) {
fprintf(stdout, "Skipping %s due to unmet dependencies: %s\n",
qPrintable(*it),
qPrintable(unmetDependencies.join(QLatin1Char(','))));
@@ -1922,7 +1954,7 @@ bool goodToCopy(const Options *options, const QString &file, QStringList *unmetD
bool ret = true;
const auto libs = getQtLibsFromElf(*options, file);
for (const QString &lib : libs) {
- if (!options->qtDependencies.contains(QtDependency(lib, options->qtInstallDirectory + QLatin1Char('/') + lib))) {
+ if (!options->qtDependencies.contains(QtDependency(lib, absoluteFilePath(options, lib)))) {
ret = false;
unmetDependencies->append(lib);
}
@@ -2801,6 +2833,22 @@ int main(int argc, char *argv[])
: "No"
);
+ if (options.auxMode) {
+ if (!readDependencies(&options))
+ return CannotReadDependencies;
+ if (!copyQtFiles(&options))
+ return CannotCopyQtFiles;
+ if (!copyAndroidExtraResources(options))
+ return CannotCopyAndroidExtraResources;
+ if (!stripLibraries(options))
+ return CannotStripLibraries;
+ if (!updateAndroidFiles(options))
+ return CannotUpdateAndroidFiles;
+ if (options.generateAssetsFileList && !generateAssetsFileList(options))
+ return CannotGenerateAssetsFileList;
+ return 0;
+ }
+
if (options.build) {
if (options.gradle)
cleanAndroidFiles(options);
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index a45382106a..83e44ff9a4 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -2,7 +2,7 @@ option(host_build)
TARGET = QtBootstrap
QT =
-CONFIG += minimal_syncqt internal_module force_bootstrap
+CONFIG += minimal_syncqt internal_module force_bootstrap gc_binaries
MODULE_INCNAME = QtCore QtXml
MODULE_DEFINES = \
@@ -12,6 +12,7 @@ MODULE_DEFINES = \
QT_VERSION_PATCH=$$QT_PATCH_VERSION \
QT_BOOTSTRAPPED \
QT_NO_CAST_TO_ASCII
+MODULE_CONFIG = gc_binaries
DEFINES += \
$$MODULE_DEFINES \
@@ -24,6 +25,7 @@ SOURCES += \
../../corelib/codecs/qlatincodec.cpp \
../../corelib/codecs/qtextcodec.cpp \
../../corelib/codecs/qutfcodec.cpp \
+ ../../corelib/global/qendian.cpp \
../../corelib/global/qglobal.cpp \
../../corelib/global/qlogging.cpp \
../../corelib/global/qmalloc.cpp \
diff --git a/src/tools/moc/cbordevice.h b/src/tools/moc/cbordevice.h
new file mode 100644
index 0000000000..dbfc537dd2
--- /dev/null
+++ b/src/tools/moc/cbordevice.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Intel Corporation.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the tools applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef CBORDEVICE_H
+#define CBORDEVICE_H
+
+#include <memory>
+#include <stdio.h>
+
+#define CBOR_API inline
+#define CBOR_PRIVATE_API inline
+#define CBOR_NO_PARSER_API 1
+#include <cbor.h>
+
+class CborDevice
+{
+public:
+ CborDevice(FILE *out) : out(out) {}
+
+ void nextItem(const char *comment = nullptr)
+ {
+ i = 0;
+ if (comment)
+ fprintf(out, "\n // %s", comment);
+ }
+
+ static CborError callback(void *self, const void *ptr, size_t len, CborEncoderAppendType t)
+ {
+ auto that = static_cast<CborDevice *>(self);
+ auto data = static_cast<const char *>(ptr);
+ if (t == CborEncoderAppendCborData) {
+ while (len--)
+ that->putByte(*data++);
+ } else {
+ while (len--)
+ that->putChar(*data++);
+ }
+ return CborNoError;
+ }
+
+private:
+ FILE *out;
+ int i = 0;
+
+ void putNewline()
+ {
+ if ((i++ % 8) == 0)
+ fputs("\n ", out);
+ }
+
+ void putByte(uint8_t c)
+ {
+ putNewline();
+ fprintf(out, " 0x%02x, ", c);
+ }
+
+ void putChar(char c)
+ {
+ putNewline();
+ if (uchar(c) < 0x20)
+ fprintf(out, " '\\x%x',", uint8_t(c));
+ else if (uchar(c) >= 0x7f)
+ fprintf(out, " uchar('\\x%x'),", uint8_t(c));
+ else if (c == '\'' || c == '\\')
+ fprintf(out, " '\\%c',", c);
+ else
+ fprintf(out, " '%c', ", c);
+ }
+};
+
+#endif // CBORDEVICE_H
diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp
index d299cdad51..9fb980893f 100644
--- a/src/tools/moc/generator.cpp
+++ b/src/tools/moc/generator.cpp
@@ -2,6 +2,7 @@
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2013 Olivier Goffart <ogoffart@woboq.com>
+** Copyright (C) 2018 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the tools applications of the Qt Toolkit.
@@ -28,6 +29,7 @@
****************************************************************************/
#include "generator.h"
+#include "cbordevice.h"
#include "outputrevision.h"
#include "utils.h"
#include <QtCore/qmetatype.h>
@@ -36,9 +38,13 @@
#include <QtCore/qjsonvalue.h>
#include <QtCore/qjsonarray.h>
#include <QtCore/qplugin.h>
+#include <QtCore/qstringview.h>
+
+#include <math.h>
#include <stdio.h>
#include <private/qmetaobject_p.h> //for the flags.
+#include <private/qplugin_p.h> //for the flags.
QT_BEGIN_NAMESPACE
@@ -74,7 +80,7 @@ QT_FOR_EACH_STATIC_TYPE(RETURN_METATYPENAME_STRING)
return 0;
}
-Generator::Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile)
+Generator::Generator(ClassDef *classDef, const QVector<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile)
: out(outfile), cdef(classDef), metaTypes(metaTypes), knownQObjectClasses(knownQObjectClasses)
, knownGadgets(knownGadgets)
{
@@ -200,6 +206,7 @@ void Generator::generateCode()
if (cdef->enumDeclarations.contains(def.name)) {
enumList += def;
}
+ def.enumName = def.name;
QByteArray alias = cdef->flagAliases.value(def.name);
if (cdef->enumDeclarations.contains(alias)) {
def.name = alias;
@@ -369,7 +376,7 @@ void Generator::generateCode()
int enumsIndex = index;
for (int i = 0; i < cdef->enumList.count(); ++i)
- index += 4 + (cdef->enumList.at(i).values.count() * 2);
+ index += 5 + (cdef->enumList.at(i).values.count() * 2);
fprintf(out, " %4d, %4d, // constructors\n", isConstructible ? cdef->constructorList.count() : 0,
isConstructible ? index : 0);
@@ -454,7 +461,7 @@ void Generator::generateCode()
//
// Build extra array
//
- QList<QByteArray> extraList;
+ QVector<QByteArray> extraList;
QHash<QByteArray, QByteArray> knownExtraMetaObject = knownGadgets;
knownExtraMetaObject.unite(knownQObjectClasses);
@@ -523,29 +530,29 @@ void Generator::generateCode()
// Finally create and initialize the static meta object
//
if (isQt)
- fprintf(out, "QT_INIT_METAOBJECT const QMetaObject QObject::staticQtMetaObject = {\n");
+ fprintf(out, "QT_INIT_METAOBJECT const QMetaObject QObject::staticQtMetaObject = { {\n");
else
- fprintf(out, "QT_INIT_METAOBJECT const QMetaObject %s::staticMetaObject = {\n", cdef->qualified.constData());
+ fprintf(out, "QT_INIT_METAOBJECT const QMetaObject %s::staticMetaObject = { {\n", cdef->qualified.constData());
if (isQObject)
- fprintf(out, " { nullptr, ");
+ fprintf(out, " nullptr,\n");
else if (cdef->superclassList.size() && (!cdef->hasQGadget || knownGadgets.contains(purestSuperClass)))
- fprintf(out, " { &%s::staticMetaObject, ", purestSuperClass.constData());
+ fprintf(out, " &%s::staticMetaObject,\n", purestSuperClass.constData());
else
- fprintf(out, " { nullptr, ");
- fprintf(out, "qt_meta_stringdata_%s.data,\n"
- " qt_meta_data_%s, ", qualifiedClassNameIdentifier.constData(),
+ fprintf(out, " nullptr,\n");
+ fprintf(out, " qt_meta_stringdata_%s.data,\n"
+ " qt_meta_data_%s,\n", qualifiedClassNameIdentifier.constData(),
qualifiedClassNameIdentifier.constData());
if (hasStaticMetaCall)
- fprintf(out, " qt_static_metacall, ");
+ fprintf(out, " qt_static_metacall,\n");
else
- fprintf(out, " nullptr, ");
+ fprintf(out, " nullptr,\n");
if (extraList.isEmpty())
- fprintf(out, "nullptr, ");
+ fprintf(out, " nullptr,\n");
else
- fprintf(out, "qt_meta_extradata_%s, ", qualifiedClassNameIdentifier.constData());
- fprintf(out, "nullptr}\n};\n\n");
+ fprintf(out, " qt_meta_extradata_%s,\n", qualifiedClassNameIdentifier.constData());
+ fprintf(out, " nullptr\n} };\n\n");
if(isQt)
return;
@@ -887,6 +894,8 @@ void Generator::registerEnumStrings()
for (int i = 0; i < cdef->enumList.count(); ++i) {
const EnumDef &e = cdef->enumList.at(i);
strreg(e.name);
+ if (!e.enumName.isNull())
+ strreg(e.enumName);
for (int j = 0; j < e.values.count(); ++j)
strreg(e.values.at(j));
}
@@ -897,8 +906,8 @@ void Generator::generateEnums(int index)
if (cdef->enumDeclarations.isEmpty())
return;
- fprintf(out, "\n // enums: name, flags, count, data\n");
- index += 4 * cdef->enumList.count();
+ fprintf(out, "\n // enums: name, alias, flags, count, data\n");
+ index += 5 * cdef->enumList.count();
int i;
for (i = 0; i < cdef->enumList.count(); ++i) {
const EnumDef &e = cdef->enumList.at(i);
@@ -907,8 +916,9 @@ void Generator::generateEnums(int index)
flags |= EnumIsFlag;
if (e.isEnumClass)
flags |= EnumIsScoped;
- fprintf(out, " %4d, 0x%.1x, %4d, %4d,\n",
+ fprintf(out, " %4d, %4d, 0x%.1x, %4d, %4d,\n",
stridx(e.name),
+ e.enumName.isNull() ? stridx(e.name) : stridx(e.enumName),
flags,
e.values.count(),
index);
@@ -922,7 +932,7 @@ void Generator::generateEnums(int index)
const QByteArray &val = e.values.at(j);
QByteArray code = cdef->qualified.constData();
if (e.isEnumClass)
- code += "::" + e.name;
+ code += "::" + (e.enumName.isNull() ? e.name : e.enumName);
code += "::" + val;
fprintf(out, " %4d, uint(%s),\n",
stridx(val), code.constData());
@@ -1556,31 +1566,56 @@ void Generator::generateSignal(FunctionDef *def,int index)
fprintf(out, "}\n");
}
-static void writePluginMetaData(FILE *out, const QJsonObject &data)
+static CborError jsonValueToCbor(CborEncoder *parent, const QJsonValue &v);
+static CborError jsonObjectToCbor(CborEncoder *parent, const QJsonObject &o)
{
- const QJsonDocument doc(data);
+ auto it = o.constBegin();
+ auto end = o.constEnd();
+ CborEncoder map;
+ cbor_encoder_create_map(parent, &map, o.size());
+
+ for ( ; it != end; ++it) {
+ QByteArray key = it.key().toUtf8();
+ cbor_encode_text_string(&map, key.constData(), key.size());
+ jsonValueToCbor(&map, it.value());
+ }
+ return cbor_encoder_close_container(parent, &map);
+}
- fputs("\nQT_PLUGIN_METADATA_SECTION\n"
- "static const unsigned char qt_pluginMetaData[] = {\n"
- " 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', ' ',\n ", out);
-#if 0
- fprintf(out, "\"%s\";\n", doc.toJson().constData());
-#else
- const QByteArray binary = doc.toBinaryData();
- const int last = binary.size() - 1;
- for (int i = 0; i < last; ++i) {
- uchar c = (uchar)binary.at(i);
- if (c < 0x20 || c >= 0x7f)
- fprintf(out, " 0x%02x,", c);
- else if (c == '\'' || c == '\\')
- fprintf(out, " '\\%c',", c);
- else
- fprintf(out, " '%c', ", c);
- if (!((i + 1) % 8))
- fputs("\n ", out);
+static CborError jsonArrayToCbor(CborEncoder *parent, const QJsonArray &a)
+{
+ CborEncoder array;
+ cbor_encoder_create_array(parent, &array, a.size());
+ for (const QJsonValue &v : a)
+ jsonValueToCbor(&array, v);
+ return cbor_encoder_close_container(parent, &array);
+}
+
+static CborError jsonValueToCbor(CborEncoder *parent, const QJsonValue &v)
+{
+ switch (v.type()) {
+ case QJsonValue::Null:
+ case QJsonValue::Undefined:
+ return cbor_encode_null(parent);
+ case QJsonValue::Bool:
+ return cbor_encode_boolean(parent, v.toBool());
+ case QJsonValue::Array:
+ return jsonArrayToCbor(parent, v.toArray());
+ case QJsonValue::Object:
+ return jsonObjectToCbor(parent, v.toObject());
+ case QJsonValue::String: {
+ QByteArray s = v.toString().toUtf8();
+ return cbor_encode_text_string(parent, s.constData(), s.size());
}
- fprintf(out, " 0x%02x\n};\n", (uchar)binary.at(last));
-#endif
+ case QJsonValue::Double: {
+ double d = v.toDouble();
+ if (d == floor(d) && fabs(d) <= (Q_INT64_C(1) << std::numeric_limits<double>::digits))
+ return cbor_encode_int(parent, qint64(d));
+ return cbor_encode_double(parent, d);
+ }
+ }
+ Q_UNREACHABLE();
+ return CborUnknownError;
}
void Generator::generatePluginMetaData()
@@ -1588,32 +1623,48 @@ void Generator::generatePluginMetaData()
if (cdef->pluginData.iid.isEmpty())
return;
- // Write plugin meta data #ifdefed QT_NO_DEBUG with debug=false,
- // true, respectively.
+ fputs("\nQT_PLUGIN_METADATA_SECTION\n"
+ "static constexpr unsigned char qt_pluginMetaData[] = {\n"
+ " 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', '!',\n"
+ " // metadata version, Qt version, architectural requirements\n"
+ " 0, QT_VERSION_MAJOR, QT_VERSION_MINOR, qPluginArchRequirements(),", out);
- QJsonObject data;
- const QString debugKey = QStringLiteral("debug");
- data.insert(QStringLiteral("IID"), QLatin1String(cdef->pluginData.iid.constData()));
- data.insert(QStringLiteral("className"), QLatin1String(cdef->classname.constData()));
- data.insert(QStringLiteral("version"), (int)QT_VERSION);
- data.insert(debugKey, QJsonValue(false));
- data.insert(QStringLiteral("MetaData"), cdef->pluginData.metaData.object());
- // Add -M args from the command line:
- for (auto it = cdef->pluginData.metaArgs.cbegin(), end = cdef->pluginData.metaArgs.cend(); it != end; ++it)
- data.insert(it.key(), it.value());
+ CborDevice dev(out);
+ CborEncoder enc;
+ cbor_encoder_init_writer(&enc, CborDevice::callback, &dev);
- fputs("\nQT_PLUGIN_METADATA_SECTION const uint qt_section_alignment_dummy = 42;\n\n"
- "#ifdef QT_NO_DEBUG\n", out);
- writePluginMetaData(out, data);
+ CborEncoder map;
+ cbor_encoder_create_map(&enc, &map, CborIndefiniteLength);
- fputs("\n#else // QT_NO_DEBUG\n", out);
+ dev.nextItem("\"IID\"");
+ cbor_encode_int(&map, int(QtPluginMetaDataKeys::IID));
+ cbor_encode_text_string(&map, cdef->pluginData.iid.constData(), cdef->pluginData.iid.size());
- data.remove(debugKey);
- data.insert(debugKey, QJsonValue(true));
- writePluginMetaData(out, data);
+ dev.nextItem("\"className\"");
+ cbor_encode_int(&map, int(QtPluginMetaDataKeys::ClassName));
+ cbor_encode_text_string(&map, cdef->classname.constData(), cdef->classname.size());
- fputs("#endif // QT_NO_DEBUG\n\n", out);
+ QJsonObject o = cdef->pluginData.metaData.object();
+ if (!o.isEmpty()) {
+ dev.nextItem("\"MetaData\"");
+ cbor_encode_int(&map, int(QtPluginMetaDataKeys::MetaData));
+ jsonObjectToCbor(&map, o);
+ }
+
+ // Add -M args from the command line:
+ for (auto it = cdef->pluginData.metaArgs.cbegin(), end = cdef->pluginData.metaArgs.cend(); it != end; ++it) {
+ const QJsonArray &a = it.value();
+ QByteArray key = it.key().toUtf8();
+ dev.nextItem(QByteArray("command-line \"" + key + "\"").constData());
+ cbor_encode_text_string(&map, key.constData(), key.size());
+ jsonArrayToCbor(&map, a);
+ }
+
+ // Close the CBOR map manually
+ dev.nextItem();
+ cbor_encoder_close_container(&enc, &map);
+ fputs("\n};\n", out);
// 'Use' all namespaces.
int pos = cdef->qualified.indexOf("::");
@@ -1623,4 +1674,14 @@ void Generator::generatePluginMetaData()
cdef->qualified.constData(), cdef->classname.constData());
}
+QT_WARNING_DISABLE_GCC("-Wunused-function")
+QT_WARNING_DISABLE_CLANG("-Wunused-function")
+QT_WARNING_DISABLE_CLANG("-Wundefined-internal")
+QT_WARNING_DISABLE_MSVC(4334) // '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
+
+#define CBOR_ENCODER_WRITER_CONTROL 1
+#define CBOR_ENCODER_WRITE_FUNCTION CborDevice::callback
+
QT_END_NAMESPACE
+
+#include "cborencoder.c"
diff --git a/src/tools/moc/generator.h b/src/tools/moc/generator.h
index 8b80138302..134166580b 100644
--- a/src/tools/moc/generator.h
+++ b/src/tools/moc/generator.h
@@ -39,7 +39,7 @@ class Generator
ClassDef *cdef;
QVector<uint> meta_data;
public:
- Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile = 0);
+ Generator(ClassDef *classDef, const QVector<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile = 0);
void generateCode();
private:
bool registerableMetaType(const QByteArray &propertyType);
@@ -64,9 +64,9 @@ private:
void strreg(const QByteArray &); // registers a string
int stridx(const QByteArray &); // returns a string's id
- QList<QByteArray> strings;
+ QVector<QByteArray> strings;
QByteArray purestSuperClass;
- QList<QByteArray> metaTypes;
+ QVector<QByteArray> metaTypes;
QHash<QByteArray, QByteArray> knownQObjectClasses;
QHash<QByteArray, QByteArray> knownGadgets;
};
diff --git a/src/tools/moc/moc.h b/src/tools/moc/moc.h
index 5f8cdfcf2c..d98c73e1a0 100644
--- a/src/tools/moc/moc.h
+++ b/src/tools/moc/moc.h
@@ -64,7 +64,8 @@ Q_DECLARE_TYPEINFO(Type, Q_MOVABLE_TYPE);
struct EnumDef
{
QByteArray name;
- QList<QByteArray> values;
+ QByteArray enumName;
+ QVector<QByteArray> values;
bool isEnumClass; // c++11 enum class
EnumDef() : isEnumClass(false) {}
};
@@ -206,10 +207,10 @@ public:
bool noInclude;
bool mustIncludeQPluginH;
QByteArray includePath;
- QList<QByteArray> includeFiles;
+ QVector<QByteArray> includeFiles;
QVector<ClassDef> classList;
QMap<QByteArray, QByteArray> interface2IdMap;
- QList<QByteArray> metaTypes;
+ QVector<QByteArray> metaTypes;
// map from class name to fully qualified name
QHash<QByteArray, QByteArray> knownQObjectClasses;
QHash<QByteArray, QByteArray> knownGadgets;
diff --git a/src/tools/moc/moc.pri b/src/tools/moc/moc.pri
index b689a35478..90839a445b 100644
--- a/src/tools/moc/moc.pri
+++ b/src/tools/moc/moc.pri
@@ -1,5 +1,6 @@
-INCLUDEPATH += $$PWD
+INCLUDEPATH += $$PWD \
+ $$PWD/../../3rdparty/tinycbor/src
HEADERS = $$PWD/moc.h \
$$PWD/preprocessor.h \
@@ -8,7 +9,8 @@ HEADERS = $$PWD/moc.h \
$$PWD/token.h \
$$PWD/utils.h \
$$PWD/generator.h \
- $$PWD/outputrevision.h
+ $$PWD/outputrevision.h \
+ $$PWD/cbordevice.h
SOURCES = $$PWD/moc.cpp \
$$PWD/preprocessor.cpp \
$$PWD/generator.cpp \
diff --git a/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp b/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
index c76983200e..2115a14adf 100644
--- a/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
+++ b/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
@@ -62,7 +62,7 @@ static const char docTypeHeader[] =
#define PROGRAMNAME "qdbuscpp2xml"
#define PROGRAMVERSION "0.2"
-#define PROGRAMCOPYRIGHT "Copyright (C) 2017 The Qt Company Ltd."
+#define PROGRAMCOPYRIGHT "Copyright (C) 2018 The Qt Company Ltd."
static QString outputFile;
static int flags;
diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
index bbe738dadb..5b76502c94 100644
--- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
+++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
@@ -46,7 +46,7 @@
#define PROGRAMNAME "qdbusxml2cpp"
#define PROGRAMVERSION "0.8"
-#define PROGRAMCOPYRIGHT "Copyright (C) 2017 The Qt Company Ltd."
+#define PROGRAMCOPYRIGHT "Copyright (C) 2018 The Qt Company Ltd."
#define ANNOTATION_NO_WAIT "org.freedesktop.DBus.Method.NoReply"
diff --git a/src/tools/rcc/main.cpp b/src/tools/rcc/main.cpp
index fba47b74c3..12f986b1e2 100644
--- a/src/tools/rcc/main.cpp
+++ b/src/tools/rcc/main.cpp
@@ -151,6 +151,10 @@ int runRcc(int argc, char *argv[])
QCommandLineOption listOption(QStringLiteral("list"), QStringLiteral("Only list .qrc file entries, do not generate code."));
parser.addOption(listOption);
+ QCommandLineOption mapOption(QStringLiteral("list-mapping"),
+ QStringLiteral("Only output a mapping of resource paths to file system paths defined in the .qrc file, do not generate code."));
+ parser.addOption(mapOption);
+
QCommandLineOption projectOption(QStringLiteral("project"), QStringLiteral("Output a resource file containing all files from the current directory."));
parser.addOption(projectOption);
@@ -207,6 +211,7 @@ int runRcc(int argc, char *argv[])
library.setVerbose(true);
const bool list = parser.isSet(listOption);
+ const bool map = parser.isSet(mapOption);
const bool projectRequested = parser.isSet(projectOption);
const QStringList filenamesIn = parser.positionalArguments();
@@ -242,7 +247,7 @@ int runRcc(int argc, char *argv[])
library.setInputFiles(filenamesIn);
- if (!library.readFiles(list, errorDevice))
+ if (!library.readFiles(list || map, errorDevice))
return 1;
QFile out;
@@ -294,6 +299,17 @@ int runRcc(int argc, char *argv[])
return 0;
}
+ if (map) {
+ const RCCResourceLibrary::ResourceDataFileMap data = library.resourceDataFileMap();
+ for (auto it = data.begin(), end = data.end(); it != end; ++it) {
+ out.write(qPrintable(it.key()));
+ out.write("\t");
+ out.write(qPrintable(QDir::cleanPath(it.value())));
+ out.write("\n");
+ }
+ return 0;
+ }
+
QFile temp;
if (!tempFilename.isEmpty()) {
temp.setFileName(tempFilename);
diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index 4c7d095ca3..1a7cab01df 100644
--- a/src/tools/rcc/rcc.cpp
+++ b/src/tools/rcc/rcc.cpp
@@ -377,7 +377,7 @@ enum RCCXmlTag {
Q_DECLARE_TYPEINFO(RCCXmlTag, Q_PRIMITIVE_TYPE);
bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
- const QString &fname, QString currentPath, bool ignoreErrors)
+ const QString &fname, QString currentPath, bool listMode)
{
Q_ASSERT(m_errorDevice);
const QChar slash = QLatin1Char('/');
@@ -527,7 +527,7 @@ bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
m_failedResources.push_back(child.fileName());
}
}
- } else if (file.isFile()) {
+ } else if (listMode || file.isFile()) {
const bool arc =
addFile(alias,
RCCFileInfo(alias.section(slash, -1),
@@ -551,8 +551,6 @@ bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
const QString msg = QString::fromLatin1("RCC: Error in '%1': Cannot find file '%2'\n")
.arg(fname, fileName);
m_errorDevice->write(msg.toUtf8());
- if (ignoreErrors)
- continue;
return false;
}
}
@@ -564,8 +562,6 @@ bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
}
if (reader.hasError()) {
- if (ignoreErrors)
- return true;
int errorLine = reader.lineNumber();
int errorColumn = reader.columnNumber();
QString errorMessage = reader.errorString();
@@ -577,7 +573,7 @@ bool RCCResourceLibrary::interpretResourceFile(QIODevice *inputDevice,
if (m_root == 0) {
const QString msg = QString::fromLatin1("RCC: Warning: No resources in '%1'.\n").arg(fname);
m_errorDevice->write(msg.toUtf8());
- if (!ignoreErrors && m_format == Binary) {
+ if (!listMode && m_format == Binary) {
// create dummy entry, otherwise loading with QResource will crash
m_root = new RCCFileInfo(QString(), QFileInfo(),
QLocale::C, QLocale::AnyCountry, RCCFileInfo::Directory);
@@ -645,14 +641,14 @@ void RCCResourceLibrary::reset()
}
-bool RCCResourceLibrary::readFiles(bool ignoreErrors, QIODevice &errorDevice)
+bool RCCResourceLibrary::readFiles(bool listMode, QIODevice &errorDevice)
{
reset();
m_errorDevice = &errorDevice;
//read in data
if (m_verbose) {
- const QString msg = QString::fromLatin1("Processing %1 files [%2]\n")
- .arg(m_fileNames.size()).arg(static_cast<int>(ignoreErrors));
+ const QString msg = QString::fromLatin1("Processing %1 files [listMode=%2]\n")
+ .arg(m_fileNames.size()).arg(static_cast<int>(listMode));
m_errorDevice->write(msg.toUtf8());
}
for (int i = 0; i < m_fileNames.size(); ++i) {
@@ -680,7 +676,7 @@ bool RCCResourceLibrary::readFiles(bool ignoreErrors, QIODevice &errorDevice)
m_errorDevice->write(msg.toUtf8());
}
- if (!interpretResourceFile(&fileIn, fname, pwd, ignoreErrors))
+ if (!interpretResourceFile(&fileIn, fname, pwd, listMode))
return false;
}
return true;
diff --git a/src/tools/rcc/rcc.h b/src/tools/rcc/rcc.h
index 19e04e401d..36984cf38a 100644
--- a/src/tools/rcc/rcc.h
+++ b/src/tools/rcc/rcc.h
@@ -53,7 +53,7 @@ public:
bool output(QIODevice &outDevice, QIODevice &tempDevice, QIODevice &errorDevice);
- bool readFiles(bool ignoreErrors, QIODevice &errorDevice);
+ bool readFiles(bool listMode, QIODevice &errorDevice);
enum Format { Binary, C_Code, Pass1, Pass2 };
void setFormat(Format f) { m_format = f; }
@@ -109,7 +109,7 @@ private:
void reset();
bool addFile(const QString &alias, const RCCFileInfo &file);
bool interpretResourceFile(QIODevice *inputDevice, const QString &file,
- QString currentPath = QString(), bool ignoreErrors = false);
+ QString currentPath = QString(), bool listMode = false);
bool writeHeader();
bool writeDataBlobs();
bool writeDataNames();
diff --git a/src/tools/tracegen/etw.cpp b/src/tools/tracegen/etw.cpp
index 07f2d114b6..8c065f93c9 100644
--- a/src/tools/tracegen/etw.cpp
+++ b/src/tools/tracegen/etw.cpp
@@ -75,6 +75,9 @@ static void writeEtwMacro(QTextStream &stream, const Tracepoint::Field &field)
<< "TraceLoggingValue(" << name << ".width(), \"width\"), "
<< "TraceLoggingValue(" << name << ".height(), \"height\")";
return;
+ case Tracepoint::Field::Pointer:
+ stream << "TraceLoggingPointer(" << name << ", \"" << name << "\")";
+ return;
default:
break;
}
diff --git a/src/tools/tracegen/lttng.cpp b/src/tools/tracegen/lttng.cpp
index 6c0d8cc88b..5d41bf5f1f 100644
--- a/src/tools/tracegen/lttng.cpp
+++ b/src/tools/tracegen/lttng.cpp
@@ -69,6 +69,10 @@ static void writeCtfMacro(QTextStream &stream, const Tracepoint::Field &field)
case Tracepoint::Field::Integer:
stream << "ctf_integer(" << paramType << ", " << name << ", " << name << ")";
return;
+ case Tracepoint::Field::IntegerHex:
+ case Tracepoint::Field::Pointer:
+ stream << "ctf_integer_hex(" << paramType << ", " << name << ", " << name << ")";
+ return;
case Tracepoint::Field::Float:
stream << "ctf_float(" << paramType << ", " << name << ", " << name << ")";
return;
diff --git a/src/tools/tracegen/provider.cpp b/src/tools/tracegen/provider.cpp
index 00e105377e..a6523a2e3d 100644
--- a/src/tools/tracegen/provider.cpp
+++ b/src/tools/tracegen/provider.cpp
@@ -157,10 +157,13 @@ static Tracepoint::Field::BackendType backendType(QString rawType)
{ "signed_long_long_int", Tracepoint::Field::Integer },
{ "unsigned_long_long", Tracepoint::Field::Integer },
{ "char", Tracepoint::Field::Integer },
+ { "intptr_t", Tracepoint::Field::IntegerHex },
+ { "uintptr_t", Tracepoint::Field::IntegerHex },
+ { "std::intptr_t", Tracepoint::Field::IntegerHex },
+ { "std::uintptr_t", Tracepoint::Field::IntegerHex },
{ "float", Tracepoint::Field::Float },
{ "double", Tracepoint::Field::Float },
{ "long_double", Tracepoint::Field::Float },
- { "char_ptr", Tracepoint::Field::String },
{ "QString", Tracepoint::Field::QtString },
{ "QByteArray", Tracepoint::Field::QtByteArray },
{ "QUrl", Tracepoint::Field::QtUrl },
@@ -168,7 +171,6 @@ static Tracepoint::Field::BackendType backendType(QString rawType)
};
auto backendType = [](const QString &rawType) {
-
static const size_t tableSize = sizeof (typeTable) / sizeof (typeTable[0]);
for (size_t i = 0; i < tableSize; ++i) {
@@ -194,7 +196,13 @@ static Tracepoint::Field::BackendType backendType(QString rawType)
rawType = rawType.trimmed();
rawType.replace(QStringLiteral(" "), QStringLiteral("_"));
- return backendType(rawType.trimmed());
+ if (rawType == QLatin1String("char_ptr"))
+ return Tracepoint::Field::String;
+
+ if (rawType.endsWith(QLatin1String("_ptr")))
+ return Tracepoint::Field::Pointer;
+
+ return backendType(rawType);
}
static Tracepoint parseTracepoint(const QString &name, const QStringList &args,
@@ -264,35 +272,28 @@ Provider parseProvider(const QString &filename)
static const QRegExp tracedef(QStringLiteral("([A-Za-z][A-Za-z0-9_]*)\\((.*)\\)"));
- int lineNumber = 0;
-
Provider provider;
provider.name = QFileInfo(filename).baseName();
- for (;;) {
+ for (int lineNumber = 1; !s.atEnd(); ++lineNumber) {
QString line = s.readLine().trimmed();
- if (line.isNull())
- break;
-
- if (line.isEmpty() || line.startsWith(QStringLiteral("#"))) {
- ++lineNumber;
+ if (line.isEmpty() || line.startsWith(QLatin1Char('#')))
continue;
- }
if (tracedef.exactMatch(line)) {
const QString name = tracedef.cap(1);
- QStringList args = tracedef.cap(2).split(QStringLiteral(","), QString::SkipEmptyParts);
-
- if (args.at(0).isNull())
- args.clear();
+ const QString argsString = tracedef.cap(2);
+ const QStringList args = argsString.split(QLatin1Char(','),
+ QString::SkipEmptyParts);
provider.tracepoints << parseTracepoint(name, args, filename, lineNumber);
} else {
- panic("Syntax error whilre processing %s on line %d", qPrintable(filename), lineNumber);
+ panic("Syntax error while processing '%s' line %d:\n"
+ " '%s' does not look like a tracepoint definition",
+ qPrintable(filename), lineNumber,
+ qPrintable(line));
}
-
- ++lineNumber;
}
#ifdef TRACEGEN_DEBUG
diff --git a/src/tools/tracegen/provider.h b/src/tools/tracegen/provider.h
index d8cbd2662d..9771e62f4d 100644
--- a/src/tools/tracegen/provider.h
+++ b/src/tools/tracegen/provider.h
@@ -59,8 +59,10 @@ struct Tracepoint
Array,
Sequence,
Integer,
+ IntegerHex,
Float,
String,
+ Pointer,
QtString,
QtByteArray,
QtUrl,
diff --git a/src/tools/uic/cpp/cpp.pri b/src/tools/uic/cpp/cpp.pri
index a6b6188117..786b0e97a5 100644
--- a/src/tools/uic/cpp/cpp.pri
+++ b/src/tools/uic/cpp/cpp.pri
@@ -1,7 +1,5 @@
INCLUDEPATH += $$PWD $$QT_BUILD_TREE/src/tools/uic
-DEFINES += QT_UIC_CPP_GENERATOR
-
# Input
HEADERS += $$PWD/cppwritedeclaration.h \
$$PWD/cppwriteincludes.h \
diff --git a/src/tools/uic/cpp/cppwritedeclaration.cpp b/src/tools/uic/cpp/cppwritedeclaration.cpp
index 9e774ad07b..995b99b692 100644
--- a/src/tools/uic/cpp/cppwritedeclaration.cpp
+++ b/src/tools/uic/cpp/cppwritedeclaration.cpp
@@ -40,10 +40,11 @@
QT_BEGIN_NAMESPACE
namespace {
- void openNameSpaces(const QStringList &namespaceList, QTextStream &output) {
- for (auto it = namespaceList.begin(), end = namespaceList.end(); it != end; ++it) {
- if (!it->isEmpty())
- output << "namespace " << *it << " {\n";
+ void openNameSpaces(const QStringList &namespaceList, QTextStream &output)
+ {
+ for (const QString &n : namespaceList) {
+ if (!n.isEmpty())
+ output << "namespace " << n << " {\n";
}
}
@@ -103,13 +104,9 @@ void WriteDeclaration::acceptUI(DomUI *node)
<< "public:\n";
const QStringList connections = m_uic->databaseInfo()->connections();
- for (int i=0; i<connections.size(); ++i) {
- const QString connection = connections.at(i);
-
- if (connection == QLatin1String("(default)"))
- continue;
-
- m_output << m_option.indent << "QSqlDatabase " << connection << "Connection;\n";
+ for (const QString &connection : connections) {
+ if (connection != QLatin1String("(default)"))
+ m_output << m_option.indent << "QSqlDatabase " << connection << "Connection;\n";
}
TreeWalker::acceptWidget(node->elementWidget());
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 9ab5fd4eb0..4f6ac1eb97 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -475,21 +475,6 @@ WriteInitialization::WriteInitialization(Uic *uic) :
{
}
-QString WriteInitialization::writeString(const QString &s, const QString &indent) const
-{
- unsigned flags = 0;
- const QString ret = fixString(s, indent, &flags);
- if (flags & Utf8String)
- return QLatin1String("QString::fromUtf8(") + ret + QLatin1Char(')');
- // MSVC cannot concat L"foo" "bar" (C2308: concatenating mismatched strings),
- // use QLatin1String instead (all platforms to avoid cross-compiling issues).
- if (flags & MultiLineString)
- return QLatin1String("QLatin1String(") + ret + QLatin1Char(')');
- const QLatin1String stringWrapper = m_uic->option().stringLiteral ?
- QLatin1String("QStringLiteral(") : QLatin1String("QLatin1String(");
- return stringWrapper + ret + QLatin1Char(')');
-}
-
void WriteInitialization::acceptUI(DomUI *node)
{
m_actionGroupChain.push(0);
@@ -529,16 +514,14 @@ void WriteInitialization::acceptUI(DomUI *node)
continue;
const QString varConn = connection + QLatin1String("Connection");
- m_output << m_indent << varConn << " = QSqlDatabase::database(" << writeString(connection, m_dindent) << ");\n";
+ m_output << m_indent << varConn << " = QSqlDatabase::database(" << fixString(connection, m_dindent) << ");\n";
}
acceptWidget(node->elementWidget());
- if (m_buddies.size() > 0)
+ if (!m_buddies.empty())
openIfndef(m_output, QLatin1String(shortcutDefineC));
- for (int i=0; i<m_buddies.size(); ++i) {
- const Buddy &b = m_buddies.at(i);
-
+ for (const Buddy &b : qAsConst(m_buddies)) {
if (!m_registeredWidgets.contains(b.objName)) {
fprintf(stderr, "%s: Warning: Buddy assignment: '%s' is not a valid widget.\n",
qPrintable(m_option.messagePrefix()),
@@ -553,7 +536,7 @@ void WriteInitialization::acceptUI(DomUI *node)
m_output << m_indent << b.objName << "->setBuddy(" << b.buddy << ");\n";
}
- if (m_buddies.size() > 0)
+ if (!m_buddies.empty())
closeIfndef(m_output, QLatin1String(shortcutDefineC));
if (node->elementTabStops())
@@ -832,9 +815,7 @@ void WriteInitialization::acceptWidget(DomWidget *node)
m_layoutChain.pop();
const QStringList zOrder = node->elementZOrder();
- for (int i = 0; i < zOrder.size(); ++i) {
- const QString name = zOrder.at(i);
-
+ for (const QString &name : zOrder) {
if (!m_registeredWidgets.contains(name)) {
fprintf(stderr, "%s: Warning: Z-order assignment: '%s' is not a valid widget.\n",
qPrintable(m_option.messagePrefix()),
@@ -842,11 +823,8 @@ void WriteInitialization::acceptWidget(DomWidget *node)
continue;
}
- if (name.isEmpty()) {
- continue;
- }
-
- m_output << m_indent << name << "->raise();\n";
+ if (!name.isEmpty())
+ m_output << m_indent << name << "->raise();\n";
}
}
@@ -1141,7 +1119,7 @@ QString WriteInitialization::writeStringListProperty(const DomStringList *list)
str << '\n' << m_indent << " << " << trCall(values.at(i), comment);
} else {
for (int i = 0; i < values.size(); ++i)
- str << " << " << writeString(values.at(i), m_dindent);
+ str << " << QString::fromUtf8(" << fixString(values.at(i), m_dindent) << ')';
}
return propertyValue;
}
@@ -1156,8 +1134,8 @@ void WriteInitialization::writeProperties(const QString &varName,
if (m_uic->customWidgetsInfo()->extends(className, QLatin1String("QAxWidget"))) {
DomPropertyMap properties = propertyMap(lst);
if (DomProperty *p = properties.value(QLatin1String("control"))) {
- m_output << m_indent << varName << "->setControl("
- << writeString(toString(p->elementString()), m_dindent) << ");\n";
+ m_output << m_indent << varName << "->setControl(QString::fromUtf8("
+ << fixString(toString(p->elementString()), m_dindent) << "));\n";
}
}
@@ -1168,14 +1146,13 @@ void WriteInitialization::writeProperties(const QString &varName,
}
if (!(flags & WritePropertyIgnoreObjectName))
m_output << m_indent << indent << varName
- << "->setObjectName(" << writeString(varName, m_dindent) << ");\n";
+ << "->setObjectName(QString::fromUtf8(" << fixString(varName, m_dindent) << "));\n";
int leftMargin, topMargin, rightMargin, bottomMargin;
leftMargin = topMargin = rightMargin = bottomMargin = -1;
bool frameShadowEncountered = false;
- for (int i=0; i<lst.size(); ++i) {
- const DomProperty *p = lst.at(i);
+ for (const DomProperty *p : lst) {
if (!checkProperty(m_option.inputFile, p))
continue;
QString propertyName = p->attributeName();
@@ -1187,30 +1164,35 @@ void WriteInitialization::writeProperties(const QString &varName,
const DomRect *r = p->elementRect();
m_output << m_indent << varName << "->resize(" << r->elementWidth() << ", " << r->elementHeight() << ");\n";
continue;
- } else if (propertyName == QLatin1String("currentRow") // QListWidget::currentRow
- && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QListWidget"))) {
+ }
+ if (propertyName == QLatin1String("currentRow") // QListWidget::currentRow
+ && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QListWidget"))) {
m_delayedOut << m_indent << varName << "->setCurrentRow("
<< p->elementNumber() << ");\n";
continue;
- } else if (propertyName == QLatin1String("currentIndex") // set currentIndex later
- && (m_uic->customWidgetsInfo()->extends(className, QLatin1String("QComboBox"))
- || m_uic->customWidgetsInfo()->extends(className, QLatin1String("QStackedWidget"))
- || m_uic->customWidgetsInfo()->extends(className, QLatin1String("QTabWidget"))
- || m_uic->customWidgetsInfo()->extends(className, QLatin1String("QToolBox")))) {
+ }
+ if (propertyName == QLatin1String("currentIndex") // set currentIndex later
+ && (m_uic->customWidgetsInfo()->extends(className, QLatin1String("QComboBox"))
+ || m_uic->customWidgetsInfo()->extends(className, QLatin1String("QStackedWidget"))
+ || m_uic->customWidgetsInfo()->extends(className, QLatin1String("QTabWidget"))
+ || m_uic->customWidgetsInfo()->extends(className, QLatin1String("QToolBox")))) {
m_delayedOut << m_indent << varName << "->setCurrentIndex("
<< p->elementNumber() << ");\n";
continue;
- } else if (propertyName == QLatin1String("tabSpacing")
- && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QToolBox"))) {
+ }
+ if (propertyName == QLatin1String("tabSpacing")
+ && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QToolBox"))) {
m_delayedOut << m_indent << varName << "->layout()->setSpacing("
<< p->elementNumber() << ");\n";
continue;
- } else if (propertyName == QLatin1String("control") // ActiveQt support
- && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QAxWidget"))) {
+ }
+ if (propertyName == QLatin1String("control") // ActiveQt support
+ && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QAxWidget"))) {
// already done ;)
continue;
- } else if (propertyName == QLatin1String("default")
- && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QPushButton"))) {
+ }
+ if (propertyName == QLatin1String("default")
+ && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QPushButton"))) {
// QTBUG-44406: Setting of QPushButton::default needs to be delayed until the parent is set
delayProperty = true;
} else if (propertyName == QLatin1String("database")
@@ -1423,10 +1405,10 @@ void WriteInitialization::writeProperties(const QString &varName,
propertyValue += QLatin1Char(')');
break;
case DomProperty::Float:
- propertyValue = QString::number(p->elementFloat());
+ propertyValue = QString::number(p->elementFloat(), 'f', 8);
break;
case DomProperty::Double:
- propertyValue = QString::number(p->elementDouble());
+ propertyValue = QString::number(p->elementDouble(), 'f', 15);
break;
case DomProperty::Char: {
const DomChar *c = p->elementChar();
@@ -1467,8 +1449,8 @@ void WriteInitialization::writeProperties(const QString &varName,
case DomProperty::Url: {
const DomUrl* u = p->elementUrl();
- propertyValue = QString::fromLatin1("QUrl(%1)")
- .arg(writeString(u->elementString()->text(), m_dindent));
+ propertyValue = QString::fromLatin1("QUrl(QString::fromUtf8(%1))")
+ .arg(fixString(u->elementString()->text(), m_dindent));
break;
}
case DomProperty::Brush:
@@ -1572,8 +1554,8 @@ QString WriteInitialization::writeFontProperties(const DomFont *f)
m_output << m_indent << "QFont " << fontName << ";\n";
if (f->hasElementFamily() && !f->elementFamily().isEmpty()) {
- m_output << m_indent << fontName << ".setFamily(" << writeString(f->elementFamily(), m_dindent)
- << ");\n";
+ m_output << m_indent << fontName << ".setFamily(QString::fromUtf8("
+ << fixString(f->elementFamily(), m_dindent) << "));\n";
}
if (f->hasElementPointSize() && f->elementPointSize() > 0) {
m_output << m_indent << fontName << ".setPointSize(" << f->elementPointSize()
@@ -1616,27 +1598,98 @@ QString WriteInitialization::writeFontProperties(const DomFont *f)
}
// Post 4.4 write resource icon
-void WriteInitialization::writeResourceIcon(QTextStream &output,
- const QString &iconName,
- const QString &indent,
- const DomResourceIcon *i) const
-{
- if (i->hasElementNormalOff())
- output << indent << iconName << ".addFile(" << writeString(i->elementNormalOff()->text(), indent) << ", QSize(), QIcon::Normal, QIcon::Off);\n";
- if (i->hasElementNormalOn())
- output << indent << iconName << ".addFile(" << writeString(i->elementNormalOn()->text(), indent) << ", QSize(), QIcon::Normal, QIcon::On);\n";
- if (i->hasElementDisabledOff())
- output << indent << iconName << ".addFile(" << writeString(i->elementDisabledOff()->text(), indent) << ", QSize(), QIcon::Disabled, QIcon::Off);\n";
- if (i->hasElementDisabledOn())
- output << indent << iconName << ".addFile(" << writeString(i->elementDisabledOn()->text(), indent) << ", QSize(), QIcon::Disabled, QIcon::On);\n";
- if (i->hasElementActiveOff())
- output << indent << iconName << ".addFile(" << writeString(i->elementActiveOff()->text(), indent) << ", QSize(), QIcon::Active, QIcon::Off);\n";
- if (i->hasElementActiveOn())
- output << indent << iconName << ".addFile(" << writeString(i->elementActiveOn()->text(), indent) << ", QSize(), QIcon::Active, QIcon::On);\n";
- if (i->hasElementSelectedOff())
- output << indent << iconName << ".addFile(" << writeString(i->elementSelectedOff()->text(), indent) << ", QSize(), QIcon::Selected, QIcon::Off);\n";
- if (i->hasElementSelectedOn())
- output << indent << iconName << ".addFile(" << writeString(i->elementSelectedOn()->text(), indent) << ", QSize(), QIcon::Selected, QIcon::On);\n";
+static void writeResourceIcon(QTextStream &output,
+ const QString &iconName,
+ const QString &indent,
+ const DomResourceIcon *i)
+{
+ if (i->hasElementNormalOff()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementNormalOff()->text(), indent)
+ << "), QSize(), QIcon::Normal, QIcon::Off);\n";
+ }
+ if (i->hasElementNormalOn()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementNormalOn()->text(), indent)
+ << "), QSize(), QIcon::Normal, QIcon::On);\n";
+ }
+ if (i->hasElementDisabledOff()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementDisabledOff()->text(), indent)
+ << "), QSize(), QIcon::Disabled, QIcon::Off);\n";
+ }
+ if (i->hasElementDisabledOn()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementDisabledOn()->text(), indent)
+ << "), QSize(), QIcon::Disabled, QIcon::On);\n";
+ }
+ if (i->hasElementActiveOff()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementActiveOff()->text(), indent)
+ << "), QSize(), QIcon::Active, QIcon::Off);\n";
+ }
+ if (i->hasElementActiveOn()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementActiveOn()->text(), indent)
+ << "), QSize(), QIcon::Active, QIcon::On);\n";
+ }
+ if (i->hasElementSelectedOff()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementSelectedOff()->text(), indent)
+ << "), QSize(), QIcon::Selected, QIcon::Off);\n";
+ }
+ if (i->hasElementSelectedOn()) {
+ output << indent << iconName << ".addFile(QString::fromUtf8("
+ << fixString(i->elementSelectedOn()->text(), indent)
+ << "), QSize(), QIcon::Selected, QIcon::On);\n";
+ }
+}
+
+void WriteInitialization::writePixmapFunctionIcon(QTextStream &output,
+ const QString &iconName,
+ const QString &indent,
+ const DomResourceIcon *i) const
+{
+ if (i->hasElementNormalOff()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementNormalOff()->text())
+ << ", QIcon::Normal, QIcon::Off);\n";
+ }
+ if (i->hasElementNormalOn()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementNormalOn()->text())
+ << ", QIcon::Normal, QIcon::On);\n";
+ }
+ if (i->hasElementDisabledOff()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementDisabledOff()->text())
+ << ", QIcon::Disabled, QIcon::Off);\n";
+ }
+ if (i->hasElementDisabledOn()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementDisabledOn()->text())
+ << ", QIcon::Disabled, QIcon::On);\n";
+ }
+ if (i->hasElementActiveOff()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementActiveOff()->text())
+ << ", QIcon::Active, QIcon::Off);\n";
+ }
+ if (i->hasElementActiveOn()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementActiveOn()->text())
+ << ", QIcon::Active, QIcon::On);\n";
+ }
+ if (i->hasElementSelectedOff()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementSelectedOff()->text())
+ << ", QIcon::Selected, QIcon::Off);\n";
+ }
+ if (i->hasElementSelectedOn()) {
+ output << indent << iconName << ".addPixmap("
+ << pixCall(QLatin1String("QPixmap"), i->elementSelectedOn()->text())
+ << ", QIcon::Selected, QIcon::On);\n";
+ }
}
QString WriteInitialization::writeIconProperties(const DomResourceIcon *i)
@@ -1655,10 +1708,13 @@ QString WriteInitialization::writeIconProperties(const DomResourceIcon *i)
if (i->attributeTheme().isEmpty()) {
// No theme: Write resource icon as is
m_output << m_indent << "QIcon " << iconName << ";\n";
- writeResourceIcon(m_output, iconName, m_indent, i);
+ if (m_uic->pixmapFunction().isEmpty())
+ writeResourceIcon(m_output, iconName, m_indent, i);
+ else
+ writePixmapFunctionIcon(m_output, iconName, m_indent, i);
} else {
// Theme: Generate code to check the theme and default to resource
- const QString themeIconName = writeString(i->attributeTheme(), QString());
+ const QString themeIconName = fixString(i->attributeTheme(), QString());
if (iconHasStatePixmaps(i)) {
// Theme + default state pixmaps:
// Generate code to check the theme and default to state pixmaps
@@ -1670,20 +1726,23 @@ QString WriteInitialization::writeIconProperties(const DomResourceIcon *i)
m_output << "QString ";
m_firstThemeIcon = false;
}
- m_output << themeNameStringVariableC << " = "
- << themeIconName << ";\n";
+ m_output << themeNameStringVariableC << " = QString::fromUtf8("
+ << themeIconName << ");\n";
m_output << m_indent << "if (QIcon::hasThemeIcon("
<< themeNameStringVariableC
<< ")) {\n"
<< m_dindent << iconName << " = QIcon::fromTheme(" << themeNameStringVariableC << ");\n"
<< m_indent << "} else {\n";
- writeResourceIcon(m_output, iconName, m_dindent, i);
+ if (m_uic->pixmapFunction().isEmpty())
+ writeResourceIcon(m_output, iconName, m_dindent, i);
+ else
+ writePixmapFunctionIcon(m_output, iconName, m_dindent, i);
m_output << m_indent << "}\n";
} else {
// Theme, but no state pixmaps: Construct from theme directly.
m_output << m_indent << "QIcon " << iconName
- << "(QIcon::fromTheme("
- << themeIconName << "));\n";
+ << "(QIcon::fromTheme(QString::fromUtf8("
+ << themeIconName << ")));\n";
} // Theme, but not state
} // >= 4.4
} else { // pre-4.4 legacy
@@ -1841,7 +1900,7 @@ void WriteInitialization::acceptTabStops(DomTabStops *tabStops)
const QStringList l = tabStops->elementTabStop();
for (int i=0; i<l.size(); ++i) {
- const QString name = l.at(i);
+ const QString &name = l.at(i);
if (!m_registeredWidgets.contains(name)) {
fprintf(stderr, "%s: Warning: Tab-stop assignment: '%s' is not a valid widget.\n",
@@ -1853,9 +1912,9 @@ void WriteInitialization::acceptTabStops(DomTabStops *tabStops)
if (i == 0) {
lastName = name;
continue;
- } else if (name.isEmpty() || lastName.isEmpty()) {
- continue;
}
+ if (name.isEmpty() || lastName.isEmpty())
+ continue;
m_output << m_indent << "QWidget::setTabOrder(" << lastName << ", " << name << ");\n";
@@ -2125,7 +2184,7 @@ void WriteInitialization::initializeTreeWidget(DomWidget *w)
if (!itemName.isNull())
m_output << m_indent << varName << "->setHeaderItem(" << itemName << ");\n";
- if (w->elementItem().size() == 0)
+ if (w->elementItem().empty())
return;
QString tempName = disableSorting(w, varName);
@@ -2167,9 +2226,8 @@ QList<WriteInitialization::Item *> WriteInitialization::initializeTreeWidgetItem
int col = -1;
const DomPropertyList properties = domItem->elementProperty();
- for (int j = 0; j < properties.size(); ++j) {
- DomProperty *p = properties.at(j);
- if (p->attributeName() == QLatin1String("text")) {
+ for (DomProperty *p : properties) {
+ if (p->attributeName() == QLatin1String("text")) {
if (!map.isEmpty()) {
addCommonInitializers(item, map, col);
map.clear();
@@ -2196,7 +2254,7 @@ void WriteInitialization::initializeTableWidget(DomWidget *w)
// columns
const auto &columns = w->elementColumn();
- if (columns.size() != 0) {
+ if (!columns.empty()) {
m_output << m_indent << "if (" << varName << "->columnCount() < " << columns.size() << ")\n"
<< m_dindent << varName << "->setColumnCount(" << columns.size() << ");\n";
}
@@ -2218,7 +2276,7 @@ void WriteInitialization::initializeTableWidget(DomWidget *w)
// rows
const auto &rows = w->elementRow();
- if (rows.size() != 0) {
+ if (!rows.isEmpty()) {
m_output << m_indent << "if (" << varName << "->rowCount() < " << rows.size() << ")\n"
<< m_dindent << varName << "->setRowCount(" << rows.size() << ");\n";
}
@@ -2242,8 +2300,7 @@ void WriteInitialization::initializeTableWidget(DomWidget *w)
const auto &items = w->elementItem();
- for (int i = 0; i < items.size(); ++i) {
- const DomItem *cell = items.at(i);
+ for (const DomItem *cell : items) {
if (cell->hasAttributeRow() && cell->hasAttributeColumn() && !cell->elementProperty().isEmpty()) {
const int r = cell->attributeRow();
const int c = cell->attributeColumn();
@@ -2323,7 +2380,10 @@ QString WriteInitialization::noTrCall(DomString *str, const QString &defaultStri
return QString();
if (str)
value = str->text();
- return writeString(value, m_dindent);
+ QString ret = QLatin1String("QString::fromUtf8(");
+ ret += fixString(value, m_dindent);
+ ret += QLatin1Char(')');
+ return ret;
}
QString WriteInitialization::autoTrCall(DomString *str, const QString &defaultString) const
@@ -2448,13 +2508,13 @@ QString WriteInitialization::Item::writeSetupUi(const QString &parent, Item::Emp
return QString();
bool generateMultiDirective = false;
- if (emptyItemPolicy == Item::ConstructItemOnly && m_children.size() == 0) {
+ if (emptyItemPolicy == Item::ConstructItemOnly && m_children.isEmpty()) {
if (m_setupUiData.policy == ItemData::DontGenerate) {
m_setupUiStream << m_indent << "new " << m_itemClassName << '(' << parent << ");\n";
- return QString();
- } else if (m_setupUiData.policy == ItemData::GenerateWithMultiDirective) {
- generateMultiDirective = true;
+ return QString();
}
+ if (m_setupUiData.policy == ItemData::GenerateWithMultiDirective)
+ generateMultiDirective = true;
}
if (generateMultiDirective)
diff --git a/src/tools/uic/cpp/cppwriteinitialization.h b/src/tools/uic/cpp/cppwriteinitialization.h
index 21116057d4..cce83bd677 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.h
+++ b/src/tools/uic/cpp/cppwriteinitialization.h
@@ -139,8 +139,6 @@ struct WriteInitialization : public TreeWalker
private:
static QString domColor2QString(const DomColor *c);
- QString writeString(const QString &s, const QString &indent) const;
-
QString iconCall(const DomProperty *prop);
QString pixCall(const DomProperty *prop) const;
QString pixCall(const QString &type, const QString &text) const;
@@ -163,6 +161,7 @@ private:
// special initialization
//
class Item {
+ Q_DISABLE_COPY(Item)
public:
Item(const QString &itemClassName, const QString &indent, QTextStream &setupUiStream, QTextStream &retranslateUiStream, Driver *driver);
~Item();
@@ -178,15 +177,15 @@ private:
int setupUiCount() const { return m_setupUiData.setters.count(); }
int retranslateUiCount() const { return m_retranslateUiData.setters.count(); }
private:
- struct ItemData {
- ItemData() : policy(DontGenerate) {}
+ struct ItemData
+ {
QMultiMap<QString, QString> setters; // directive to setter
QSet<QString> directives;
enum TemporaryVariableGeneratorPolicy { // policies with priority, number describes the priority
DontGenerate = 1,
GenerateWithMultiDirective = 2,
Generate = 3
- } policy;
+ } policy = DontGenerate;
};
ItemData m_setupUiData;
ItemData m_retranslateUiData;
@@ -230,8 +229,9 @@ private:
private:
QString writeFontProperties(const DomFont *f);
- void writeResourceIcon(QTextStream &output, const QString &iconName, const QString &indent, const DomResourceIcon *i) const;
QString writeIconProperties(const DomResourceIcon *i);
+ void writePixmapFunctionIcon(QTextStream &output, const QString &iconName,
+ const QString &indent, const DomResourceIcon *i) const;
QString writeSizePolicy(const DomSizePolicy *sp);
QString writeBrushInitialization(const DomBrush *brush);
void addButtonGroup(const DomWidget *node, const QString &varName);
diff --git a/src/tools/uic/customwidgetsinfo.cpp b/src/tools/uic/customwidgetsinfo.cpp
index 6883b715ae..0ac0c2b6a3 100644
--- a/src/tools/uic/customwidgetsinfo.cpp
+++ b/src/tools/uic/customwidgetsinfo.cpp
@@ -33,9 +33,7 @@
QT_BEGIN_NAMESPACE
-CustomWidgetsInfo::CustomWidgetsInfo()
-{
-}
+CustomWidgetsInfo::CustomWidgetsInfo() = default;
void CustomWidgetsInfo::acceptUI(DomUI *node)
{
diff --git a/src/tools/uic/driver.cpp b/src/tools/uic/driver.cpp
index 72be667468..91a48815fd 100644
--- a/src/tools/uic/driver.cpp
+++ b/src/tools/uic/driver.cpp
@@ -41,9 +41,7 @@ Driver::Driver()
m_output = &m_stdout;
}
-Driver::~Driver()
-{
-}
+Driver::~Driver() = default;
QString Driver::findOrInsertWidget(DomWidget *ui_widget)
{
@@ -258,18 +256,11 @@ bool Driver::uic(const QString &fileName, DomUI *ui, QTextStream *out)
m_output = out != 0 ? out : &m_stdout;
Uic tool(this);
- bool rtn = false;
-#ifdef QT_UIC_CPP_GENERATOR
- rtn = tool.write(ui);
-#else
- Q_UNUSED(ui);
- fprintf(stderr, "uic: option to generate cpp code not compiled in [%s:%d]\n",
- __FILE__, __LINE__);
-#endif
+ const bool result = tool.write(ui);
m_output = oldOutput;
- return rtn;
+ return result;
}
bool Driver::uic(const QString &fileName, QTextStream *out)
diff --git a/src/tools/uic/driver.h b/src/tools/uic/driver.h
index 41c1572860..1563bdbd83 100644
--- a/src/tools/uic/driver.h
+++ b/src/tools/uic/driver.h
@@ -49,6 +49,7 @@ class DomButtonGroup;
class Driver
{
+ Q_DISABLE_COPY(Driver)
public:
Driver();
virtual ~Driver();
diff --git a/src/tools/uic/main.cpp b/src/tools/uic/main.cpp
index b1567cc3c5..41bd62bbf4 100644
--- a/src/tools/uic/main.cpp
+++ b/src/tools/uic/main.cpp
@@ -76,7 +76,7 @@ int runUic(int argc, char *argv[])
parser.addOption(noImplicitIncludesOption);
QCommandLineOption noStringLiteralOption(QStringList() << QStringLiteral("s") << QStringLiteral("no-stringliteral"));
- noStringLiteralOption.setDescription(QStringLiteral("Use QLatin1String instead of QStringLiteral in generated code."));
+ noStringLiteralOption.setDescription(QStringLiteral("Deprecated. The use of this option won't take any effect."));
parser.addOption(noStringLiteralOption);
QCommandLineOption postfixOption(QStringLiteral("postfix"));
@@ -111,12 +111,13 @@ int runUic(int argc, char *argv[])
driver.option().outputFile = parser.value(outputOption);
driver.option().headerProtection = !parser.isSet(noProtOption);
driver.option().implicitIncludes = !parser.isSet(noImplicitIncludesOption);
- driver.option().stringLiteral = !parser.isSet(noStringLiteralOption);
driver.option().idBased = parser.isSet(idBasedOption);
driver.option().postfix = parser.value(postfixOption);
driver.option().translateFunction = parser.value(translateOption);
driver.option().includeFile = parser.value(includeOption);
- driver.option().generator = (parser.value(generatorOption).toLower() == QLatin1String("java")) ? Option::JavaGenerator : Option::CppGenerator;
+
+ if (parser.isSet(noStringLiteralOption))
+ fprintf(stderr, "The -s, --no-stringliteral option is deprecated and it won't take any effect.\n");
QString inputFile;
if (!parser.positionalArguments().isEmpty())
diff --git a/src/tools/uic/option.h b/src/tools/uic/option.h
index c7278393fb..4fc442e94a 100644
--- a/src/tools/uic/option.h
+++ b/src/tools/uic/option.h
@@ -36,12 +36,6 @@ QT_BEGIN_NAMESPACE
struct Option
{
- enum Generator
- {
- CppGenerator,
- JavaGenerator
- };
-
unsigned int headerProtection : 1;
unsigned int copyrightHeader : 1;
unsigned int generateImplemetation : 1;
@@ -51,8 +45,6 @@ struct Option
unsigned int limitXPM_LineLength : 1;
unsigned int implicitIncludes: 1;
unsigned int idBased: 1;
- unsigned int stringLiteral: 1;
- Generator generator;
QString inputFile;
QString outputFile;
@@ -62,10 +54,6 @@ struct Option
QString postfix;
QString translateFunction;
QString includeFile;
-#ifdef QT_UIC_JAVA_GENERATOR
- QString javaPackage;
- QString javaOutputDirectory;
-#endif
Option()
: headerProtection(1),
@@ -77,8 +65,6 @@ struct Option
limitXPM_LineLength(0),
implicitIncludes(1),
idBased(0),
- stringLiteral(1),
- generator(CppGenerator),
prefix(QLatin1String("Ui_"))
{ indent.fill(QLatin1Char(' '), 4); }
diff --git a/src/tools/uic/treewalker.h b/src/tools/uic/treewalker.h
index 78da17d628..43d4633d83 100644
--- a/src/tools/uic/treewalker.h
+++ b/src/tools/uic/treewalker.h
@@ -77,7 +77,7 @@ class DomButtonGroup;
struct TreeWalker
{
- inline virtual ~TreeWalker() {}
+ inline virtual ~TreeWalker() = default;
virtual void acceptUI(DomUI *ui);
virtual void acceptLayoutDefault(DomLayoutDefault *layoutDefault);
diff --git a/src/tools/uic/ui4.cpp b/src/tools/uic/ui4.cpp
index 7a1d755bb4..984ef36274 100644
--- a/src/tools/uic/ui4.cpp
+++ b/src/tools/uic/ui4.cpp
@@ -108,19 +108,19 @@ void DomUI::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("widget"), Qt::CaseInsensitive)) {
- DomWidget *v = new DomWidget();
+ auto *v = new DomWidget();
v->read(reader);
setElementWidget(v);
continue;
}
if (!tag.compare(QLatin1String("layoutdefault"), Qt::CaseInsensitive)) {
- DomLayoutDefault *v = new DomLayoutDefault();
+ auto *v = new DomLayoutDefault();
v->read(reader);
setElementLayoutDefault(v);
continue;
}
if (!tag.compare(QLatin1String("layoutfunction"), Qt::CaseInsensitive)) {
- DomLayoutFunction *v = new DomLayoutFunction();
+ auto *v = new DomLayoutFunction();
v->read(reader);
setElementLayoutFunction(v);
continue;
@@ -130,13 +130,13 @@ void DomUI::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("customwidgets"), Qt::CaseInsensitive)) {
- DomCustomWidgets *v = new DomCustomWidgets();
+ auto *v = new DomCustomWidgets();
v->read(reader);
setElementCustomWidgets(v);
continue;
}
if (!tag.compare(QLatin1String("tabstops"), Qt::CaseInsensitive)) {
- DomTabStops *v = new DomTabStops();
+ auto *v = new DomTabStops();
v->read(reader);
setElementTabStops(v);
continue;
@@ -147,37 +147,37 @@ void DomUI::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("includes"), Qt::CaseInsensitive)) {
- DomIncludes *v = new DomIncludes();
+ auto *v = new DomIncludes();
v->read(reader);
setElementIncludes(v);
continue;
}
if (!tag.compare(QLatin1String("resources"), Qt::CaseInsensitive)) {
- DomResources *v = new DomResources();
+ auto *v = new DomResources();
v->read(reader);
setElementResources(v);
continue;
}
if (!tag.compare(QLatin1String("connections"), Qt::CaseInsensitive)) {
- DomConnections *v = new DomConnections();
+ auto *v = new DomConnections();
v->read(reader);
setElementConnections(v);
continue;
}
if (!tag.compare(QLatin1String("designerdata"), Qt::CaseInsensitive)) {
- DomDesignerData *v = new DomDesignerData();
+ auto *v = new DomDesignerData();
v->read(reader);
setElementDesignerdata(v);
continue;
}
if (!tag.compare(QLatin1String("slots"), Qt::CaseInsensitive)) {
- DomSlots *v = new DomSlots();
+ auto *v = new DomSlots();
v->read(reader);
setElementSlots(v);
continue;
}
if (!tag.compare(QLatin1String("buttongroups"), Qt::CaseInsensitive)) {
- DomButtonGroups *v = new DomButtonGroups();
+ auto *v = new DomButtonGroups();
v->read(reader);
setElementButtonGroups(v);
continue;
@@ -293,7 +293,7 @@ void DomUI::setElementClass(const QString &a)
DomWidget *DomUI::takeElementWidget()
{
DomWidget *a = m_widget;
- m_widget = 0;
+ m_widget = nullptr;
m_children ^= Widget;
return a;
}
@@ -308,7 +308,7 @@ void DomUI::setElementWidget(DomWidget *a)
DomLayoutDefault *DomUI::takeElementLayoutDefault()
{
DomLayoutDefault *a = m_layoutDefault;
- m_layoutDefault = 0;
+ m_layoutDefault = nullptr;
m_children ^= LayoutDefault;
return a;
}
@@ -323,7 +323,7 @@ void DomUI::setElementLayoutDefault(DomLayoutDefault *a)
DomLayoutFunction *DomUI::takeElementLayoutFunction()
{
DomLayoutFunction *a = m_layoutFunction;
- m_layoutFunction = 0;
+ m_layoutFunction = nullptr;
m_children ^= LayoutFunction;
return a;
}
@@ -344,7 +344,7 @@ void DomUI::setElementPixmapFunction(const QString &a)
DomCustomWidgets *DomUI::takeElementCustomWidgets()
{
DomCustomWidgets *a = m_customWidgets;
- m_customWidgets = 0;
+ m_customWidgets = nullptr;
m_children ^= CustomWidgets;
return a;
}
@@ -359,7 +359,7 @@ void DomUI::setElementCustomWidgets(DomCustomWidgets *a)
DomTabStops *DomUI::takeElementTabStops()
{
DomTabStops *a = m_tabStops;
- m_tabStops = 0;
+ m_tabStops = nullptr;
m_children ^= TabStops;
return a;
}
@@ -374,7 +374,7 @@ void DomUI::setElementTabStops(DomTabStops *a)
DomIncludes *DomUI::takeElementIncludes()
{
DomIncludes *a = m_includes;
- m_includes = 0;
+ m_includes = nullptr;
m_children ^= Includes;
return a;
}
@@ -389,7 +389,7 @@ void DomUI::setElementIncludes(DomIncludes *a)
DomResources *DomUI::takeElementResources()
{
DomResources *a = m_resources;
- m_resources = 0;
+ m_resources = nullptr;
m_children ^= Resources;
return a;
}
@@ -404,7 +404,7 @@ void DomUI::setElementResources(DomResources *a)
DomConnections *DomUI::takeElementConnections()
{
DomConnections *a = m_connections;
- m_connections = 0;
+ m_connections = nullptr;
m_children ^= Connections;
return a;
}
@@ -419,7 +419,7 @@ void DomUI::setElementConnections(DomConnections *a)
DomDesignerData *DomUI::takeElementDesignerdata()
{
DomDesignerData *a = m_designerdata;
- m_designerdata = 0;
+ m_designerdata = nullptr;
m_children ^= Designerdata;
return a;
}
@@ -434,7 +434,7 @@ void DomUI::setElementDesignerdata(DomDesignerData *a)
DomSlots *DomUI::takeElementSlots()
{
DomSlots *a = m_slots;
- m_slots = 0;
+ m_slots = nullptr;
m_children ^= Slots;
return a;
}
@@ -449,7 +449,7 @@ void DomUI::setElementSlots(DomSlots *a)
DomButtonGroups *DomUI::takeElementButtonGroups()
{
DomButtonGroups *a = m_buttonGroups;
- m_buttonGroups = 0;
+ m_buttonGroups = nullptr;
m_children ^= ButtonGroups;
return a;
}
@@ -484,21 +484,21 @@ void DomUI::clearElementClass()
void DomUI::clearElementWidget()
{
delete m_widget;
- m_widget = 0;
+ m_widget = nullptr;
m_children &= ~Widget;
}
void DomUI::clearElementLayoutDefault()
{
delete m_layoutDefault;
- m_layoutDefault = 0;
+ m_layoutDefault = nullptr;
m_children &= ~LayoutDefault;
}
void DomUI::clearElementLayoutFunction()
{
delete m_layoutFunction;
- m_layoutFunction = 0;
+ m_layoutFunction = nullptr;
m_children &= ~LayoutFunction;
}
@@ -510,56 +510,56 @@ void DomUI::clearElementPixmapFunction()
void DomUI::clearElementCustomWidgets()
{
delete m_customWidgets;
- m_customWidgets = 0;
+ m_customWidgets = nullptr;
m_children &= ~CustomWidgets;
}
void DomUI::clearElementTabStops()
{
delete m_tabStops;
- m_tabStops = 0;
+ m_tabStops = nullptr;
m_children &= ~TabStops;
}
void DomUI::clearElementIncludes()
{
delete m_includes;
- m_includes = 0;
+ m_includes = nullptr;
m_children &= ~Includes;
}
void DomUI::clearElementResources()
{
delete m_resources;
- m_resources = 0;
+ m_resources = nullptr;
m_children &= ~Resources;
}
void DomUI::clearElementConnections()
{
delete m_connections;
- m_connections = 0;
+ m_connections = nullptr;
m_children &= ~Connections;
}
void DomUI::clearElementDesignerdata()
{
delete m_designerdata;
- m_designerdata = 0;
+ m_designerdata = nullptr;
m_children &= ~Designerdata;
}
void DomUI::clearElementSlots()
{
delete m_slots;
- m_slots = 0;
+ m_slots = nullptr;
m_children &= ~Slots;
}
void DomUI::clearElementButtonGroups()
{
delete m_buttonGroups;
- m_buttonGroups = 0;
+ m_buttonGroups = nullptr;
m_children &= ~ButtonGroups;
}
@@ -576,7 +576,7 @@ void DomIncludes::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("include"), Qt::CaseInsensitive)) {
- DomInclude *v = new DomInclude();
+ auto *v = new DomInclude();
v->read(reader);
m_include.append(v);
continue;
@@ -608,9 +608,7 @@ void DomIncludes::setElementInclude(const QVector<DomInclude *> &a)
m_include = a;
}
-DomInclude::~DomInclude()
-{
-}
+DomInclude::~DomInclude() = default;
void DomInclude::read(QXmlStreamReader &reader)
{
@@ -686,7 +684,7 @@ void DomResources::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("include"), Qt::CaseInsensitive)) {
- DomResource *v = new DomResource();
+ auto *v = new DomResource();
v->read(reader);
m_include.append(v);
continue;
@@ -721,9 +719,7 @@ void DomResources::setElementInclude(const QVector<DomResource *> &a)
m_include = a;
}
-DomResource::~DomResource()
-{
-}
+DomResource::~DomResource() = default;
void DomResource::read(QXmlStreamReader &reader)
{
@@ -791,25 +787,25 @@ void DomActionGroup::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("action"), Qt::CaseInsensitive)) {
- DomAction *v = new DomAction();
+ auto *v = new DomAction();
v->read(reader);
m_action.append(v);
continue;
}
if (!tag.compare(QLatin1String("actiongroup"), Qt::CaseInsensitive)) {
- DomActionGroup *v = new DomActionGroup();
+ auto *v = new DomActionGroup();
v->read(reader);
m_actionGroup.append(v);
continue;
}
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
}
if (!tag.compare(QLatin1String("attribute"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_attribute.append(v);
continue;
@@ -900,13 +896,13 @@ void DomAction::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
}
if (!tag.compare(QLatin1String("attribute"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_attribute.append(v);
continue;
@@ -953,9 +949,7 @@ void DomAction::setElementAttribute(const QList<DomProperty *> &a)
m_attribute = a;
}
-DomActionRef::~DomActionRef()
-{
-}
+DomActionRef::~DomActionRef() = default;
void DomActionRef::read(QXmlStreamReader &reader)
{
@@ -1019,13 +1013,13 @@ void DomButtonGroup::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
}
if (!tag.compare(QLatin1String("attribute"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_attribute.append(v);
continue;
@@ -1082,7 +1076,7 @@ void DomButtonGroups::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("buttongroup"), Qt::CaseInsensitive)) {
- DomButtonGroup *v = new DomButtonGroup();
+ auto *v = new DomButtonGroup();
v->read(reader);
m_buttonGroup.append(v);
continue;
@@ -1127,7 +1121,7 @@ void DomCustomWidgets::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("customwidget"), Qt::CaseInsensitive)) {
- DomCustomWidget *v = new DomCustomWidget();
+ auto *v = new DomCustomWidget();
v->read(reader);
m_customWidget.append(v);
continue;
@@ -1159,9 +1153,7 @@ void DomCustomWidgets::setElementCustomWidget(const QVector<DomCustomWidget *> &
m_customWidget = a;
}
-DomHeader::~DomHeader()
-{
-}
+DomHeader::~DomHeader() = default;
void DomHeader::read(QXmlStreamReader &reader)
{
@@ -1230,13 +1222,13 @@ void DomCustomWidget::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("header"), Qt::CaseInsensitive)) {
- DomHeader *v = new DomHeader();
+ auto *v = new DomHeader();
v->read(reader);
setElementHeader(v);
continue;
}
if (!tag.compare(QLatin1String("sizehint"), Qt::CaseInsensitive)) {
- DomSize *v = new DomSize();
+ auto *v = new DomSize();
v->read(reader);
setElementSizeHint(v);
continue;
@@ -1269,13 +1261,13 @@ void DomCustomWidget::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("slots"), Qt::CaseInsensitive)) {
- DomSlots *v = new DomSlots();
+ auto *v = new DomSlots();
v->read(reader);
setElementSlots(v);
continue;
}
if (!tag.compare(QLatin1String("propertyspecifications"), Qt::CaseInsensitive)) {
- DomPropertySpecifications *v = new DomPropertySpecifications();
+ auto *v = new DomPropertySpecifications();
v->read(reader);
setElementPropertyspecifications(v);
continue;
@@ -1340,7 +1332,7 @@ void DomCustomWidget::setElementExtends(const QString &a)
DomHeader *DomCustomWidget::takeElementHeader()
{
DomHeader *a = m_header;
- m_header = 0;
+ m_header = nullptr;
m_children ^= Header;
return a;
}
@@ -1355,7 +1347,7 @@ void DomCustomWidget::setElementHeader(DomHeader *a)
DomSize *DomCustomWidget::takeElementSizeHint()
{
DomSize *a = m_sizeHint;
- m_sizeHint = 0;
+ m_sizeHint = nullptr;
m_children ^= SizeHint;
return a;
}
@@ -1388,7 +1380,7 @@ void DomCustomWidget::setElementPixmap(const QString &a)
DomSlots *DomCustomWidget::takeElementSlots()
{
DomSlots *a = m_slots;
- m_slots = 0;
+ m_slots = nullptr;
m_children ^= Slots;
return a;
}
@@ -1403,7 +1395,7 @@ void DomCustomWidget::setElementSlots(DomSlots *a)
DomPropertySpecifications *DomCustomWidget::takeElementPropertyspecifications()
{
DomPropertySpecifications *a = m_propertyspecifications;
- m_propertyspecifications = 0;
+ m_propertyspecifications = nullptr;
m_children ^= Propertyspecifications;
return a;
}
@@ -1428,14 +1420,14 @@ void DomCustomWidget::clearElementExtends()
void DomCustomWidget::clearElementHeader()
{
delete m_header;
- m_header = 0;
+ m_header = nullptr;
m_children &= ~Header;
}
void DomCustomWidget::clearElementSizeHint()
{
delete m_sizeHint;
- m_sizeHint = 0;
+ m_sizeHint = nullptr;
m_children &= ~SizeHint;
}
@@ -1457,20 +1449,18 @@ void DomCustomWidget::clearElementPixmap()
void DomCustomWidget::clearElementSlots()
{
delete m_slots;
- m_slots = 0;
+ m_slots = nullptr;
m_children &= ~Slots;
}
void DomCustomWidget::clearElementPropertyspecifications()
{
delete m_propertyspecifications;
- m_propertyspecifications = 0;
+ m_propertyspecifications = nullptr;
m_children &= ~Propertyspecifications;
}
-DomLayoutDefault::~DomLayoutDefault()
-{
-}
+DomLayoutDefault::~DomLayoutDefault() = default;
void DomLayoutDefault::read(QXmlStreamReader &reader)
{
@@ -1516,9 +1506,7 @@ void DomLayoutDefault::write(QXmlStreamWriter &writer, const QString &tagName) c
writer.writeEndElement();
}
-DomLayoutFunction::~DomLayoutFunction()
-{
-}
+DomLayoutFunction::~DomLayoutFunction() = default;
void DomLayoutFunction::read(QXmlStreamReader &reader)
{
@@ -1657,19 +1645,19 @@ void DomLayout::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
}
if (!tag.compare(QLatin1String("attribute"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_attribute.append(v);
continue;
}
if (!tag.compare(QLatin1String("item"), Qt::CaseInsensitive)) {
- DomLayoutItem *v = new DomLayoutItem();
+ auto *v = new DomLayoutItem();
v->read(reader);
m_item.append(v);
continue;
@@ -1793,19 +1781,19 @@ void DomLayoutItem::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("widget"), Qt::CaseInsensitive)) {
- DomWidget *v = new DomWidget();
+ auto *v = new DomWidget();
v->read(reader);
setElementWidget(v);
continue;
}
if (!tag.compare(QLatin1String("layout"), Qt::CaseInsensitive)) {
- DomLayout *v = new DomLayout();
+ auto *v = new DomLayout();
v->read(reader);
setElementLayout(v);
continue;
}
if (!tag.compare(QLatin1String("spacer"), Qt::CaseInsensitive)) {
- DomSpacer *v = new DomSpacer();
+ auto *v = new DomSpacer();
v->read(reader);
setElementSpacer(v);
continue;
@@ -1841,24 +1829,21 @@ void DomLayoutItem::write(QXmlStreamWriter &writer, const QString &tagName) cons
writer.writeAttribute(QStringLiteral("alignment"), attributeAlignment());
switch (kind()) {
- case Widget: {
- DomWidget *v = elementWidget();
- if (v != 0)
- v->write(writer, QStringLiteral("widget"));
+ case Widget:
+ if (m_widget != nullptr)
+ m_widget->write(writer, QStringLiteral("widget"));
break;
- }
- case Layout: {
- DomLayout *v = elementLayout();
- if (v != 0)
- v->write(writer, QStringLiteral("layout"));
+
+ case Layout:
+ if (m_layout != nullptr)
+ m_layout->write(writer, QStringLiteral("layout"));
break;
- }
- case Spacer: {
- DomSpacer *v = elementSpacer();
- if (v != 0)
- v->write(writer, QStringLiteral("spacer"));
+
+ case Spacer:
+ if (m_spacer != nullptr)
+ m_spacer->write(writer, QStringLiteral("spacer"));
break;
- }
+
default:
break;
}
@@ -1868,7 +1853,7 @@ void DomLayoutItem::write(QXmlStreamWriter &writer, const QString &tagName) cons
DomWidget *DomLayoutItem::takeElementWidget()
{
DomWidget *a = m_widget;
- m_widget = 0;
+ m_widget = nullptr;
return a;
}
@@ -1882,7 +1867,7 @@ void DomLayoutItem::setElementWidget(DomWidget *a)
DomLayout *DomLayoutItem::takeElementLayout()
{
DomLayout *a = m_layout;
- m_layout = 0;
+ m_layout = nullptr;
return a;
}
@@ -1896,7 +1881,7 @@ void DomLayoutItem::setElementLayout(DomLayout *a)
DomSpacer *DomLayoutItem::takeElementSpacer()
{
DomSpacer *a = m_spacer;
- m_spacer = 0;
+ m_spacer = nullptr;
return a;
}
@@ -1920,7 +1905,7 @@ void DomRow::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
@@ -1965,7 +1950,7 @@ void DomColumn::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
@@ -2026,13 +2011,13 @@ void DomItem::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
}
if (!tag.compare(QLatin1String("item"), Qt::CaseInsensitive)) {
- DomItem *v = new DomItem();
+ auto *v = new DomItem();
v->read(reader);
m_item.append(v);
continue;
@@ -2134,7 +2119,7 @@ void DomWidget::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
@@ -2150,55 +2135,55 @@ void DomWidget::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("attribute"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_attribute.append(v);
continue;
}
if (!tag.compare(QLatin1String("row"), Qt::CaseInsensitive)) {
- DomRow *v = new DomRow();
+ auto *v = new DomRow();
v->read(reader);
m_row.append(v);
continue;
}
if (!tag.compare(QLatin1String("column"), Qt::CaseInsensitive)) {
- DomColumn *v = new DomColumn();
+ auto *v = new DomColumn();
v->read(reader);
m_column.append(v);
continue;
}
if (!tag.compare(QLatin1String("item"), Qt::CaseInsensitive)) {
- DomItem *v = new DomItem();
+ auto *v = new DomItem();
v->read(reader);
m_item.append(v);
continue;
}
if (!tag.compare(QLatin1String("layout"), Qt::CaseInsensitive)) {
- DomLayout *v = new DomLayout();
+ auto *v = new DomLayout();
v->read(reader);
m_layout.append(v);
continue;
}
if (!tag.compare(QLatin1String("widget"), Qt::CaseInsensitive)) {
- DomWidget *v = new DomWidget();
+ auto *v = new DomWidget();
v->read(reader);
m_widget.append(v);
continue;
}
if (!tag.compare(QLatin1String("action"), Qt::CaseInsensitive)) {
- DomAction *v = new DomAction();
+ auto *v = new DomAction();
v->read(reader);
m_action.append(v);
continue;
}
if (!tag.compare(QLatin1String("actiongroup"), Qt::CaseInsensitive)) {
- DomActionGroup *v = new DomActionGroup();
+ auto *v = new DomActionGroup();
v->read(reader);
m_actionGroup.append(v);
continue;
}
if (!tag.compare(QLatin1String("addaction"), Qt::CaseInsensitive)) {
- DomActionRef *v = new DomActionRef();
+ auto *v = new DomActionRef();
v->read(reader);
m_addAction.append(v);
continue;
@@ -2365,7 +2350,7 @@ void DomSpacer::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
@@ -2400,9 +2385,7 @@ void DomSpacer::setElementProperty(const QList<DomProperty *> &a)
m_property = a;
}
-DomColor::~DomColor()
-{
-}
+DomColor::~DomColor() = default;
void DomColor::read(QXmlStreamReader &reader)
{
@@ -2517,7 +2500,7 @@ void DomGradientStop::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("color"), Qt::CaseInsensitive)) {
- DomColor *v = new DomColor();
+ auto *v = new DomColor();
v->read(reader);
setElementColor(v);
continue;
@@ -2549,7 +2532,7 @@ void DomGradientStop::write(QXmlStreamWriter &writer, const QString &tagName) co
DomColor *DomGradientStop::takeElementColor()
{
DomColor *a = m_color;
- m_color = 0;
+ m_color = nullptr;
m_children ^= Color;
return a;
}
@@ -2564,7 +2547,7 @@ void DomGradientStop::setElementColor(DomColor *a)
void DomGradientStop::clearElementColor()
{
delete m_color;
- m_color = 0;
+ m_color = nullptr;
m_children &= ~Color;
}
@@ -2639,7 +2622,7 @@ void DomGradient::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("gradientstop"), Qt::CaseInsensitive)) {
- DomGradientStop *v = new DomGradientStop();
+ auto *v = new DomGradientStop();
v->read(reader);
m_gradientStop.append(v);
continue;
@@ -2747,19 +2730,19 @@ void DomBrush::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("color"), Qt::CaseInsensitive)) {
- DomColor *v = new DomColor();
+ auto *v = new DomColor();
v->read(reader);
setElementColor(v);
continue;
}
if (!tag.compare(QLatin1String("texture"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
setElementTexture(v);
continue;
}
if (!tag.compare(QLatin1String("gradient"), Qt::CaseInsensitive)) {
- DomGradient *v = new DomGradient();
+ auto *v = new DomGradient();
v->read(reader);
setElementGradient(v);
continue;
@@ -2783,24 +2766,21 @@ void DomBrush::write(QXmlStreamWriter &writer, const QString &tagName) const
writer.writeAttribute(QStringLiteral("brushstyle"), attributeBrushStyle());
switch (kind()) {
- case Color: {
- DomColor *v = elementColor();
- if (v != 0)
- v->write(writer, QStringLiteral("color"));
+ case Color:
+ if (m_color != nullptr)
+ m_color->write(writer, QStringLiteral("color"));
break;
- }
- case Texture: {
- DomProperty *v = elementTexture();
- if (v != 0)
- v->write(writer, QStringLiteral("texture"));
+
+ case Texture:
+ if (m_texture != nullptr)
+ m_texture->write(writer, QStringLiteral("texture"));
break;
- }
- case Gradient: {
- DomGradient *v = elementGradient();
- if (v != 0)
- v->write(writer, QStringLiteral("gradient"));
+
+ case Gradient:
+ if (m_gradient != nullptr)
+ m_gradient->write(writer, QStringLiteral("gradient"));
break;
- }
+
default:
break;
}
@@ -2810,7 +2790,7 @@ void DomBrush::write(QXmlStreamWriter &writer, const QString &tagName) const
DomColor *DomBrush::takeElementColor()
{
DomColor *a = m_color;
- m_color = 0;
+ m_color = nullptr;
return a;
}
@@ -2824,7 +2804,7 @@ void DomBrush::setElementColor(DomColor *a)
DomProperty *DomBrush::takeElementTexture()
{
DomProperty *a = m_texture;
- m_texture = 0;
+ m_texture = nullptr;
return a;
}
@@ -2838,7 +2818,7 @@ void DomBrush::setElementTexture(DomProperty *a)
DomGradient *DomBrush::takeElementGradient()
{
DomGradient *a = m_gradient;
- m_gradient = 0;
+ m_gradient = nullptr;
return a;
}
@@ -2871,7 +2851,7 @@ void DomColorRole::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("brush"), Qt::CaseInsensitive)) {
- DomBrush *v = new DomBrush();
+ auto *v = new DomBrush();
v->read(reader);
setElementBrush(v);
continue;
@@ -2903,7 +2883,7 @@ void DomColorRole::write(QXmlStreamWriter &writer, const QString &tagName) const
DomBrush *DomColorRole::takeElementBrush()
{
DomBrush *a = m_brush;
- m_brush = 0;
+ m_brush = nullptr;
m_children ^= Brush;
return a;
}
@@ -2918,7 +2898,7 @@ void DomColorRole::setElementBrush(DomBrush *a)
void DomColorRole::clearElementBrush()
{
delete m_brush;
- m_brush = 0;
+ m_brush = nullptr;
m_children &= ~Brush;
}
@@ -2937,13 +2917,13 @@ void DomColorGroup::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("colorrole"), Qt::CaseInsensitive)) {
- DomColorRole *v = new DomColorRole();
+ auto *v = new DomColorRole();
v->read(reader);
m_colorRole.append(v);
continue;
}
if (!tag.compare(QLatin1String("color"), Qt::CaseInsensitive)) {
- DomColor *v = new DomColor();
+ auto *v = new DomColor();
v->read(reader);
m_color.append(v);
continue;
@@ -2998,19 +2978,19 @@ void DomPalette::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("active"), Qt::CaseInsensitive)) {
- DomColorGroup *v = new DomColorGroup();
+ auto *v = new DomColorGroup();
v->read(reader);
setElementActive(v);
continue;
}
if (!tag.compare(QLatin1String("inactive"), Qt::CaseInsensitive)) {
- DomColorGroup *v = new DomColorGroup();
+ auto *v = new DomColorGroup();
v->read(reader);
setElementInactive(v);
continue;
}
if (!tag.compare(QLatin1String("disabled"), Qt::CaseInsensitive)) {
- DomColorGroup *v = new DomColorGroup();
+ auto *v = new DomColorGroup();
v->read(reader);
setElementDisabled(v);
continue;
@@ -3045,7 +3025,7 @@ void DomPalette::write(QXmlStreamWriter &writer, const QString &tagName) const
DomColorGroup *DomPalette::takeElementActive()
{
DomColorGroup *a = m_active;
- m_active = 0;
+ m_active = nullptr;
m_children ^= Active;
return a;
}
@@ -3060,7 +3040,7 @@ void DomPalette::setElementActive(DomColorGroup *a)
DomColorGroup *DomPalette::takeElementInactive()
{
DomColorGroup *a = m_inactive;
- m_inactive = 0;
+ m_inactive = nullptr;
m_children ^= Inactive;
return a;
}
@@ -3075,7 +3055,7 @@ void DomPalette::setElementInactive(DomColorGroup *a)
DomColorGroup *DomPalette::takeElementDisabled()
{
DomColorGroup *a = m_disabled;
- m_disabled = 0;
+ m_disabled = nullptr;
m_children ^= Disabled;
return a;
}
@@ -3090,27 +3070,25 @@ void DomPalette::setElementDisabled(DomColorGroup *a)
void DomPalette::clearElementActive()
{
delete m_active;
- m_active = 0;
+ m_active = nullptr;
m_children &= ~Active;
}
void DomPalette::clearElementInactive()
{
delete m_inactive;
- m_inactive = 0;
+ m_inactive = nullptr;
m_children &= ~Inactive;
}
void DomPalette::clearElementDisabled()
{
delete m_disabled;
- m_disabled = 0;
+ m_disabled = nullptr;
m_children &= ~Disabled;
}
-DomFont::~DomFont()
-{
-}
+DomFont::~DomFont() = default;
void DomFont::read(QXmlStreamReader &reader)
{
@@ -3316,9 +3294,7 @@ void DomFont::clearElementKerning()
m_children &= ~Kerning;
}
-DomPoint::~DomPoint()
-{
-}
+DomPoint::~DomPoint() = default;
void DomPoint::read(QXmlStreamReader &reader)
{
@@ -3380,9 +3356,7 @@ void DomPoint::clearElementY()
m_children &= ~Y;
}
-DomRect::~DomRect()
-{
-}
+DomRect::~DomRect() = default;
void DomRect::read(QXmlStreamReader &reader)
{
@@ -3480,9 +3454,7 @@ void DomRect::clearElementHeight()
m_children &= ~Height;
}
-DomLocale::~DomLocale()
-{
-}
+DomLocale::~DomLocale() = default;
void DomLocale::read(QXmlStreamReader &reader)
{
@@ -3528,9 +3500,7 @@ void DomLocale::write(QXmlStreamWriter &writer, const QString &tagName) const
writer.writeEndElement();
}
-DomSizePolicy::~DomSizePolicy()
-{
-}
+DomSizePolicy::~DomSizePolicy() = default;
void DomSizePolicy::read(QXmlStreamReader &reader)
{
@@ -3648,9 +3618,7 @@ void DomSizePolicy::clearElementVerStretch()
m_children &= ~VerStretch;
}
-DomSize::~DomSize()
-{
-}
+DomSize::~DomSize() = default;
void DomSize::read(QXmlStreamReader &reader)
{
@@ -3712,9 +3680,7 @@ void DomSize::clearElementHeight()
m_children &= ~Height;
}
-DomDate::~DomDate()
-{
-}
+DomDate::~DomDate() = default;
void DomDate::read(QXmlStreamReader &reader)
{
@@ -3794,9 +3760,7 @@ void DomDate::clearElementDay()
m_children &= ~Day;
}
-DomTime::~DomTime()
-{
-}
+DomTime::~DomTime() = default;
void DomTime::read(QXmlStreamReader &reader)
{
@@ -3876,9 +3840,7 @@ void DomTime::clearElementSecond()
m_children &= ~Second;
}
-DomDateTime::~DomDateTime()
-{
-}
+DomDateTime::~DomDateTime() = default;
void DomDateTime::read(QXmlStreamReader &reader)
{
@@ -4088,9 +4050,7 @@ void DomStringList::setElementString(const QStringList &a)
m_string = a;
}
-DomResourcePixmap::~DomResourcePixmap()
-{
-}
+DomResourcePixmap::~DomResourcePixmap() = default;
void DomResourcePixmap::read(QXmlStreamReader &reader)
{
@@ -4176,49 +4136,49 @@ void DomResourceIcon::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("normaloff"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementNormalOff(v);
continue;
}
if (!tag.compare(QLatin1String("normalon"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementNormalOn(v);
continue;
}
if (!tag.compare(QLatin1String("disabledoff"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementDisabledOff(v);
continue;
}
if (!tag.compare(QLatin1String("disabledon"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementDisabledOn(v);
continue;
}
if (!tag.compare(QLatin1String("activeoff"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementActiveOff(v);
continue;
}
if (!tag.compare(QLatin1String("activeon"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementActiveOn(v);
continue;
}
if (!tag.compare(QLatin1String("selectedoff"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementSelectedOff(v);
continue;
}
if (!tag.compare(QLatin1String("selectedon"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementSelectedOn(v);
continue;
@@ -4281,7 +4241,7 @@ void DomResourceIcon::write(QXmlStreamWriter &writer, const QString &tagName) co
DomResourcePixmap *DomResourceIcon::takeElementNormalOff()
{
DomResourcePixmap *a = m_normalOff;
- m_normalOff = 0;
+ m_normalOff = nullptr;
m_children ^= NormalOff;
return a;
}
@@ -4296,7 +4256,7 @@ void DomResourceIcon::setElementNormalOff(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementNormalOn()
{
DomResourcePixmap *a = m_normalOn;
- m_normalOn = 0;
+ m_normalOn = nullptr;
m_children ^= NormalOn;
return a;
}
@@ -4311,7 +4271,7 @@ void DomResourceIcon::setElementNormalOn(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementDisabledOff()
{
DomResourcePixmap *a = m_disabledOff;
- m_disabledOff = 0;
+ m_disabledOff = nullptr;
m_children ^= DisabledOff;
return a;
}
@@ -4326,7 +4286,7 @@ void DomResourceIcon::setElementDisabledOff(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementDisabledOn()
{
DomResourcePixmap *a = m_disabledOn;
- m_disabledOn = 0;
+ m_disabledOn = nullptr;
m_children ^= DisabledOn;
return a;
}
@@ -4341,7 +4301,7 @@ void DomResourceIcon::setElementDisabledOn(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementActiveOff()
{
DomResourcePixmap *a = m_activeOff;
- m_activeOff = 0;
+ m_activeOff = nullptr;
m_children ^= ActiveOff;
return a;
}
@@ -4356,7 +4316,7 @@ void DomResourceIcon::setElementActiveOff(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementActiveOn()
{
DomResourcePixmap *a = m_activeOn;
- m_activeOn = 0;
+ m_activeOn = nullptr;
m_children ^= ActiveOn;
return a;
}
@@ -4371,7 +4331,7 @@ void DomResourceIcon::setElementActiveOn(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementSelectedOff()
{
DomResourcePixmap *a = m_selectedOff;
- m_selectedOff = 0;
+ m_selectedOff = nullptr;
m_children ^= SelectedOff;
return a;
}
@@ -4386,7 +4346,7 @@ void DomResourceIcon::setElementSelectedOff(DomResourcePixmap *a)
DomResourcePixmap *DomResourceIcon::takeElementSelectedOn()
{
DomResourcePixmap *a = m_selectedOn;
- m_selectedOn = 0;
+ m_selectedOn = nullptr;
m_children ^= SelectedOn;
return a;
}
@@ -4401,62 +4361,60 @@ void DomResourceIcon::setElementSelectedOn(DomResourcePixmap *a)
void DomResourceIcon::clearElementNormalOff()
{
delete m_normalOff;
- m_normalOff = 0;
+ m_normalOff = nullptr;
m_children &= ~NormalOff;
}
void DomResourceIcon::clearElementNormalOn()
{
delete m_normalOn;
- m_normalOn = 0;
+ m_normalOn = nullptr;
m_children &= ~NormalOn;
}
void DomResourceIcon::clearElementDisabledOff()
{
delete m_disabledOff;
- m_disabledOff = 0;
+ m_disabledOff = nullptr;
m_children &= ~DisabledOff;
}
void DomResourceIcon::clearElementDisabledOn()
{
delete m_disabledOn;
- m_disabledOn = 0;
+ m_disabledOn = nullptr;
m_children &= ~DisabledOn;
}
void DomResourceIcon::clearElementActiveOff()
{
delete m_activeOff;
- m_activeOff = 0;
+ m_activeOff = nullptr;
m_children &= ~ActiveOff;
}
void DomResourceIcon::clearElementActiveOn()
{
delete m_activeOn;
- m_activeOn = 0;
+ m_activeOn = nullptr;
m_children &= ~ActiveOn;
}
void DomResourceIcon::clearElementSelectedOff()
{
delete m_selectedOff;
- m_selectedOff = 0;
+ m_selectedOff = nullptr;
m_children &= ~SelectedOff;
}
void DomResourceIcon::clearElementSelectedOn()
{
delete m_selectedOn;
- m_selectedOn = 0;
+ m_selectedOn = nullptr;
m_children &= ~SelectedOn;
}
-DomString::~DomString()
-{
-}
+DomString::~DomString() = default;
void DomString::read(QXmlStreamReader &reader)
{
@@ -4523,9 +4481,7 @@ void DomString::write(QXmlStreamWriter &writer, const QString &tagName) const
writer.writeEndElement();
}
-DomPointF::~DomPointF()
-{
-}
+DomPointF::~DomPointF() = default;
void DomPointF::read(QXmlStreamReader &reader)
{
@@ -4587,9 +4543,7 @@ void DomPointF::clearElementY()
m_children &= ~Y;
}
-DomRectF::~DomRectF()
-{
-}
+DomRectF::~DomRectF() = default;
void DomRectF::read(QXmlStreamReader &reader)
{
@@ -4687,9 +4641,7 @@ void DomRectF::clearElementHeight()
m_children &= ~Height;
}
-DomSizeF::~DomSizeF()
-{
-}
+DomSizeF::~DomSizeF() = default;
void DomSizeF::read(QXmlStreamReader &reader)
{
@@ -4751,9 +4703,7 @@ void DomSizeF::clearElementHeight()
m_children &= ~Height;
}
-DomChar::~DomChar()
-{
-}
+DomChar::~DomChar() = default;
void DomChar::read(QXmlStreamReader &reader)
{
@@ -4809,7 +4759,7 @@ void DomUrl::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("string"), Qt::CaseInsensitive)) {
- DomString *v = new DomString();
+ auto *v = new DomString();
v->read(reader);
setElementString(v);
continue;
@@ -4838,7 +4788,7 @@ void DomUrl::write(QXmlStreamWriter &writer, const QString &tagName) const
DomString *DomUrl::takeElementString()
{
DomString *a = m_string;
- m_string = 0;
+ m_string = nullptr;
m_children ^= String;
return a;
}
@@ -4853,7 +4803,7 @@ void DomUrl::setElementString(DomString *a)
void DomUrl::clearElementString()
{
delete m_string;
- m_string = 0;
+ m_string = nullptr;
m_children &= ~String;
}
@@ -4963,7 +4913,7 @@ void DomProperty::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("color"), Qt::CaseInsensitive)) {
- DomColor *v = new DomColor();
+ auto *v = new DomColor();
v->read(reader);
setElementColor(v);
continue;
@@ -4985,37 +4935,37 @@ void DomProperty::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("font"), Qt::CaseInsensitive)) {
- DomFont *v = new DomFont();
+ auto *v = new DomFont();
v->read(reader);
setElementFont(v);
continue;
}
if (!tag.compare(QLatin1String("iconset"), Qt::CaseInsensitive)) {
- DomResourceIcon *v = new DomResourceIcon();
+ auto *v = new DomResourceIcon();
v->read(reader);
setElementIconSet(v);
continue;
}
if (!tag.compare(QLatin1String("pixmap"), Qt::CaseInsensitive)) {
- DomResourcePixmap *v = new DomResourcePixmap();
+ auto *v = new DomResourcePixmap();
v->read(reader);
setElementPixmap(v);
continue;
}
if (!tag.compare(QLatin1String("palette"), Qt::CaseInsensitive)) {
- DomPalette *v = new DomPalette();
+ auto *v = new DomPalette();
v->read(reader);
setElementPalette(v);
continue;
}
if (!tag.compare(QLatin1String("point"), Qt::CaseInsensitive)) {
- DomPoint *v = new DomPoint();
+ auto *v = new DomPoint();
v->read(reader);
setElementPoint(v);
continue;
}
if (!tag.compare(QLatin1String("rect"), Qt::CaseInsensitive)) {
- DomRect *v = new DomRect();
+ auto *v = new DomRect();
v->read(reader);
setElementRect(v);
continue;
@@ -5025,31 +4975,31 @@ void DomProperty::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("locale"), Qt::CaseInsensitive)) {
- DomLocale *v = new DomLocale();
+ auto *v = new DomLocale();
v->read(reader);
setElementLocale(v);
continue;
}
if (!tag.compare(QLatin1String("sizepolicy"), Qt::CaseInsensitive)) {
- DomSizePolicy *v = new DomSizePolicy();
+ auto *v = new DomSizePolicy();
v->read(reader);
setElementSizePolicy(v);
continue;
}
if (!tag.compare(QLatin1String("size"), Qt::CaseInsensitive)) {
- DomSize *v = new DomSize();
+ auto *v = new DomSize();
v->read(reader);
setElementSize(v);
continue;
}
if (!tag.compare(QLatin1String("string"), Qt::CaseInsensitive)) {
- DomString *v = new DomString();
+ auto *v = new DomString();
v->read(reader);
setElementString(v);
continue;
}
if (!tag.compare(QLatin1String("stringlist"), Qt::CaseInsensitive)) {
- DomStringList *v = new DomStringList();
+ auto *v = new DomStringList();
v->read(reader);
setElementStringList(v);
continue;
@@ -5067,37 +5017,37 @@ void DomProperty::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("date"), Qt::CaseInsensitive)) {
- DomDate *v = new DomDate();
+ auto *v = new DomDate();
v->read(reader);
setElementDate(v);
continue;
}
if (!tag.compare(QLatin1String("time"), Qt::CaseInsensitive)) {
- DomTime *v = new DomTime();
+ auto *v = new DomTime();
v->read(reader);
setElementTime(v);
continue;
}
if (!tag.compare(QLatin1String("datetime"), Qt::CaseInsensitive)) {
- DomDateTime *v = new DomDateTime();
+ auto *v = new DomDateTime();
v->read(reader);
setElementDateTime(v);
continue;
}
if (!tag.compare(QLatin1String("pointf"), Qt::CaseInsensitive)) {
- DomPointF *v = new DomPointF();
+ auto *v = new DomPointF();
v->read(reader);
setElementPointF(v);
continue;
}
if (!tag.compare(QLatin1String("rectf"), Qt::CaseInsensitive)) {
- DomRectF *v = new DomRectF();
+ auto *v = new DomRectF();
v->read(reader);
setElementRectF(v);
continue;
}
if (!tag.compare(QLatin1String("sizef"), Qt::CaseInsensitive)) {
- DomSizeF *v = new DomSizeF();
+ auto *v = new DomSizeF();
v->read(reader);
setElementSizeF(v);
continue;
@@ -5107,13 +5057,13 @@ void DomProperty::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("char"), Qt::CaseInsensitive)) {
- DomChar *v = new DomChar();
+ auto *v = new DomChar();
v->read(reader);
setElementChar(v);
continue;
}
if (!tag.compare(QLatin1String("url"), Qt::CaseInsensitive)) {
- DomUrl *v = new DomUrl();
+ auto *v = new DomUrl();
v->read(reader);
setElementUrl(v);
continue;
@@ -5127,7 +5077,7 @@ void DomProperty::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("brush"), Qt::CaseInsensitive)) {
- DomBrush *v = new DomBrush();
+ auto *v = new DomBrush();
v->read(reader);
setElementBrush(v);
continue;
@@ -5154,180 +5104,159 @@ void DomProperty::write(QXmlStreamWriter &writer, const QString &tagName) const
writer.writeAttribute(QStringLiteral("stdset"), QString::number(attributeStdset()));
switch (kind()) {
- case Bool: {
+ case Bool:
writer.writeTextElement(QStringLiteral("bool"), elementBool());
break;
- }
- case Color: {
- DomColor *v = elementColor();
- if (v != 0)
- v->write(writer, QStringLiteral("color"));
+
+ case Color:
+ if (m_color != nullptr)
+ m_color->write(writer, QStringLiteral("color"));
break;
- }
- case Cstring: {
+
+ case Cstring:
writer.writeTextElement(QStringLiteral("cstring"), elementCstring());
break;
- }
- case Cursor: {
+
+ case Cursor:
writer.writeTextElement(QStringLiteral("cursor"), QString::number(elementCursor()));
break;
- }
- case CursorShape: {
+
+ case CursorShape:
writer.writeTextElement(QStringLiteral("cursorShape"), elementCursorShape());
break;
- }
- case Enum: {
+
+ case Enum:
writer.writeTextElement(QStringLiteral("enum"), elementEnum());
break;
- }
- case Font: {
- DomFont *v = elementFont();
- if (v != 0)
- v->write(writer, QStringLiteral("font"));
+
+ case Font:
+ if (m_font != nullptr)
+ m_font->write(writer, QStringLiteral("font"));
break;
- }
- case IconSet: {
- DomResourceIcon *v = elementIconSet();
- if (v != 0)
- v->write(writer, QStringLiteral("iconset"));
+
+ case IconSet:
+ if (m_iconSet != nullptr)
+ m_iconSet->write(writer, QStringLiteral("iconset"));
break;
- }
- case Pixmap: {
- DomResourcePixmap *v = elementPixmap();
- if (v != 0)
- v->write(writer, QStringLiteral("pixmap"));
+
+ case Pixmap:
+ if (m_pixmap != nullptr)
+ m_pixmap->write(writer, QStringLiteral("pixmap"));
break;
- }
- case Palette: {
- DomPalette *v = elementPalette();
- if (v != 0)
- v->write(writer, QStringLiteral("palette"));
+
+ case Palette:
+ if (m_palette != nullptr)
+ m_palette->write(writer, QStringLiteral("palette"));
break;
- }
- case Point: {
- DomPoint *v = elementPoint();
- if (v != 0)
- v->write(writer, QStringLiteral("point"));
+
+ case Point:
+ if (m_point != nullptr)
+ m_point->write(writer, QStringLiteral("point"));
break;
- }
- case Rect: {
- DomRect *v = elementRect();
- if (v != 0)
- v->write(writer, QStringLiteral("rect"));
+
+ case Rect:
+ if (m_rect != nullptr)
+ m_rect->write(writer, QStringLiteral("rect"));
break;
- }
- case Set: {
+
+ case Set:
writer.writeTextElement(QStringLiteral("set"), elementSet());
break;
- }
- case Locale: {
- DomLocale *v = elementLocale();
- if (v != 0)
- v->write(writer, QStringLiteral("locale"));
+
+ case Locale:
+ if (m_locale != nullptr)
+ m_locale->write(writer, QStringLiteral("locale"));
break;
- }
- case SizePolicy: {
- DomSizePolicy *v = elementSizePolicy();
- if (v != 0)
- v->write(writer, QStringLiteral("sizepolicy"));
+
+ case SizePolicy:
+ if (m_sizePolicy != nullptr)
+ m_sizePolicy->write(writer, QStringLiteral("sizepolicy"));
break;
- }
- case Size: {
- DomSize *v = elementSize();
- if (v != 0)
- v->write(writer, QStringLiteral("size"));
+
+ case Size:
+ if (m_size != nullptr)
+ m_size->write(writer, QStringLiteral("size"));
break;
- }
- case String: {
- DomString *v = elementString();
- if (v != 0)
- v->write(writer, QStringLiteral("string"));
+
+ case String:
+ if (m_string != nullptr)
+ m_string->write(writer, QStringLiteral("string"));
break;
- }
- case StringList: {
- DomStringList *v = elementStringList();
- if (v != 0)
- v->write(writer, QStringLiteral("stringlist"));
+
+ case StringList:
+ if (m_stringList != nullptr)
+ m_stringList->write(writer, QStringLiteral("stringlist"));
break;
- }
- case Number: {
+
+ case Number:
writer.writeTextElement(QStringLiteral("number"), QString::number(elementNumber()));
break;
- }
- case Float: {
+
+ case Float:
writer.writeTextElement(QStringLiteral("float"), QString::number(elementFloat(), 'f', 8));
break;
- }
- case Double: {
+
+ case Double:
writer.writeTextElement(QStringLiteral("double"), QString::number(elementDouble(), 'f', 15));
break;
- }
- case Date: {
- DomDate *v = elementDate();
- if (v != 0)
- v->write(writer, QStringLiteral("date"));
+
+ case Date:
+ if (m_date != nullptr)
+ m_date->write(writer, QStringLiteral("date"));
break;
- }
- case Time: {
- DomTime *v = elementTime();
- if (v != 0)
- v->write(writer, QStringLiteral("time"));
+
+ case Time:
+ if (m_time != nullptr)
+ m_time->write(writer, QStringLiteral("time"));
break;
- }
- case DateTime: {
- DomDateTime *v = elementDateTime();
- if (v != 0)
- v->write(writer, QStringLiteral("datetime"));
+
+ case DateTime:
+ if (m_dateTime != nullptr)
+ m_dateTime->write(writer, QStringLiteral("datetime"));
break;
- }
- case PointF: {
- DomPointF *v = elementPointF();
- if (v != 0)
- v->write(writer, QStringLiteral("pointf"));
+
+ case PointF:
+ if (m_pointF != nullptr)
+ m_pointF->write(writer, QStringLiteral("pointf"));
break;
- }
- case RectF: {
- DomRectF *v = elementRectF();
- if (v != 0)
- v->write(writer, QStringLiteral("rectf"));
+
+ case RectF:
+ if (m_rectF != nullptr)
+ m_rectF->write(writer, QStringLiteral("rectf"));
break;
- }
- case SizeF: {
- DomSizeF *v = elementSizeF();
- if (v != 0)
- v->write(writer, QStringLiteral("sizef"));
+
+ case SizeF:
+ if (m_sizeF != nullptr)
+ m_sizeF->write(writer, QStringLiteral("sizef"));
break;
- }
- case LongLong: {
+
+ case LongLong:
writer.writeTextElement(QStringLiteral("longLong"), QString::number(elementLongLong()));
break;
- }
- case Char: {
- DomChar *v = elementChar();
- if (v != 0)
- v->write(writer, QStringLiteral("char"));
+
+ case Char:
+ if (m_char != nullptr)
+ m_char->write(writer, QStringLiteral("char"));
break;
- }
- case Url: {
- DomUrl *v = elementUrl();
- if (v != 0)
- v->write(writer, QStringLiteral("url"));
+
+ case Url:
+ if (m_url != nullptr)
+ m_url->write(writer, QStringLiteral("url"));
break;
- }
- case UInt: {
+
+ case UInt:
writer.writeTextElement(QStringLiteral("UInt"), QString::number(elementUInt()));
break;
- }
- case ULongLong: {
+
+ case ULongLong:
writer.writeTextElement(QStringLiteral("uLongLong"), QString::number(elementULongLong()));
break;
- }
- case Brush: {
- DomBrush *v = elementBrush();
- if (v != 0)
- v->write(writer, QStringLiteral("brush"));
+
+ case Brush:
+ if (m_brush != nullptr)
+ m_brush->write(writer, QStringLiteral("brush"));
break;
- }
+
default:
break;
}
@@ -5344,7 +5273,7 @@ void DomProperty::setElementBool(const QString &a)
DomColor *DomProperty::takeElementColor()
{
DomColor *a = m_color;
- m_color = 0;
+ m_color = nullptr;
return a;
}
@@ -5386,7 +5315,7 @@ void DomProperty::setElementEnum(const QString &a)
DomFont *DomProperty::takeElementFont()
{
DomFont *a = m_font;
- m_font = 0;
+ m_font = nullptr;
return a;
}
@@ -5400,7 +5329,7 @@ void DomProperty::setElementFont(DomFont *a)
DomResourceIcon *DomProperty::takeElementIconSet()
{
DomResourceIcon *a = m_iconSet;
- m_iconSet = 0;
+ m_iconSet = nullptr;
return a;
}
@@ -5414,7 +5343,7 @@ void DomProperty::setElementIconSet(DomResourceIcon *a)
DomResourcePixmap *DomProperty::takeElementPixmap()
{
DomResourcePixmap *a = m_pixmap;
- m_pixmap = 0;
+ m_pixmap = nullptr;
return a;
}
@@ -5428,7 +5357,7 @@ void DomProperty::setElementPixmap(DomResourcePixmap *a)
DomPalette *DomProperty::takeElementPalette()
{
DomPalette *a = m_palette;
- m_palette = 0;
+ m_palette = nullptr;
return a;
}
@@ -5442,7 +5371,7 @@ void DomProperty::setElementPalette(DomPalette *a)
DomPoint *DomProperty::takeElementPoint()
{
DomPoint *a = m_point;
- m_point = 0;
+ m_point = nullptr;
return a;
}
@@ -5456,7 +5385,7 @@ void DomProperty::setElementPoint(DomPoint *a)
DomRect *DomProperty::takeElementRect()
{
DomRect *a = m_rect;
- m_rect = 0;
+ m_rect = nullptr;
return a;
}
@@ -5477,7 +5406,7 @@ void DomProperty::setElementSet(const QString &a)
DomLocale *DomProperty::takeElementLocale()
{
DomLocale *a = m_locale;
- m_locale = 0;
+ m_locale = nullptr;
return a;
}
@@ -5491,7 +5420,7 @@ void DomProperty::setElementLocale(DomLocale *a)
DomSizePolicy *DomProperty::takeElementSizePolicy()
{
DomSizePolicy *a = m_sizePolicy;
- m_sizePolicy = 0;
+ m_sizePolicy = nullptr;
return a;
}
@@ -5505,7 +5434,7 @@ void DomProperty::setElementSizePolicy(DomSizePolicy *a)
DomSize *DomProperty::takeElementSize()
{
DomSize *a = m_size;
- m_size = 0;
+ m_size = nullptr;
return a;
}
@@ -5519,7 +5448,7 @@ void DomProperty::setElementSize(DomSize *a)
DomString *DomProperty::takeElementString()
{
DomString *a = m_string;
- m_string = 0;
+ m_string = nullptr;
return a;
}
@@ -5533,7 +5462,7 @@ void DomProperty::setElementString(DomString *a)
DomStringList *DomProperty::takeElementStringList()
{
DomStringList *a = m_stringList;
- m_stringList = 0;
+ m_stringList = nullptr;
return a;
}
@@ -5568,7 +5497,7 @@ void DomProperty::setElementDouble(double a)
DomDate *DomProperty::takeElementDate()
{
DomDate *a = m_date;
- m_date = 0;
+ m_date = nullptr;
return a;
}
@@ -5582,7 +5511,7 @@ void DomProperty::setElementDate(DomDate *a)
DomTime *DomProperty::takeElementTime()
{
DomTime *a = m_time;
- m_time = 0;
+ m_time = nullptr;
return a;
}
@@ -5596,7 +5525,7 @@ void DomProperty::setElementTime(DomTime *a)
DomDateTime *DomProperty::takeElementDateTime()
{
DomDateTime *a = m_dateTime;
- m_dateTime = 0;
+ m_dateTime = nullptr;
return a;
}
@@ -5610,7 +5539,7 @@ void DomProperty::setElementDateTime(DomDateTime *a)
DomPointF *DomProperty::takeElementPointF()
{
DomPointF *a = m_pointF;
- m_pointF = 0;
+ m_pointF = nullptr;
return a;
}
@@ -5624,7 +5553,7 @@ void DomProperty::setElementPointF(DomPointF *a)
DomRectF *DomProperty::takeElementRectF()
{
DomRectF *a = m_rectF;
- m_rectF = 0;
+ m_rectF = nullptr;
return a;
}
@@ -5638,7 +5567,7 @@ void DomProperty::setElementRectF(DomRectF *a)
DomSizeF *DomProperty::takeElementSizeF()
{
DomSizeF *a = m_sizeF;
- m_sizeF = 0;
+ m_sizeF = nullptr;
return a;
}
@@ -5659,7 +5588,7 @@ void DomProperty::setElementLongLong(qlonglong a)
DomChar *DomProperty::takeElementChar()
{
DomChar *a = m_char;
- m_char = 0;
+ m_char = nullptr;
return a;
}
@@ -5673,7 +5602,7 @@ void DomProperty::setElementChar(DomChar *a)
DomUrl *DomProperty::takeElementUrl()
{
DomUrl *a = m_url;
- m_url = 0;
+ m_url = nullptr;
return a;
}
@@ -5701,7 +5630,7 @@ void DomProperty::setElementULongLong(qulonglong a)
DomBrush *DomProperty::takeElementBrush()
{
DomBrush *a = m_brush;
- m_brush = 0;
+ m_brush = nullptr;
return a;
}
@@ -5725,7 +5654,7 @@ void DomConnections::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("connection"), Qt::CaseInsensitive)) {
- DomConnection *v = new DomConnection();
+ auto *v = new DomConnection();
v->read(reader);
m_connection.append(v);
continue;
@@ -5785,7 +5714,7 @@ void DomConnection::read(QXmlStreamReader &reader)
continue;
}
if (!tag.compare(QLatin1String("hints"), Qt::CaseInsensitive)) {
- DomConnectionHints *v = new DomConnectionHints();
+ auto *v = new DomConnectionHints();
v->read(reader);
setElementHints(v);
continue;
@@ -5850,7 +5779,7 @@ void DomConnection::setElementSlot(const QString &a)
DomConnectionHints *DomConnection::takeElementHints()
{
DomConnectionHints *a = m_hints;
- m_hints = 0;
+ m_hints = nullptr;
m_children ^= Hints;
return a;
}
@@ -5885,7 +5814,7 @@ void DomConnection::clearElementSlot()
void DomConnection::clearElementHints()
{
delete m_hints;
- m_hints = 0;
+ m_hints = nullptr;
m_children &= ~Hints;
}
@@ -5902,7 +5831,7 @@ void DomConnectionHints::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("hint"), Qt::CaseInsensitive)) {
- DomConnectionHint *v = new DomConnectionHint();
+ auto *v = new DomConnectionHint();
v->read(reader);
m_hint.append(v);
continue;
@@ -5934,9 +5863,7 @@ void DomConnectionHints::setElementHint(const QVector<DomConnectionHint *> &a)
m_hint = a;
}
-DomConnectionHint::~DomConnectionHint()
-{
-}
+DomConnectionHint::~DomConnectionHint() = default;
void DomConnectionHint::read(QXmlStreamReader &reader)
{
@@ -6024,7 +5951,7 @@ void DomDesignerData::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("property"), Qt::CaseInsensitive)) {
- DomProperty *v = new DomProperty();
+ auto *v = new DomProperty();
v->read(reader);
m_property.append(v);
continue;
@@ -6127,13 +6054,13 @@ void DomPropertySpecifications::read(QXmlStreamReader &reader)
case QXmlStreamReader::StartElement : {
const QStringRef tag = reader.name();
if (!tag.compare(QLatin1String("tooltip"), Qt::CaseInsensitive)) {
- DomPropertyToolTip *v = new DomPropertyToolTip();
+ auto *v = new DomPropertyToolTip();
v->read(reader);
m_tooltip.append(v);
continue;
}
if (!tag.compare(QLatin1String("stringpropertyspecification"), Qt::CaseInsensitive)) {
- DomStringPropertySpecification *v = new DomStringPropertySpecification();
+ auto *v = new DomStringPropertySpecification();
v->read(reader);
m_stringpropertyspecification.append(v);
continue;
@@ -6174,9 +6101,7 @@ void DomPropertySpecifications::setElementStringpropertyspecification(const QVec
m_stringpropertyspecification = a;
}
-DomPropertyToolTip::~DomPropertyToolTip()
-{
-}
+DomPropertyToolTip::~DomPropertyToolTip() = default;
void DomPropertyToolTip::read(QXmlStreamReader &reader)
{
@@ -6215,9 +6140,7 @@ void DomPropertyToolTip::write(QXmlStreamWriter &writer, const QString &tagName)
writer.writeEndElement();
}
-DomStringPropertySpecification::~DomStringPropertySpecification()
-{
-}
+DomStringPropertySpecification::~DomStringPropertySpecification() = default;
void DomStringPropertySpecification::read(QXmlStreamReader &reader)
{
diff --git a/src/tools/uic/uic.cpp b/src/tools/uic/uic.cpp
index 8e4709c831..a5b331192f 100644
--- a/src/tools/uic/uic.cpp
+++ b/src/tools/uic/uic.cpp
@@ -33,18 +33,12 @@
#include "treewalker.h"
#include "validator.h"
-#ifdef QT_UIC_CPP_GENERATOR
#include "cppwriteincludes.h"
#include "cppwritedeclaration.h"
-#endif
-
-#ifdef QT_UIC_JAVA_GENERATOR
-#include "javawriteincludes.h"
-#include "javawritedeclaration.h"
-#endif
#include <qxmlstream.h>
#include <qfileinfo.h>
+#include <qscopedpointer.h>
#include <qtextstream.h>
QT_BEGIN_NAMESPACE
@@ -56,9 +50,7 @@ Uic::Uic(Driver *d)
{
}
-Uic::~Uic()
-{
-}
+Uic::~Uic() = default;
bool Uic::printDependencies()
{
@@ -174,65 +166,33 @@ DomUI *Uic::parseUiFile(QXmlStreamReader &reader)
bool Uic::write(QIODevice *in)
{
- if (option().generator == Option::JavaGenerator) {
- // the Java generator ignores header protection
- opt.headerProtection = false;
- }
-
- DomUI *ui = 0;
+ QScopedPointer<DomUI> ui;
{
QXmlStreamReader reader;
reader.setDevice(in);
- ui = parseUiFile(reader);
-
- if (!ui)
- return false;
+ ui.reset(parseUiFile(reader));
}
+ if (ui.isNull())
+ return false;
+
double version = ui->attributeVersion().toDouble();
if (version < 4.0) {
- delete ui;
-
fprintf(stderr, "uic: File generated with too old version of Qt Designer\n");
return false;
}
- QString language = ui->attributeLanguage();
+ const QString &language = ui->attributeLanguage();
driver()->setUseIdBasedTranslations(ui->attributeIdbasedtr());
- bool rtn = false;
-
- if (option().generator == Option::JavaGenerator) {
-#ifdef QT_UIC_JAVA_GENERATOR
- if (language.toLower() != QLatin1String("jambi")) {
- fprintf(stderr, "uic: File is not a 'jambi' form\n");
- delete ui;
- return false;
- }
- rtn = jwrite (ui);
-#else
- fprintf(stderr, "uic: option to generate java code not compiled in\n");
-#endif
- } else {
-#ifdef QT_UIC_CPP_GENERATOR
- if (!language.isEmpty() && language.toLower() != QLatin1String("c++")) {
- fprintf(stderr, "uic: File is not a 'c++' ui file, language=%s\n", qPrintable(language));
- delete ui;
- return false;
- }
-
- rtn = write (ui);
-#else
- fprintf(stderr, "uic: option to generate cpp code not compiled in\n");
-#endif
+ if (!language.isEmpty() && language.compare(QLatin1String("c++"), Qt::CaseInsensitive) != 0) {
+ fprintf(stderr, "uic: File is not a \"c++\" ui file, language=%s\n", qPrintable(language));
+ return false;
}
- delete ui;
-
- return rtn;
+ return write(ui.data());
}
-#ifdef QT_UIC_CPP_GENERATOR
bool Uic::write(DomUI *ui)
{
using namespace CPP;
@@ -249,8 +209,12 @@ bool Uic::write(DomUI *ui)
}
pixFunction = ui->elementPixmapFunction();
- if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
- pixFunction = QLatin1String("qPixmapFromMimeSource");
+ if (pixFunction == QLatin1String("QPixmap::fromMimeSource")
+ || pixFunction == QLatin1String("qPixmapFromMimeSource")) {
+ fprintf(stderr, "%s: Warning: Obsolete pixmap function '%s' specified in the UI file.\n",
+ qPrintable(opt.messagePrefix()), qPrintable(pixFunction));
+ pixFunction.clear();
+ }
info.acceptUI(ui);
cWidgetsInfo.acceptUI(ui);
@@ -265,37 +229,6 @@ bool Uic::write(DomUI *ui)
return true;
}
-#endif
-
-#ifdef QT_UIC_JAVA_GENERATOR
-bool Uic::jwrite(DomUI *ui)
-{
- using namespace Java;
-
- if (!ui || !ui->elementWidget())
- return false;
-
- if (opt.copyrightHeader)
- writeCopyrightHeader(ui);
-
- pixFunction = ui->elementPixmapFunction();
- if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
- pixFunction = QLatin1String("qPixmapFromMimeSource");
-
- externalPix = ui->elementImages() == 0;
-
- info.acceptUI(ui);
- cWidgetsInfo.acceptUI(ui);
- WriteIncludes(this).acceptUI(ui);
-
- Validator(this).acceptUI(ui);
- WriteDeclaration(this).acceptUI(ui);
-
- return true;
-}
-#endif
-
-#ifdef QT_UIC_CPP_GENERATOR
void Uic::writeHeaderProtectionStart()
{
@@ -309,7 +242,6 @@ void Uic::writeHeaderProtectionEnd()
QString h = drv->headerFileName();
out << "#endif // " << h << "\n";
}
-#endif
bool Uic::isMainWindow(const QString &className) const
{
diff --git a/src/tools/uic/uic.h b/src/tools/uic/uic.h
index e00dc595bc..4c961aa0a5 100644
--- a/src/tools/uic/uic.h
+++ b/src/tools/uic/uic.h
@@ -53,6 +53,7 @@ struct Option;
class Uic
{
+ Q_DISABLE_COPY(Uic)
public:
Uic(Driver *driver);
~Uic();
@@ -82,13 +83,7 @@ public:
bool write(QIODevice *in);
-#ifdef QT_UIC_JAVA_GENERATOR
- bool jwrite(DomUI *ui);
-#endif
-
-#ifdef QT_UIC_CPP_GENERATOR
bool write(DomUI *ui);
-#endif
bool isMainWindow(const QString &className) const;
bool isToolBar(const QString &className) const;
@@ -104,11 +99,9 @@ private:
void writeCopyrightHeader(DomUI *ui);
DomUI *parseUiFile(QXmlStreamReader &reader);
-#ifdef QT_UIC_CPP_GENERATOR
// header protection
void writeHeaderProtectionStart();
void writeHeaderProtectionEnd();
-#endif
private:
Driver *drv;
diff --git a/src/tools/uic/utils.h b/src/tools/uic/utils.h
index 18b361fb81..3f32a532ca 100644
--- a/src/tools/uic/utils.h
+++ b/src/tools/uic/utils.h
@@ -42,27 +42,18 @@ inline bool toBool(const QString &str)
inline QString toString(const DomString *str)
{ return str ? str->text() : QString(); }
-enum StringFlags {
- Utf8String = 0x1,
- MultiLineString = 0x2
-};
-
-inline QString fixString(const QString &str, const QString &indent,
- unsigned *stringFlags = 0)
+inline QString fixString(const QString &str, const QString &indent)
{
QString cursegment;
QStringList result;
const QByteArray utf8 = str.toUtf8();
const int utf8Length = utf8.length();
- unsigned flags = 0;
-
for (int i = 0; i < utf8Length; ++i) {
const uchar cbyte = utf8.at(i);
if (cbyte >= 0x80) {
cursegment += QLatin1Char('\\');
cursegment += QString::number(cbyte, 8);
- flags |= Utf8String;
} else {
switch(cbyte) {
case '\\':
@@ -72,7 +63,6 @@ inline QString fixString(const QString &str, const QString &indent,
case '\r':
break;
case '\n':
- flags |= MultiLineString;
cursegment += QLatin1String("\\n\"\n\""); break;
default:
cursegment += QLatin1Char(cbyte);
@@ -98,24 +88,14 @@ inline QString fixString(const QString &str, const QString &indent,
rc += result.join(joinstr);
rc += QLatin1Char('"');
- if (result.size() > 1)
- flags |= MultiLineString;
-
- if (stringFlags)
- *stringFlags = flags;
-
return rc;
}
inline QHash<QString, DomProperty *> propertyMap(const QList<DomProperty *> &properties)
{
QHash<QString, DomProperty *> map;
-
- for (int i=0; i<properties.size(); ++i) {
- DomProperty *p = properties.at(i);
- map.insert(p->attributeName(), p);
- }
-
+ for (DomProperty *p : properties)
+ map.insert(p->attributeName(), p);
return map;
}