diff --git a/mkspecs/common/ghs-base.conf b/mkspecs/common/ghs-base.conf
index bd1f3eb5ab8..addc05241cd 100644
--- a/mkspecs/common/ghs-base.conf
+++ b/mkspecs/common/ghs-base.conf
@@ -39,4 +39,4 @@ QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_LFLAGS_RELEASE -g
QMAKE_LFLAGS_CXX11 += --c++11 --thread_local_storage
QMAKE_LFLAGS_EXCEPTIONS_ON += --exceptions
-QMAKE_LIBS_CORE = -lposix -livfs -lsocket -lnet -ldl
+QMAKE_LIBS_CORE = -lposix -livfs -lsocket -lnet -lshm_client
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index c3ea334dd8b..afeb4f3d1d0 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -492,8 +492,8 @@ defineTest(qtConfSetupLibraries) {
# overrides from the command line are accepted.
defineTest(qtConfLibrary_inline) {
lib = $$eval($${1}.library)
- !defined($${1}.libs, var): \
- error("'inline' source in library '$$lib' does not specify 'libs'.")
+ !defined($${1}.libs, var):isEmpty($${1}.builds._KEYS_): \
+ error("'inline' source in library '$$lib' specifies neither 'libs' nor 'builds'.")
# if multiple libraries provide the same export, it makes sense
# to make them recognize the same input variables.
@@ -2028,10 +2028,7 @@ for (currentConfig, allConfigs) {
}
qtConfCheckErrors()
-!isEmpty(_QMAKE_SUPER_CACHE_): \
- QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_SUPER_CACHE_)/config.cache
-else: \
- QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_CACHE_)/config.cache
+QMAKE_CONFIG_CACHE = $$OUT_PWD/config.cache
QMAKE_CONFIG_CACHE_USE = $$eval(config.input.cache_use)
isEmpty(QMAKE_CONFIG_CACHE_USE): \
QMAKE_CONFIG_CACHE_USE = all
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index 0a008374e58..668669e4cd7 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -9,11 +9,6 @@
# We mean it.
#
-contains(TEMPLATE, .*app): \
- qtSetQmlPath()
-
-contains(TEMPLATE, "vc.*"): return()
-
defineTest(addInstallFiles) {
for(sf, 2) {
sf = $$relative_path($$sf, $$_PRO_FILE_PWD_)
@@ -31,99 +26,112 @@ defineTest(addInstallFiles) {
}
probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
-!isEmpty(probase):!contains(probase, ^\\..*):!isEmpty(_QMAKE_CACHE_) {
- for(ex, EXAMPLE_FILES): \
- sourcefiles += $$files($$absolute_path($$ex, $$_PRO_FILE_PWD_))
- for(res, RESOURCES) {
- rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines)
- for(rline, rfile) {
- resrc = $$replace(rline, ^[ \\t]*]*>([^<]+)[ \\t]*$, \\1)
- !equals(resrc, $$rline): \
- sourcefiles += $$resrc
- }
- }
- for(res, RC_FILE) {
- rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines)
- for(rline, rfile) {
- resrc = $$replace(rline, "^\\d+\\s+ICON\\s+[^\"]*\"([^\"]+)\"\$", \\1)
- !equals(resrc, $$rline): \
- sourcefiles += $$resrc
- }
- }
- sourcefiles += \
- $$ANDROID_PACKAGE_SOURCE_DIR \
- $$QMAKE_INFO_PLIST \
- $$DISTFILES
- extras = \
- $$_PRO_FILE_PWD_/README \
- $$_PRO_FILE_PWD_/README.TXT \
- $$files($$_PRO_FILE_PWD_/*.pri) \
- $$replace(_PRO_FILE_, \\.pro$, .qmlproject) \
- $$replace(_PRO_FILE_, \\.pro$, .json) \
- $$replace(_PRO_FILE_, \\.pro$, .inf)
- for(extra, extras): \
- exists($$extra): \
- sourcefiles += $$extra
+isEmpty(probase)|contains(probase, ^\\..*): \
+ return()
- # Just for Qt Creator
- OTHER_FILES += $$sourcefiles
+isEmpty(_QMAKE_CACHE_) {
+ !equals(OUT_PWD, $$_PRO_FILE_PWD_): \
+ return()
+ error("You cannot build examples inside the Qt source tree, except as part of a proper Qt build.")
+}
- sourcefiles += \
- $$_PRO_FILE_ $$RC_FILE $$DEF_FILE \
- $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
- $$DBUS_ADAPTORS $$DBUS_INTERFACES
- addInstallFiles(sources.files, $$sourcefiles)
- sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
- INSTALLS += sources
+contains(TEMPLATE, "vc.*"): \
+ return()
- check_examples {
- srcfiles = $$sources.files
- for(inst, INSTALLS): \
- !equals(inst, target):!contains($${inst}.CONFIG, no_check_exist): \
- for(file, $${inst}.files): \
- instfiles += $$files($$absolute_path($$file, $$_PRO_FILE_PWD_))
- addInstallFiles(srcfiles, $$instfiles)
+contains(TEMPLATE, .*app): \
+ qtSetQmlPath()
- thefiles = $$files($$_PRO_FILE_PWD_/*)
- for(i, thefiles): \
- allfiles += $$relative_path($$i, $$_PRO_FILE_PWD_)
- for(i, srcfiles): \
- allfiles -= $$relative_path($$i, $$_PRO_FILE_PWD_)
- for(i, SUBDIRS) {
- sd = $$eval($${i}.file)
- !isEmpty(sd) {
- sd ~= s,/.*,,
- } else {
- sd = $$eval($${i}.subdir)
- isEmpty(sd): sd = $$i
- }
- allfiles -= $$sd
- }
- allfiles -= doc
- !isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
- }
-
- equals(TEMPLATE, app)|equals(TEMPLATE, lib) {
- !contains(INSTALLS, target) {
- !install_ok: \
- error("$$_PRO_FILE_ is lacking an install target.")
- else: check_examples: \
- warning("$$_PRO_FILE_ is lacking an install target.")
- } else: !equals(target.path, $$sources.path) {
- !install_ok: \
- error("$$_PRO_FILE_ installs target to unexpected location.")
- else: check_examples: \
- warning("$$_PRO_FILE_ installs target to unexpected location.")
- }
- }
-
- !equals(TEMPLATE, subdirs):!compile_examples {
- TEMPLATE = aux
- CONFIG -= have_target qt staticlib dll
- SOURCES =
- OBJECTIVE_SOURCES =
- INSTALLS -= target
- } else {
- CONFIG += relative_qt_rpath # Examples built as part of Qt should be relocatable
+for(ex, EXAMPLE_FILES): \
+ sourcefiles += $$files($$absolute_path($$ex, $$_PRO_FILE_PWD_))
+for(res, RESOURCES) {
+ rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines)
+ for(rline, rfile) {
+ resrc = $$replace(rline, ^[ \\t]*]*>([^<]+)[ \\t]*$, \\1)
+ !equals(resrc, $$rline): \
+ sourcefiles += $$resrc
}
}
+for(res, RC_FILE) {
+ rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines)
+ for(rline, rfile) {
+ resrc = $$replace(rline, "^\\d+\\s+ICON\\s+[^\"]*\"([^\"]+)\"\$", \\1)
+ !equals(resrc, $$rline): \
+ sourcefiles += $$resrc
+ }
+}
+sourcefiles += \
+ $$ANDROID_PACKAGE_SOURCE_DIR \
+ $$QMAKE_INFO_PLIST \
+ $$DISTFILES
+extras = \
+ $$_PRO_FILE_PWD_/README \
+ $$_PRO_FILE_PWD_/README.TXT \
+ $$files($$_PRO_FILE_PWD_/*.pri) \
+ $$replace(_PRO_FILE_, \\.pro$, .qmlproject) \
+ $$replace(_PRO_FILE_, \\.pro$, .json) \
+ $$replace(_PRO_FILE_, \\.pro$, .inf)
+for(extra, extras): \
+ exists($$extra): \
+ sourcefiles += $$extra
+
+# Just for Qt Creator
+OTHER_FILES += $$sourcefiles
+
+sourcefiles += \
+ $$_PRO_FILE_ $$RC_FILE $$DEF_FILE \
+ $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
+ $$DBUS_ADAPTORS $$DBUS_INTERFACES
+addInstallFiles(sources.files, $$sourcefiles)
+sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
+INSTALLS += sources
+
+check_examples {
+ srcfiles = $$sources.files
+ for(inst, INSTALLS): \
+ !equals(inst, target):!contains($${inst}.CONFIG, no_check_exist): \
+ for(file, $${inst}.files): \
+ instfiles += $$files($$absolute_path($$file, $$_PRO_FILE_PWD_))
+ addInstallFiles(srcfiles, $$instfiles)
+
+ thefiles = $$files($$_PRO_FILE_PWD_/*)
+ for(i, thefiles): \
+ allfiles += $$relative_path($$i, $$_PRO_FILE_PWD_)
+ for(i, srcfiles): \
+ allfiles -= $$relative_path($$i, $$_PRO_FILE_PWD_)
+ for(i, SUBDIRS) {
+ sd = $$eval($${i}.file)
+ !isEmpty(sd) {
+ sd ~= s,/.*,,
+ } else {
+ sd = $$eval($${i}.subdir)
+ isEmpty(sd): sd = $$i
+ }
+ allfiles -= $$sd
+ }
+ allfiles -= doc
+ !isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
+}
+
+equals(TEMPLATE, app)|equals(TEMPLATE, lib) {
+ !contains(INSTALLS, target) {
+ !install_ok: \
+ error("$$_PRO_FILE_ is lacking an install target.")
+ else: check_examples: \
+ warning("$$_PRO_FILE_ is lacking an install target.")
+ } else: !equals(target.path, $$sources.path) {
+ !install_ok: \
+ error("$$_PRO_FILE_ installs target to unexpected location.")
+ else: check_examples: \
+ warning("$$_PRO_FILE_ installs target to unexpected location.")
+ }
+}
+
+!equals(TEMPLATE, subdirs):!compile_examples {
+ TEMPLATE = aux
+ CONFIG -= have_target qt staticlib dll
+ SOURCES =
+ OBJECTIVE_SOURCES =
+ INSTALLS -= target
+} else {
+ CONFIG += relative_qt_rpath # Examples built as part of Qt should be relocatable
+}
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
index 813dbffbd47..21c18c7f7be 100644
--- a/mkspecs/features/toolchain.prf
+++ b/mkspecs/features/toolchain.prf
@@ -12,6 +12,16 @@ defineReplace(qtMakeExpand) {
}
}
+defineTest(qtCompilerErrror) {
+ !cross_compile: \
+ what =
+ else: host_build: \
+ what = " host"
+ else: \
+ what = " target"
+ error("Cannot run$$what compiler '$$1'. Maybe you forgot to setup the environment?")
+}
+
cross_compile:host_build: \
target_prefix = QMAKE_HOST_CXX
else: \
@@ -58,8 +68,7 @@ isEmpty($${target_prefix}.INCDIRS) {
cxx_flags += -E -v
output = $$system("$$cmd_prefix $$QMAKE_CXX $$qtMakeExpand($$cxx_flags) -xc++ - 2>&1 $$cmd_suffix", lines, ec)
- !equals(ec, 0): \
- error("Cannot run compiler '$$QMAKE_CXX'. Maybe you forgot to setup the environment?")
+ !equals(ec, 0): qtCompilerErrror($$QMAKE_CXX)
rim_qcc {
for (line, output) {
@@ -119,8 +128,7 @@ isEmpty($${target_prefix}.INCDIRS) {
# What's more, -print-search-dirs can't be used on clang on Apple because it
# won't print all the library paths (only the clang-internal ones).
output = $$system("$$cmd_prefix $$QMAKE_CXX -print-search-dirs", lines, ec)
- !equals(ec, 0): \
- error("Cannot run compiler '$$QMAKE_CXX'. Maybe you forgot to setup the environment?")
+ !equals(ec, 0): qtCompilerErrror($$QMAKE_CXX)
for (line, output) {
contains(line, "^libraries: .*") {
@@ -162,8 +170,7 @@ isEmpty($${target_prefix}.INCDIRS) {
defineReplace(qtVariablesFromMSVC) {
ret = $$system("$$1 -nologo -E $$2 $$system_quote($$PWD/data/macros.cpp) NUL", lines, ec)
- !equals(ec, 0): \
- error("Cannot run compiler '$$1'. Maybe you forgot to setup the environment?")
+ !equals(ec, 0): qtCompilerErrror($$1)
return($$ret)
}
@@ -171,8 +178,7 @@ defineReplace(qtVariablesFromGCC) {
null_device = /dev/null
equals(QMAKE_HOST.os, Windows): null_device = NUL
ret = $$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$null_device 2>$$null_device", lines, ec)
- !equals(ec, 0): \
- error("Cannot run compiler '$$1'. Maybe you forgot to setup the environment?")
+ !equals(ec, 0): qtCompilerErrror($$1)
return($$ret)
}
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 105391f6f4b..6529d4118fd 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -52,8 +52,10 @@ QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -shared
QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
-QMAKE_LINK_OBJECT_MAX = 10
-QMAKE_LINK_OBJECT_SCRIPT = object_script
+equals(QMAKE_HOST.os, Windows) {
+ QMAKE_LINK_OBJECT_MAX = 10
+ QMAKE_LINK_OBJECT_SCRIPT = object_script
+}
QMAKE_PREFIX_SHLIB =
QMAKE_EXTENSION_SHLIB = dll
QMAKE_PREFIX_STATICLIB = lib
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index c3b876531c4..bad53dc5b7b 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -285,7 +285,8 @@ void MingwMakefileGenerator::writeLibsPart(QTextStream &t)
void MingwMakefileGenerator::writeObjectsPart(QTextStream &t)
{
- if (project->values("OBJECTS").count() < var("QMAKE_LINK_OBJECT_MAX").toInt()) {
+ const ProString &objmax = project->first("QMAKE_LINK_OBJECT_MAX");
+ if (objmax.isEmpty() || project->values("OBJECTS").count() < objmax.toInt()) {
objectsLinkLine = "$(OBJECTS)";
} else if (project->isActiveConfig("staticlib") && project->first("TEMPLATE") == "lib") {
QString ar_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET");
diff --git a/qmake/library/proitems.cpp b/qmake/library/proitems.cpp
index ff1236f64a2..1744304c67a 100644
--- a/qmake/library/proitems.cpp
+++ b/qmake/library/proitems.cpp
@@ -477,9 +477,10 @@ bool ProStringList::contains(const char *str, Qt::CaseSensitivity cs) const
return false;
}
-ProFile::ProFile(const QString &fileName)
+ProFile::ProFile(int id, const QString &fileName)
: m_refCount(1),
m_fileName(fileName),
+ m_id(id),
m_ok(true),
m_hostBuild(false)
{
@@ -496,7 +497,7 @@ ProString ProFile::getStr(const ushort *&tPtr)
{
uint len = *tPtr++;
ProString ret(items(), tPtr - tokPtr(), len);
- ret.setSource(this);
+ ret.setSource(m_id);
tPtr += len;
return ret;
}
diff --git a/qmake/library/proitems.h b/qmake/library/proitems.h
index 40fc23ed194..c58b0178571 100644
--- a/qmake/library/proitems.h
+++ b/qmake/library/proitems.h
@@ -73,8 +73,8 @@ public:
void setValue(const QString &str);
void clear() { m_string.clear(); m_length = 0; }
ProString &setSource(const ProString &other) { m_file = other.m_file; return *this; }
- ProString &setSource(const ProFile *pro) { m_file = pro; return *this; }
- const ProFile *sourceFile() const { return m_file; }
+ ProString &setSource(int id) { m_file = id; return *this; }
+ int sourceFile() const { return m_file; }
ProString &prepend(const ProString &other);
ProString &append(const ProString &other, bool *pending = 0);
@@ -164,7 +164,7 @@ private:
QString m_string;
int m_offset, m_length;
- const ProFile *m_file;
+ int m_file;
mutable uint m_hash;
QChar *prepareExtend(int extraLen, int thisTarget, int extraTarget);
uint updatedHash() const;
@@ -341,9 +341,10 @@ enum ProToken {
class QMAKE_EXPORT ProFile
{
public:
- explicit ProFile(const QString &fileName);
+ ProFile(int id, const QString &fileName);
~ProFile();
+ int id() const { return m_id; }
QString fileName() const { return m_fileName; }
QString directoryName() const { return m_directoryName; }
const QString &items() const { return m_proitems; }
@@ -368,6 +369,7 @@ private:
QString m_proitems;
QString m_fileName;
QString m_directoryName;
+ int m_id;
bool m_ok;
bool m_hostBuild;
};
diff --git a/qmake/library/qmakebuiltins.cpp b/qmake/library/qmakebuiltins.cpp
index 85de50ef0c0..120e96ccc36 100644
--- a/qmake/library/qmakebuiltins.cpp
+++ b/qmake/library/qmakebuiltins.cpp
@@ -717,9 +717,9 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinExpand(
after = args[3];
const ProStringList &var = values(map(args.at(0)));
if (!var.isEmpty()) {
- const ProFile *src = currentProFile();
+ int src = currentFileId();
for (const ProString &v : var)
- if (const ProFile *s = v.sourceFile()) {
+ if (int s = v.sourceFile()) {
src = s;
break;
}
@@ -1068,7 +1068,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinExpand(
dirs.append(fname + QLatin1Char('/'));
}
if (regex.exactMatch(qdir[i]))
- ret += ProString(fname).setSource(currentProFile());
+ ret += ProString(fname).setSource(currentFileId());
}
}
}
@@ -1335,7 +1335,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
return ReturnFalse;
}
QString fn = resolvePath(args.at(0).toQString(m_tmp1));
- ProFile *pro = m_parser->parsedProFile(fn, QMakeParser::ParseOnlyCached);
+ int pro = m_parser->idForFileName(fn);
if (!pro)
return ReturnFalse;
ProValueMap &vmap = m_valuemapStack.first();
@@ -1355,18 +1355,17 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
++vit;
}
for (auto fit = m_functionDefs.testFunctions.begin(); fit != m_functionDefs.testFunctions.end(); ) {
- if (fit->pro() == pro)
+ if (fit->pro()->id() == pro)
fit = m_functionDefs.testFunctions.erase(fit);
else
++fit;
}
for (auto fit = m_functionDefs.replaceFunctions.begin(); fit != m_functionDefs.replaceFunctions.end(); ) {
- if (fit->pro() == pro)
+ if (fit->pro()->id() == pro)
fit = m_functionDefs.replaceFunctions.erase(fit);
else
++fit;
}
- pro->deref();
ProStringList &iif = m_valuemapStack.first()[ProKey("QMAKE_INTERNAL_INCLUDED_FILES")];
int idx = iif.indexOf(ProString(fn));
if (idx >= 0)
diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp
index 12e2827788e..a87155cdefc 100644
--- a/qmake/library/qmakeevaluator.cpp
+++ b/qmake/library/qmakeevaluator.cpp
@@ -271,13 +271,13 @@ void QMakeEvaluator::skipHashStr(const ushort *&tokPtr)
// FIXME: this should not build new strings for direct sections.
// Note that the E_SPRINTF and E_LIST implementations rely on the deep copy.
-ProStringList QMakeEvaluator::split_value_list(const QStringRef &vals, const ProFile *source)
+ProStringList QMakeEvaluator::split_value_list(const QStringRef &vals, int source)
{
QString build;
ProStringList ret;
if (!source)
- source = currentProFile();
+ source = currentFileId();
const QChar *vals_data = vals.data();
const int vals_len = vals.length();
@@ -1299,7 +1299,7 @@ void QMakeEvaluator::setupProject()
{
setTemplate();
ProValueMap &vars = m_valuemapStack.top();
- ProFile *proFile = currentProFile();
+ int proFile = currentFileId();
vars[ProKey("TARGET")] << ProString(QFileInfo(currentFileName()).baseName()).setSource(proFile);
vars[ProKey("_PRO_FILE_")] << ProString(currentFileName()).setSource(proFile);
vars[ProKey("_PRO_FILE_PWD_")] << ProString(currentDirectory()).setSource(proFile);
@@ -1593,6 +1593,14 @@ ProFile *QMakeEvaluator::currentProFile() const
return 0;
}
+int QMakeEvaluator::currentFileId() const
+{
+ ProFile *pro = currentProFile();
+ if (pro)
+ return pro->id();
+ return 0;
+}
+
QString QMakeEvaluator::currentFileName() const
{
ProFile *pro = currentProFile();
diff --git a/qmake/library/qmakeevaluator.h b/qmake/library/qmakeevaluator.h
index 5948bd7d149..fcac0388c73 100644
--- a/qmake/library/qmakeevaluator.h
+++ b/qmake/library/qmakeevaluator.h
@@ -176,12 +176,13 @@ public:
void setTemplate();
- ProStringList split_value_list(const QStringRef &vals, const ProFile *source = 0);
+ ProStringList split_value_list(const QStringRef &vals, int source = 0);
VisitReturn expandVariableReferences(const ushort *&tokPtr, int sizeHint, ProStringList *ret, bool joined);
QString currentFileName() const;
QString currentDirectory() const;
ProFile *currentProFile() const;
+ int currentFileId() const;
QString resolvePath(const QString &fileName) const
{ return QMakeInternal::IoUtils::resolvePath(currentDirectory(), fileName); }
diff --git a/qmake/library/qmakeparser.cpp b/qmake/library/qmakeparser.cpp
index 78350c76c4f..b5d89c1ba68 100644
--- a/qmake/library/qmakeparser.cpp
+++ b/qmake/library/qmakeparser.cpp
@@ -167,7 +167,7 @@ QMakeParser::QMakeParser(ProFileCache *cache, QMakeVfs *vfs, QMakeParserHandler
ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
{
ProFile *pro;
- if ((flags & (ParseUseCache|ParseOnlyCached)) && m_cache) {
+ if ((flags & ParseUseCache) && m_cache) {
ProFileCache::Entry *ent;
#ifdef PROPARSER_THREAD_SAFE
QMutexLocker locker(&m_cache->mutex);
@@ -189,13 +189,13 @@ ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
#endif
if ((pro = ent->pro))
pro->ref();
- } else if (!(flags & ParseOnlyCached)) {
+ } else {
ent = &m_cache->parsed_files[fileName];
#ifdef PROPARSER_THREAD_SAFE
ent->locker = new ProFileCache::Entry::Locker;
locker.unlock();
#endif
- pro = new ProFile(fileName);
+ pro = new ProFile(idForFileName(fileName), fileName);
if (!read(pro, flags)) {
delete pro;
pro = 0;
@@ -214,17 +214,13 @@ ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
ent->locker = 0;
}
#endif
- } else {
- pro = 0;
}
- } else if (!(flags & ParseOnlyCached)) {
- pro = new ProFile(fileName);
+ } else {
+ pro = new ProFile(idForFileName(fileName), fileName);
if (!read(pro, flags)) {
delete pro;
pro = 0;
}
- } else {
- pro = 0;
}
return pro;
}
@@ -232,11 +228,22 @@ ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
ProFile *QMakeParser::parsedProBlock(
const QStringRef &contents, const QString &name, int line, SubGrammar grammar)
{
- ProFile *pro = new ProFile(name);
+ ProFile *pro = new ProFile(0, name);
read(pro, contents, line, grammar);
return pro;
}
+int QMakeParser::idForFileName(const QString &fileName)
+{
+#ifdef PROPARSER_THREAD_SAFE
+ QMutexLocker lck(&fileIdMutex);
+#endif
+ int &place = fileIdMap[fileName];
+ if (!place)
+ place = ++fileIdCounter;
+ return place;
+}
+
void QMakeParser::discardFileFromCache(const QString &fileName)
{
if (m_cache)
diff --git a/qmake/library/qmakeparser.h b/qmake/library/qmakeparser.h
index 6557ad65b5d..a29e9c227d6 100644
--- a/qmake/library/qmakeparser.h
+++ b/qmake/library/qmakeparser.h
@@ -78,7 +78,6 @@ public:
enum ParseFlag {
ParseDefault = 0,
ParseUseCache = 1,
- ParseOnlyCached = 2,
ParseReportMissing = 4
};
Q_DECLARE_FLAGS(ParseFlags, ParseFlag)
@@ -91,6 +90,8 @@ public:
ProFile *parsedProBlock(const QStringRef &contents, const QString &name, int line = 0,
SubGrammar grammar = FullGrammar);
+ int idForFileName(const QString &fileName);
+
void discardFileFromCache(const QString &fileName);
#ifdef PROPARSER_DEBUG
@@ -181,6 +182,12 @@ private:
QString m_tmp; // Temporary for efficient toQString
+ QHash fileIdMap;
+#ifdef PROEVALUATOR_THREAD_SAFE
+ QMutex fileIdMutex;
+#endif
+ int fileIdCounter = 0;
+
ProFileCache *m_cache;
QMakeParserHandler *m_handler;
QMakeVfs *m_vfs;
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index ab79637323a..33d7d58df4c 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -94,6 +94,19 @@
#include
#endif
+#if defined(Q_OS_INTEGRITY)
+extern "C" {
+ // Function mmap resides in libshm_client.a. To be able to link with it one needs
+ // to define symbols 'shm_area_password' and 'shm_area_name', because the library
+ // is meant to allow the application that links to it to use POSIX shared memory
+ // without full system POSIX.
+# pragma weak shm_area_password
+# pragma weak shm_area_name
+ char *shm_area_password = "dummy";
+ char *shm_area_name = "dummy";
+}
+#endif
+
#include "archdetect.cpp"
#ifdef qFatal
diff --git a/src/corelib/kernel/qsharedmemory.cpp b/src/corelib/kernel/qsharedmemory.cpp
index 7f185ee9dc1..c8ba13c90c8 100644
--- a/src/corelib/kernel/qsharedmemory.cpp
+++ b/src/corelib/kernel/qsharedmemory.cpp
@@ -362,6 +362,9 @@ bool QSharedMemory::create(int size, AccessMode mode)
Returns the size of the attached shared memory segment. If no shared
memory segment is attached, 0 is returned.
+ \note The size of the segment may be larger than the requested size that was
+ passed to create().
+
\sa create(), attach()
*/
int QSharedMemory::size() const
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index 2d12a95b4b0..f00cecbc836 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -311,6 +311,7 @@ private:
// will be default-initialized
# pragma warning ( push )
# pragma warning ( disable : 4345 )
+# pragma warning(disable : 4127) // conditional expression is constant
#endif
template
@@ -325,10 +326,6 @@ void QVector::defaultConstruct(T *from, T *to)
}
}
-#ifdef Q_CC_MSVC
-# pragma warning ( pop )
-#endif
-
template
void QVector::copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom)
{
@@ -340,11 +337,6 @@ void QVector::copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom)
}
}
-#if defined(Q_CC_MSVC)
-#pragma warning( push )
-#pragma warning( disable : 4127 ) // conditional expression is constant
-#endif
-
template
void QVector::destruct(T *from, T *to)
{
@@ -355,10 +347,6 @@ void QVector::destruct(T *from, T *to)
}
}
-#if defined(Q_CC_MSVC)
-#pragma warning( pop )
-#endif
-
template
inline QVector::QVector(const QVector &v)
{
@@ -380,6 +368,10 @@ inline QVector::QVector(const QVector &v)
}
}
+#if defined(Q_CC_MSVC)
+#pragma warning( pop )
+#endif
+
template
void QVector::detach()
{
@@ -507,6 +499,11 @@ QVector::QVector(int asize, const T &t)
}
#ifdef Q_COMPILER_INITIALIZER_LISTS
+# if defined(Q_CC_MSVC)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_MSVC(4127) // conditional expression is constant
+# endif // Q_CC_MSVC
+
template
QVector::QVector(std::initializer_list args)
{
@@ -521,7 +518,10 @@ QVector::QVector(std::initializer_list args)
d = Data::sharedNull();
}
}
-#endif
+# if defined(Q_CC_MSVC)
+QT_WARNING_POP
+# endif // Q_CC_MSVC
+#endif // Q_COMPILER_INITALIZER_LISTS
template
void QVector::freeData(Data *x)
@@ -530,6 +530,11 @@ void QVector::freeData(Data *x)
Data::deallocate(x);
}
+#if defined(Q_CC_MSVC)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_MSVC(4127) // conditional expression is constant
+#endif
+
template
void QVector::reallocData(const int asize, const int aalloc, QArrayData::AllocationOptions options)
{
@@ -621,6 +626,10 @@ void QVector::reallocData(const int asize, const int aalloc, QArrayData::Allo
Q_ASSERT(d->size == asize);
}
+#if defined(Q_CC_MSVC)
+QT_WARNING_POP
+#endif
+
template
Q_OUTOFLINE_TEMPLATE T QVector::value(int i) const
{
diff --git a/src/gui/kernel/qoffscreensurface.cpp b/src/gui/kernel/qoffscreensurface.cpp
index 4f8276aa871..ae027af627e 100644
--- a/src/gui/kernel/qoffscreensurface.cpp
+++ b/src/gui/kernel/qoffscreensurface.cpp
@@ -331,7 +331,7 @@ void QOffscreenSurface::setScreen(QScreen *newScreen)
{
Q_D(QOffscreenSurface);
if (!newScreen)
- newScreen = QGuiApplication::primaryScreen();
+ newScreen = QCoreApplication::instance() ? QGuiApplication::primaryScreen() : nullptr;
if (newScreen != d->screen) {
const bool wasCreated = d->platformOffscreenSurface != 0 || d->offscreenWindow != 0;
if (wasCreated)
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 84681561f21..6b2018ef86e 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -972,8 +972,11 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
// emit error for all waiting replies
do {
- // Need to dequeu the request so that we can emit the error.
- if (!reply)
+ // First requeue the already pipelined requests for the current failed reply,
+ // then dequeue pending requests so we can also mark them as finished with error
+ if (reply)
+ requeueCurrentlyPipelinedRequests();
+ else
connection->d_func()->dequeueRequest(socket);
if (reply) {
diff --git a/src/network/socket/qnet_unix_p.h b/src/network/socket/qnet_unix_p.h
index 46fbc9757ad..73d7ec2e776 100644
--- a/src/network/socket/qnet_unix_p.h
+++ b/src/network/socket/qnet_unix_p.h
@@ -165,7 +165,7 @@ static inline int qt_safe_connect(int sockfd, const struct sockaddr *addr, QT_SO
// VxWorks' headers specify 'int' instead of '...' for the 3rd ioctl() parameter.
template
-static inline int qt_safe_ioctl(int sockfd, int request, T arg)
+static inline int qt_safe_ioctl(int sockfd, unsigned long request, T arg)
{
#ifdef Q_OS_VXWORKS
return ::ioctl(sockfd, request, (int) arg);
diff --git a/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp b/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp
index 86f8a00b13b..cfc17a79c33 100644
--- a/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp
+++ b/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp
@@ -246,7 +246,7 @@ bool QEvdevTabletHandler::queryLimits()
void QEvdevTabletHandler::readData()
{
- static input_event buffer[32];
+ input_event buffer[32];
int n = 0;
for (; ;) {
int result = QT_READ(m_fd, reinterpret_cast(buffer) + n, sizeof(buffer) - n);
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.h b/src/plugins/platforms/cocoa/qcocoamenu.h
index 903d41220a6..484f185fc04 100644
--- a/src/plugins/platforms/cocoa/qcocoamenu.h
+++ b/src/plugins/platforms/cocoa/qcocoamenu.h
@@ -91,13 +91,17 @@ public:
bool isOpen() const;
void setIsOpen(bool isOpen);
+ void timerEvent(QTimerEvent *e) Q_DECL_OVERRIDE;
+
private:
QCocoaMenuItem *itemOrNull(int index) const;
void insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem);
+ void scheduleUpdate();
QList m_menuItems;
NSMenu *m_nativeMenu;
NSMenuItem *m_attachedItem;
+ int m_updateTimer;
bool m_enabled:1;
bool m_parentEnabled:1;
bool m_visible:1;
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.mm b/src/plugins/platforms/cocoa/qcocoamenu.mm
index ada6334cf46..77a531f25d6 100644
--- a/src/plugins/platforms/cocoa/qcocoamenu.mm
+++ b/src/plugins/platforms/cocoa/qcocoamenu.mm
@@ -259,6 +259,7 @@ QT_BEGIN_NAMESPACE
QCocoaMenu::QCocoaMenu() :
m_attachedItem(0),
+ m_updateTimer(0),
m_enabled(true),
m_parentEnabled(true),
m_visible(true),
@@ -326,6 +327,13 @@ void QCocoaMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem *
}
insertNative(cocoaItem, beforeItem);
+
+ // Empty menus on a menubar are hidden by default. If the menu gets
+ // added to the menubar before it contains any item, we need to sync.
+ if (isVisible() && attachedItem().hidden) {
+ if (auto *mb = qobject_cast(menuParent()))
+ mb->syncMenu(this);
+ }
}
void QCocoaMenu::insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem)
@@ -409,6 +417,20 @@ QCocoaMenuItem *QCocoaMenu::itemOrNull(int index) const
return m_menuItems.at(index);
}
+void QCocoaMenu::scheduleUpdate()
+{
+ if (!m_updateTimer)
+ m_updateTimer = startTimer(0);
+}
+
+void QCocoaMenu::timerEvent(QTimerEvent *e)
+{
+ if (e->timerId() == m_updateTimer) {
+ m_updateTimer = 0;
+ [m_nativeMenu update];
+ }
+}
+
void QCocoaMenu::syncMenuItem(QPlatformMenuItem *menuItem)
{
QMacAutoReleasePool pool;
@@ -435,9 +457,9 @@ void QCocoaMenu::syncMenuItem(QPlatformMenuItem *menuItem)
QCocoaMenuItem* beforeItem = itemOrNull(m_menuItems.indexOf(cocoaItem) + 1);
insertNative(cocoaItem, beforeItem);
} else {
- // Force NSMenuValidation to kick in. This is needed e.g.
+ // Schedule NSMenuValidation to kick in. This is needed e.g.
// when an item's enabled state changes after menuWillOpen:
- [m_nativeMenu update];
+ scheduleUpdate();
}
}
diff --git a/src/plugins/platforms/cocoa/qcocoamenubar.mm b/src/plugins/platforms/cocoa/qcocoamenubar.mm
index 4cdf004dd1b..70fcb407748 100644
--- a/src/plugins/platforms/cocoa/qcocoamenubar.mm
+++ b/src/plugins/platforms/cocoa/qcocoamenubar.mm
@@ -370,7 +370,7 @@ void QCocoaMenuBar::updateMenuBarImmediately()
QCocoaMenuLoader *loader = [QCocoaMenuLoader sharedMenuLoader];
[loader ensureAppMenuInMenu:mb->nsMenu()];
- NSMutableSet *mergedItems = [[NSMutableSet setWithCapacity:0] retain];
+ NSMutableSet *mergedItems = [[NSMutableSet setWithCapacity:mb->merged().count()] retain];
foreach (QCocoaMenuItem *m, mb->merged()) {
[mergedItems addObject:m->nsItem()];
m->syncMerged();
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 7a19303f5de..6cdabf606b1 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -588,7 +588,16 @@ void QCocoaWindow::setWindowFlags(Qt::WindowFlags flags)
}
setWindowZoomButton(flags);
- m_view.window.ignoresMouseEvents = flags & Qt::WindowTransparentForInput;
+ // Make window ignore mouse events if WindowTransparentForInput is set.
+ // Note that ignoresMouseEvents has a special initial state where events
+ // are ignored (passed through) based on window transparency, and that
+ // setting the property to false does not return us to that state. Instead,
+ // this makes the window capture all mouse events. Take care to only
+ // set the property if needed. FIXME: recreate window if needed or find
+ // some other way to implement WindowTransparentForInput.
+ bool ignoreMouse = flags & Qt::WindowTransparentForInput;
+ if (m_view.window.ignoresMouseEvents != ignoreMouse)
+ m_view.window.ignoresMouseEvents = ignoreMouse;
}
m_windowFlags = flags;
diff --git a/src/plugins/platformthemes/gtk3/qgtk3theme.cpp b/src/plugins/platformthemes/gtk3/qgtk3theme.cpp
index 7e649064765..6447776f253 100644
--- a/src/plugins/platformthemes/gtk3/qgtk3theme.cpp
+++ b/src/plugins/platformthemes/gtk3/qgtk3theme.cpp
@@ -102,6 +102,15 @@ QGtk3Theme::QGtk3Theme()
g_log_set_handler("Gtk", G_LOG_LEVEL_MESSAGE, gtkMessageHandler, NULL);
}
+static inline QVariant gtkGetLongPressTime()
+{
+ const char *gtk_long_press_time = "gtk-long-press-time";
+ static bool found = g_object_class_find_property(G_OBJECT_GET_CLASS(gtk_settings_get_default()), gtk_long_press_time);
+ if (!found)
+ return QVariant();
+ return QVariant(gtkSetting(gtk_long_press_time)); // Since 3.14, apparently we support >= 3.6
+}
+
QVariant QGtk3Theme::themeHint(QPlatformTheme::ThemeHint hint) const
{
switch (hint) {
@@ -111,8 +120,12 @@ QVariant QGtk3Theme::themeHint(QPlatformTheme::ThemeHint hint) const
return QVariant(gtkSetting("gtk-double-click-distance"));
case QPlatformTheme::MouseDoubleClickInterval:
return QVariant(gtkSetting("gtk-double-click-time"));
- case QPlatformTheme::MousePressAndHoldInterval:
- return QVariant(gtkSetting("gtk-long-press-time"));
+ case QPlatformTheme::MousePressAndHoldInterval: {
+ QVariant v = gtkGetLongPressTime();
+ if (!v.isValid())
+ v = QGnomeTheme::themeHint(hint);
+ return v;
+ }
case QPlatformTheme::PasswordMaskDelay:
return QVariant(gtkSetting("gtk-entry-password-hint-timeout"));
case QPlatformTheme::StartDragDistance:
diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm
index a6ece7632a3..4bcfa75f36b 100644
--- a/src/plugins/styles/mac/qmacstyle_mac.mm
+++ b/src/plugins/styles/mac/qmacstyle_mac.mm
@@ -82,7 +82,9 @@
#include
#include
#include
+#if QT_CONFIG(progressbar)
#include
+#endif
#if QT_CONFIG(pushbutton)
#include
#endif
@@ -90,11 +92,15 @@
#if QT_CONFIG(rubberband)
#include
#endif
+#if QT_CONFIG(scrollbar)
#include
+#endif
#include
#include
#include
+#if QT_CONFIG(toolbutton)
#include
+#endif
#if QT_CONFIG(treeview)
#include
#endif
@@ -112,7 +118,9 @@
#endif
#include
#include
+#if QT_CONFIG(graphicsview)
#include
+#endif
#include
#include
#include
@@ -781,13 +789,13 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg
else if (qobject_cast(widg))
ct = QStyle::CT_ComboBox;
#endif
-#ifndef QT_NO_TOOLBUTTON
+#if QT_CONFIG(toolbutton)
else if (qobject_cast(widg))
ct = QStyle::CT_ToolButton;
#endif
else if (qobject_cast(widg))
ct = QStyle::CT_Slider;
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
else if (qobject_cast(widg))
ct = QStyle::CT_ProgressBar;
#endif
@@ -916,7 +924,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg
if (sz == QStyleHelper::SizeSmall) {
int width = 0, height = 0;
if (szHint == QSize(-1, -1)) { //just 'guess'..
-#ifndef QT_NO_TOOLBUTTON
+#if QT_CONFIG(toolbutton)
const QToolButton *bt = qobject_cast(widg);
// If this conversion fails then the widget was not what it claimed to be.
if(bt) {
@@ -1003,7 +1011,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg
ret.setWidth(w);
break;
}
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
case QStyle::CT_ProgressBar: {
int finalValue = -1;
Qt::Orientation orient = Qt::Horizontal;
@@ -3336,7 +3344,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
HIThemeGroupBoxDrawInfo gdi;
gdi.version = qt_mac_hitheme_version;
gdi.state = tds;
-#ifndef QT_NO_GROUPBOX
+#if QT_CONFIG(groupbox)
if (w && qobject_cast(w->parentWidget()))
gdi.kind = kHIThemeGroupBoxKindSecondary;
else
@@ -5901,7 +5909,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
#endif
}
break;
-#ifndef QT_NO_DIAL
+#if QT_CONFIG(dial)
case CC_Dial:
if (const QStyleOptionSlider *dial = qstyleoption_cast(opt))
QStyleHelper::drawDial(dial, p);
@@ -6721,7 +6729,7 @@ bool QMacStyle::event(QEvent *e)
if(e->type() == QEvent::FocusIn) {
QWidget *f = 0;
QWidget *focusWidget = QApplication::focusWidget();
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
if (QGraphicsView *graphicsView = qobject_cast(focusWidget)) {
QGraphicsItem *focusItem = graphicsView->scene() ? graphicsView->scene()->focusItem() : 0;
if (focusItem && focusItem->type() == QGraphicsProxyWidget::Type) {
diff --git a/src/plugins/styles/mac/qmacstyle_mac_p_p.h b/src/plugins/styles/mac/qmacstyle_mac_p_p.h
index 8574a52a87b..b453e3c2d77 100644
--- a/src/plugins/styles/mac/qmacstyle_mac_p_p.h
+++ b/src/plugins/styles/mac/qmacstyle_mac_p_p.h
@@ -68,7 +68,9 @@
#include
#include
#include
+#if QT_CONFIG(groupbox)
#include
+#endif
#include
#include
#include
@@ -83,7 +85,9 @@
#include
#include
#include
+#if QT_CONFIG(progressbar)
#include
+#endif
#if QT_CONFIG(pushbutton)
#include
#endif
@@ -93,12 +97,16 @@
#endif
#include
#include
+#if QT_CONFIG(splitter)
#include
+#endif
#include
#include
#include
#include
+#if QT_CONFIG(toolbutton)
#include
+#endif
#if QT_CONFIG(treeview)
#include
#endif
diff --git a/src/plugins/styles/windowsvista/qwindowsvistastyle_p_p.h b/src/plugins/styles/windowsvista/qwindowsvistastyle_p_p.h
index 14af2c6bbc6..a6744ff9154 100644
--- a/src/plugins/styles/windowsvista/qwindowsvistastyle_p_p.h
+++ b/src/plugins/styles/windowsvista/qwindowsvistastyle_p_p.h
@@ -67,14 +67,20 @@
#include
#include
#include
+#if QT_CONFIG(toolbutton)
#include
+#endif
#include
#include
#if QT_CONFIG(combobox)
#include
#endif
+#if QT_CONFIG(scrollbar)
#include
+#endif
+#if QT_CONFIG(progressbar)
#include
+#endif
#if QT_CONFIG(dockwidget)
#include
#endif
diff --git a/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp b/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
index a3a665f22b6..9880edf0b43 100644
--- a/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
+++ b/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
@@ -55,14 +55,18 @@
#include
#include
+#if QT_CONFIG(toolbutton)
#include
+#endif
#if QT_CONFIG(tabbar)
#include
#endif
#if QT_CONFIG(combobox)
#include
#endif
+#if QT_CONFIG(scrollbar)
#include
+#endif
#include
#include
#if QT_CONFIG(listview)
@@ -2857,7 +2861,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
}
break;
#endif
-#ifndef QT_NO_TOOLBUTTON
+#if QT_CONFIG(toolbutton)
case CC_ToolButton:
if (const QStyleOptionToolButton *toolbutton
= qstyleoption_cast(option)) {
@@ -2971,7 +2975,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
}
}
break;
-#endif // QT_NO_TOOLBUTTON
+#endif // QT_CONFIG(toolbutton)
case CC_TitleBar:
{
@@ -3231,12 +3235,12 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
}
break;
#endif //QT_NO_MDIAREA
-#ifndef QT_NO_DIAL
+#if QT_CONFIG(dial)
case CC_Dial:
if (const QStyleOptionSlider *dial = qstyleoption_cast(option))
QStyleHelper::drawDial(dial, p);
break;
-#endif // QT_NO_DIAL
+#endif // QT_CONFIG(dial)
default:
QWindowsStyle::drawComplexControl(cc, option, p, widget);
break;
diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp
index 5442c145a0c..efbca0331d7 100644
--- a/src/widgets/accessible/complexwidgets.cpp
+++ b/src/widgets/accessible/complexwidgets.cpp
@@ -61,7 +61,9 @@
#endif
#include
#include
+#if QT_CONFIG(scrollbar)
#include
+#endif
#include
#ifndef QT_NO_ACCESSIBILITY
diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp
index 3bc0f7e77bf..e3dd7383b27 100644
--- a/src/widgets/accessible/qaccessiblewidget.cpp
+++ b/src/widgets/accessible/qaccessiblewidget.cpp
@@ -43,7 +43,9 @@
#include "qaction.h"
#include "qapplication.h"
+#if QT_CONFIG(groupbox)
#include "qgroupbox.h"
+#endif
#if QT_CONFIG(label)
#include "qlabel.h"
#endif
@@ -95,7 +97,7 @@ static QString buddyString(const QWidget *widget)
}
#endif
-#ifndef QT_NO_GROUPBOX
+#if QT_CONFIG(groupbox)
QGroupBox *groupbox = qobject_cast(parent);
if (groupbox)
return groupbox->title();
@@ -331,7 +333,7 @@ QAccessibleWidget::relations(QAccessible::Relation match /*= QAccessible::AllRel
}
}
#endif
-#ifndef QT_NO_GROUPBOX
+#if QT_CONFIG(groupbox)
QGroupBox *groupbox = qobject_cast(parent);
if (groupbox && !groupbox->title().isEmpty()) {
QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(groupbox);
diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp
index c3de7a7dd62..3fbc9714f5a 100644
--- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp
+++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp
@@ -47,7 +47,9 @@
#include "itemviews_p.h"
#endif
+#if QT_CONFIG(toolbutton)
#include
+#endif
#if QT_CONFIG(treeview)
#include
#endif
@@ -93,7 +95,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
} else if (classname == QLatin1String("QDoubleSpinBox")) {
iface = new QAccessibleDoubleSpinBox(widget);
#endif
-#ifndef QT_NO_SCROLLBAR
+#if QT_CONFIG(scrollbar)
} else if (classname == QLatin1String("QScrollBar")) {
iface = new QAccessibleScrollBar(widget);
#endif
@@ -103,10 +105,10 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
} else if (classname == QLatin1String("QSlider")) {
iface = new QAccessibleSlider(widget);
#endif
-#ifndef QT_NO_TOOLBUTTON
+#if QT_CONFIG(toolbutton)
} else if (classname == QLatin1String("QToolButton")) {
iface = new QAccessibleToolButton(widget);
-#endif // QT_NO_TOOLBUTTON
+#endif // QT_CONFIG(toolbutton)
#if QT_CONFIG(abstractbutton)
} else if (classname == QLatin1String("QCheckBox")
|| classname == QLatin1String("QRadioButton")
@@ -124,13 +126,13 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
#endif
} else if (classname == QLatin1String("QLabel") || classname == QLatin1String("QLCDNumber")) {
iface = new QAccessibleDisplay(widget);
-#ifndef QT_NO_GROUPBOX
+#if QT_CONFIG(groupbox)
} else if (classname == QLatin1String("QGroupBox")) {
iface = new QAccessibleGroupBox(widget);
#endif
} else if (classname == QLatin1String("QStatusBar")) {
iface = new QAccessibleDisplay(widget);
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
} else if (classname == QLatin1String("QProgressBar")) {
iface = new QAccessibleProgressBar(widget);
#endif
@@ -159,7 +161,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
#endif
} else if (classname == QLatin1String("QSizeGrip")) {
iface = new QAccessibleWidget(widget, QAccessible::Grip);
-#ifndef QT_NO_SPLITTER
+#if QT_CONFIG(splitter)
} else if (classname == QLatin1String("QSplitter")) {
iface = new QAccessibleWidget(widget, QAccessible::Splitter);
} else if (classname == QLatin1String("QSplitterHandle")) {
@@ -179,7 +181,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
} else if (classname == QLatin1String("QStackedWidget")) {
iface = new QAccessibleStackedWidget(widget);
#endif
-#ifndef QT_NO_TOOLBOX
+#if QT_CONFIG(toolbox)
} else if (classname == QLatin1String("QToolBox")) {
iface = new QAccessibleToolBox(widget);
#endif
@@ -193,7 +195,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
} else if (classname == QLatin1String("QDialogButtonBox")) {
iface = new QAccessibleDialogButtonBox(widget);
#endif
-#ifndef QT_NO_DIAL
+#if QT_CONFIG(dial)
} else if (classname == QLatin1String("QDial")) {
iface = new QAccessibleDial(widget);
#endif
@@ -201,7 +203,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje
} else if (classname == QLatin1String("QRubberBand")) {
iface = new QAccessibleWidget(widget, QAccessible::Border);
#endif
-#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR)
+#if QT_CONFIG(textbrowser) && !defined(QT_NO_CURSOR)
} else if (classname == QLatin1String("QTextBrowser")) {
iface = new QAccessibleTextBrowser(widget);
#endif
diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp
index e28833274e4..4e7ba78620c 100644
--- a/src/widgets/accessible/qaccessiblewidgets.cpp
+++ b/src/widgets/accessible/qaccessiblewidgets.cpp
@@ -47,11 +47,15 @@
#include "qtextobject.h"
#include "qplaintextedit.h"
#include "qtextboundaryfinder.h"
+#if QT_CONFIG(scrollbar)
#include "qscrollbar.h"
+#endif
#include "qdebug.h"
#include
#include
+#if QT_CONFIG(toolbox)
#include
+#endif
#include
#include
#if QT_CONFIG(dialogbuttonbox)
@@ -61,7 +65,9 @@
#if QT_CONFIG(rubberband)
#include
#endif
+#if QT_CONFIG(textbrowser)
#include
+#endif
#if QT_CONFIG(calendarwidget)
#include
#endif
@@ -352,7 +358,7 @@ QStackedWidget *QAccessibleStackedWidget::stackedWidget() const
}
#endif // QT_NO_STACKEDWIDGET
-#ifndef QT_NO_TOOLBOX
+#if QT_CONFIG(toolbox)
// ======================= QAccessibleToolBox ======================
QAccessibleToolBox::QAccessibleToolBox(QWidget *widget)
: QAccessibleWidget(widget, QAccessible::LayeredPane)
@@ -364,7 +370,7 @@ QToolBox * QAccessibleToolBox::toolBox() const
{
return static_cast(object());
}
-#endif // QT_NO_TOOLBOX
+#endif // QT_CONFIG(toolbox)
// ======================= QAccessibleMdiArea ======================
#ifndef QT_NO_MDIAREA
@@ -499,7 +505,7 @@ QAccessibleDialogButtonBox::QAccessibleDialogButtonBox(QWidget *widget)
#endif // QT_CONFIG(dialogbuttonbox)
-#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR)
+#if QT_CONFIG(textbrowser) && !defined(QT_NO_CURSOR)
QAccessibleTextBrowser::QAccessibleTextBrowser(QWidget *widget)
: QAccessibleTextEdit(widget)
{
@@ -510,7 +516,7 @@ QAccessible::Role QAccessibleTextBrowser::role() const
{
return QAccessible::StaticText;
}
-#endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR
+#endif // QT_CONFIG(textbrowser) && QT_NO_CURSOR
#if QT_CONFIG(calendarwidget)
// ===================== QAccessibleCalendarWidget ========================
diff --git a/src/widgets/accessible/qaccessiblewidgets_p.h b/src/widgets/accessible/qaccessiblewidgets_p.h
index 3ff67c0c9b3..050930243d7 100644
--- a/src/widgets/accessible/qaccessiblewidgets_p.h
+++ b/src/widgets/accessible/qaccessiblewidgets_p.h
@@ -256,7 +256,7 @@ public:
};
#endif
-#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR)
+#if QT_CONFIG(textbrowser) && !defined(QT_NO_CURSOR)
class QAccessibleTextBrowser : public QAccessibleTextEdit
{
public:
@@ -264,7 +264,7 @@ public:
QAccessible::Role role() const Q_DECL_OVERRIDE;
};
-#endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR
+#endif // QT_CONFIG(textbrowser) && QT_NO_CURSOR
#if QT_CONFIG(calendarwidget)
class QAccessibleCalendarWidget : public QAccessibleWidget
diff --git a/src/widgets/accessible/rangecontrols.cpp b/src/widgets/accessible/rangecontrols.cpp
index 602d0c7e113..c890c509389 100644
--- a/src/widgets/accessible/rangecontrols.cpp
+++ b/src/widgets/accessible/rangecontrols.cpp
@@ -40,15 +40,18 @@
#include "rangecontrols_p.h"
#include
+#if QT_CONFIG(dial)
#include
+#endif
#include
+#if QT_CONFIG(scrollbar)
#include
+#endif
#include
#include
#include
#include
#include
-#include
#include
#include
#include
@@ -284,7 +287,7 @@ QString QAccessibleDoubleSpinBox::text(QAccessible::Text textType) const
#endif // QT_NO_SPINBOX
-#ifndef QT_NO_SCROLLBAR
+#if QT_CONFIG(scrollbar)
/*!
\class QAccessibleScrollBar
\brief The QAccessibleScrollBar class implements the QAccessibleInterface for scroll bars.
@@ -317,7 +320,7 @@ QString QAccessibleScrollBar::text(QAccessible::Text t) const
return QAccessibleAbstractSlider::text(t);
}
-#endif // QT_NO_SCROLLBAR
+#endif // QT_CONFIG(scrollbar)
#ifndef QT_NO_SLIDER
/*!
@@ -398,7 +401,7 @@ QAbstractSlider *QAccessibleAbstractSlider::abstractSlider() const
#endif // QT_NO_SLIDER
-#ifndef QT_NO_DIAL
+#if QT_CONFIG(dial)
// ======================================= QAccessibleDial ======================================
QAccessibleDial::QAccessibleDial(QWidget *widget)
: QAccessibleAbstractSlider(widget, QAccessible::Dial)
@@ -419,7 +422,7 @@ QDial *QAccessibleDial::dial() const
{
return static_cast(object());
}
-#endif // QT_NO_DIAL
+#endif // QT_CONFIG(dial)
#endif // QT_NO_ACCESSIBILITY
diff --git a/src/widgets/accessible/rangecontrols_p.h b/src/widgets/accessible/rangecontrols_p.h
index c0b010c292d..49f57fa1c63 100644
--- a/src/widgets/accessible/rangecontrols_p.h
+++ b/src/widgets/accessible/rangecontrols_p.h
@@ -162,7 +162,7 @@ protected:
};
#endif // QT_CONFIG(slider)
-#ifndef QT_NO_SCROLLBAR
+#if QT_CONFIG(scrollbar)
class QAccessibleScrollBar : public QAccessibleAbstractSlider
{
public:
@@ -172,7 +172,7 @@ public:
protected:
QScrollBar *scrollBar() const;
};
-#endif // QT_NO_SCROLLBAR
+#endif // QT_CONFIG(scrollbar)
#ifndef QT_NO_SLIDER
class QAccessibleSlider : public QAccessibleAbstractSlider
@@ -186,7 +186,7 @@ protected:
};
#endif // QT_NO_SLIDER
-#ifndef QT_NO_DIAL
+#if QT_CONFIG(dial)
class QAccessibleDial : public QAccessibleAbstractSlider
{
public:
@@ -197,7 +197,7 @@ public:
protected:
QDial *dial() const;
};
-#endif // QT_NO_DIAL
+#endif // QT_CONFIG(dial)
#endif // QT_NO_ACCESSIBILITY
diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp
index b8ce9a90600..b6fe003452b 100644
--- a/src/widgets/accessible/simplewidgets.cpp
+++ b/src/widgets/accessible/simplewidgets.cpp
@@ -48,17 +48,25 @@
#if QT_CONFIG(pushbutton)
#include
#endif
+#if QT_CONFIG(progressbar)
#include
+#endif
+#if QT_CONFIG(statusbar)
#include
+#endif
#if QT_CONFIG(radiobutton)
#include
#endif
+#if QT_CONFIG(toolbutton)
#include
+#endif
#include
#if QT_CONFIG(label)
#include
#endif
+#if QT_CONFIG(groupbox)
#include
+#endif
#if QT_CONFIG(lcdnumber)
#include
#endif
@@ -274,7 +282,7 @@ QStringList QAccessibleButton::keyBindingsForAction(const QString &actionName) c
}
#endif // QT_CONFIG(abstractbutton)
-#ifndef QT_NO_TOOLBUTTON
+#if QT_CONFIG(toolbutton)
/*!
\class QAccessibleToolButton
\brief The QAccessibleToolButton class implements the QAccessibleInterface for tool buttons.
@@ -394,7 +402,7 @@ void QAccessibleToolButton::doAction(const QString &actionName)
}
-#endif // QT_NO_TOOLBUTTON
+#endif // QT_CONFIG(toolbutton)
/*!
\class QAccessibleDisplay
@@ -428,11 +436,11 @@ QAccessible::Role QAccessibleDisplay::role() const
if (l->movie())
return QAccessible::Animation;
#endif
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
} else if (qobject_cast(object())) {
return QAccessible::ProgressBar;
#endif
-#ifndef QT_NO_STATUSBAR
+#if QT_CONFIG(statusbar)
} else if (qobject_cast(object())) {
return QAccessible::StatusBar;
#endif
@@ -474,7 +482,7 @@ QString QAccessibleDisplay::text(QAccessible::Text t) const
else
str = QString::number(l->intValue());
#endif
-#ifndef QT_NO_STATUSBAR
+#if QT_CONFIG(statusbar)
} else if (qobject_cast(object())) {
return qobject_cast(object())->currentMessage();
#endif
@@ -482,7 +490,7 @@ QString QAccessibleDisplay::text(QAccessible::Text t) const
}
break;
case QAccessible::Value:
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
if (qobject_cast(object()))
str = QString::number(qobject_cast(object())->value());
#endif
@@ -562,7 +570,7 @@ QPoint QAccessibleDisplay::imagePosition() const
#endif
}
-#ifndef QT_NO_GROUPBOX
+#if QT_CONFIG(groupbox)
QAccessibleGroupBox::QAccessibleGroupBox(QWidget *w)
: QAccessibleWidget(w)
{
@@ -889,7 +897,7 @@ void QAccessibleLineEdit::replaceText(int startOffset, int endOffset, const QStr
#endif // QT_NO_LINEEDIT
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
QAccessibleProgressBar::QAccessibleProgressBar(QWidget *o)
: QAccessibleDisplay(o)
{
diff --git a/src/widgets/accessible/simplewidgets_p.h b/src/widgets/accessible/simplewidgets_p.h
index 1e4ae5ab67c..c25aa314256 100644
--- a/src/widgets/accessible/simplewidgets_p.h
+++ b/src/widgets/accessible/simplewidgets_p.h
@@ -86,7 +86,7 @@ protected:
};
#endif
-#ifndef QT_NO_TOOLBUTTON
+#if QT_CONFIG(toolbutton)
class QAccessibleToolButton : public QAccessibleButton
{
public:
@@ -107,7 +107,7 @@ protected:
bool isSplitButton() const;
};
-#endif // QT_NO_TOOLBUTTON
+#endif // QT_CONFIG(toolbutton)
class QAccessibleDisplay : public QAccessibleWidget, public QAccessibleImageInterface
{
@@ -126,7 +126,7 @@ public:
QPoint imagePosition() const Q_DECL_OVERRIDE;
};
-#ifndef QT_NO_GROUPBOX
+#if QT_CONFIG(groupbox)
class QAccessibleGroupBox : public QAccessibleWidget
{
public:
@@ -190,7 +190,7 @@ protected:
};
#endif // QT_NO_LINEEDIT
-#ifndef QT_NO_PROGRESSBAR
+#if QT_CONFIG(progressbar)
class QAccessibleProgressBar : public QAccessibleDisplay, public QAccessibleValueInterface
{
public:
diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp
index 843a1bf341f..6a55f62e532 100644
--- a/src/widgets/dialogs/qmessagebox.cpp
+++ b/src/widgets/dialogs/qmessagebox.cpp
@@ -55,7 +55,6 @@
#include
#include
#include
-#include
#include
#include "qdialog_p.h"
#include
diff --git a/src/widgets/graphicsview/qgraph_p.h b/src/widgets/graphicsview/qgraph_p.h
index b42d4cf2e38..dfe9d8fdd3d 100644
--- a/src/widgets/graphicsview/qgraph_p.h
+++ b/src/widgets/graphicsview/qgraph_p.h
@@ -61,6 +61,8 @@
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
template
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout.cpp b/src/widgets/graphicsview/qgraphicsanchorlayout.cpp
index 176ce694a04..ea6a8018cae 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout.cpp
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout.cpp
@@ -135,7 +135,7 @@
*/
#include "qgraphicsanchorlayout_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
+
QT_BEGIN_NAMESPACE
QGraphicsAnchor::QGraphicsAnchor(QGraphicsAnchorLayout *parentLayout)
@@ -531,5 +531,3 @@ QSizeF QGraphicsAnchorLayout::sizeHint(Qt::SizeHint which, const QSizeF &constra
QT_END_NAMESPACE
#include "moc_qgraphicsanchorlayout.cpp"
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout.h b/src/widgets/graphicsview/qgraphicsanchorlayout.h
index 6d69957400a..01dc30718ac 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout.h
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout.h
@@ -44,12 +44,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsAnchorPrivate;
class QGraphicsAnchorLayout;
class QGraphicsAnchorLayoutPrivate;
@@ -115,8 +113,6 @@ private:
friend class QGraphicsAnchor;
};
-#endif
-
QT_END_NAMESPACE
#endif
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp
index 60e9039b4a4..71027f00a24 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp
@@ -50,7 +50,6 @@
#include
-#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
// To ensure that all variables inside the simplex solver are non-negative,
@@ -2976,4 +2975,3 @@ void QGraphicsAnchorLayoutPrivate::dumpGraph(const QString &name)
#endif
QT_END_NAMESPACE
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h
index 8da338dff76..e785b486bbe 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h
@@ -59,7 +59,9 @@
#include "qgraphicsanchorlayout.h"
#include "qgraph_p.h"
#include "qsimplex_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
+
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
/*
@@ -591,6 +593,5 @@ public:
};
QT_END_NAMESPACE
-#endif //QT_NO_GRAPHICSVIEW
#endif
diff --git a/src/widgets/graphicsview/qgraphicsgridlayout.cpp b/src/widgets/graphicsview/qgraphicsgridlayout.cpp
index ae761d3478e..d9005afbef0 100644
--- a/src/widgets/graphicsview/qgraphicsgridlayout.cpp
+++ b/src/widgets/graphicsview/qgraphicsgridlayout.cpp
@@ -79,8 +79,6 @@
#include "qglobal.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qapplication.h"
#include "qwidget.h"
#include "qgraphicslayout_p.h"
@@ -694,5 +692,3 @@ QSizePolicy::ControlTypes QGraphicsGridLayout::controlTypes(LayoutSide side) con
#endif
QT_END_NAMESPACE
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsgridlayout.h b/src/widgets/graphicsview/qgraphicsgridlayout.h
index c7c2edd2a25..fb9bc2e32ca 100644
--- a/src/widgets/graphicsview/qgraphicsgridlayout.h
+++ b/src/widgets/graphicsview/qgraphicsgridlayout.h
@@ -44,11 +44,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsGridLayoutPrivate;
class Q_WIDGETS_EXPORT QGraphicsGridLayout : public QGraphicsLayout
@@ -130,9 +129,6 @@ private:
inline void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *aitem, int arow, int acolumn, Qt::Alignment aalignment)
{ addItem(aitem, arow, acolumn, 1, 1, aalignment); }
-#endif
-
QT_END_NAMESPACE
#endif
-
diff --git a/src/widgets/graphicsview/qgraphicsgridlayoutengine.cpp b/src/widgets/graphicsview/qgraphicsgridlayoutengine.cpp
index 4723e29c90d..6a8d5c907ba 100644
--- a/src/widgets/graphicsview/qgraphicsgridlayoutengine.cpp
+++ b/src/widgets/graphicsview/qgraphicsgridlayoutengine.cpp
@@ -39,8 +39,6 @@
#include "qgraphicsgridlayoutengine_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicslayoutitem_p.h"
#include "qgraphicslayout_p.h"
#include "qgraphicswidget.h"
@@ -118,7 +116,4 @@ int QGraphicsGridLayoutEngine::stretchFactor(QGraphicsLayoutItem *layoutItem, Qt
return 0;
}
-
QT_END_NAMESPACE
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsgridlayoutengine_p.h b/src/widgets/graphicsview/qgraphicsgridlayoutengine_p.h
index a099dace6b3..d797f784b81 100644
--- a/src/widgets/graphicsview/qgraphicsgridlayoutengine_p.h
+++ b/src/widgets/graphicsview/qgraphicsgridlayoutengine_p.h
@@ -54,13 +54,13 @@
#include
#include
-#ifndef QT_NO_GRAPHICSVIEW
-
#include
#include
#include
#include "qgraphicslayoutitem.h"
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QGraphicsLayoutPrivate;
@@ -138,6 +138,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif // QGRAPHICSGRIDLAYOUTENGINE_P_H
diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp
index 239a110119b..a649d61135c 100644
--- a/src/widgets/graphicsview/qgraphicsitem.cpp
+++ b/src/widgets/graphicsview/qgraphicsitem.cpp
@@ -732,8 +732,6 @@
#include "qgraphicsitem.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicsscene.h"
#include "qgraphicsscene_p.h"
#include "qgraphicssceneevent.h"
@@ -11635,5 +11633,3 @@ QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemFlags flags)
QT_END_NAMESPACE
#include "moc_qgraphicsitem.cpp"
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsitem.h b/src/widgets/graphicsview/qgraphicsitem.h
index 35e3d544e97..11d872f6e69 100644
--- a/src/widgets/graphicsview/qgraphicsitem.h
+++ b/src/widgets/graphicsview/qgraphicsitem.h
@@ -50,11 +50,10 @@
class tst_QGraphicsItem;
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QBrush;
class QCursor;
class QFocusEvent;
@@ -1050,8 +1049,6 @@ Q_DECLARE_METATYPE(QGraphicsItem *)
QT_BEGIN_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
QT_END_NAMESPACE
#endif // QGRAPHICSITEM_H
diff --git a/src/widgets/graphicsview/qgraphicsitem_p.h b/src/widgets/graphicsview/qgraphicsitem_p.h
index 5c4523f9ed1..86414263a7f 100644
--- a/src/widgets/graphicsview/qgraphicsitem_p.h
+++ b/src/widgets/graphicsview/qgraphicsitem_p.h
@@ -61,7 +61,7 @@
#include
-#if !defined(QT_NO_GRAPHICSVIEW)
+QT_REQUIRE_CONFIG(graphicsview);
QT_BEGIN_NAMESPACE
@@ -815,6 +815,4 @@ inline void QGraphicsItemPrivate::markParentDirty(bool updateBoundingRect)
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif
diff --git a/src/widgets/graphicsview/qgraphicsitemanimation.cpp b/src/widgets/graphicsview/qgraphicsitemanimation.cpp
index c5687ee9b37..572ec141bc0 100644
--- a/src/widgets/graphicsview/qgraphicsitemanimation.cpp
+++ b/src/widgets/graphicsview/qgraphicsitemanimation.cpp
@@ -81,8 +81,6 @@
#include "qgraphicsitemanimation.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicsitem.h"
#include
@@ -595,5 +593,3 @@ void QGraphicsItemAnimation::afterAnimationStep(qreal step)
QT_END_NAMESPACE
#include "moc_qgraphicsitemanimation.cpp"
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsitemanimation.h b/src/widgets/graphicsview/qgraphicsitemanimation.h
index f02e0ac793c..a819acc880a 100644
--- a/src/widgets/graphicsview/qgraphicsitemanimation.h
+++ b/src/widgets/graphicsview/qgraphicsitemanimation.h
@@ -43,11 +43,10 @@
#include
#include
-#if !defined(QT_NO_GRAPHICSVIEW)
+QT_REQUIRE_CONFIG(graphicsview);
QT_BEGIN_NAMESPACE
-
class QGraphicsItem;
class QMatrix;
class QPointF;
@@ -110,5 +109,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
#endif
diff --git a/src/widgets/graphicsview/qgraphicslayout.cpp b/src/widgets/graphicsview/qgraphicslayout.cpp
index fc3b7ae503f..ca0aef9e27f 100644
--- a/src/widgets/graphicsview/qgraphicslayout.cpp
+++ b/src/widgets/graphicsview/qgraphicslayout.cpp
@@ -39,7 +39,6 @@
#include "qapplication.h"
-#ifndef QT_NO_GRAPHICSVIEW
#include "qgraphicslayout.h"
#include "qgraphicslayout_p.h"
#include "qgraphicslayoutitem.h"
@@ -521,5 +520,3 @@ bool QGraphicsLayout::instantInvalidatePropagation()
}
QT_END_NAMESPACE
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicslayout.h b/src/widgets/graphicsview/qgraphicslayout.h
index 5b1c4654146..bbe45bbdd6c 100644
--- a/src/widgets/graphicsview/qgraphicslayout.h
+++ b/src/widgets/graphicsview/qgraphicslayout.h
@@ -43,11 +43,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsLayoutPrivate;
class QGraphicsLayoutItem;
class QGraphicsWidget;
@@ -86,9 +85,6 @@ private:
Q_DECLARE_INTERFACE(QGraphicsLayout, "org.qt-project.Qt.QGraphicsLayout")
-#endif
-
QT_END_NAMESPACE
#endif
-
diff --git a/src/widgets/graphicsview/qgraphicslayout_p.cpp b/src/widgets/graphicsview/qgraphicslayout_p.cpp
index c478dc21479..ae1eeffa2bf 100644
--- a/src/widgets/graphicsview/qgraphicslayout_p.cpp
+++ b/src/widgets/graphicsview/qgraphicslayout_p.cpp
@@ -39,8 +39,6 @@
#include "qglobal.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicslayout_p.h"
#include "qgraphicslayout.h"
#include "qgraphicswidget.h"
@@ -195,7 +193,4 @@ void QGraphicsLayoutPrivate::activateRecursive(QGraphicsLayoutItem *item)
}
}
-
QT_END_NAMESPACE
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicslayout_p.h b/src/widgets/graphicsview/qgraphicslayout_p.h
index 47d86117861..302ad1e116b 100644
--- a/src/widgets/graphicsview/qgraphicslayout_p.h
+++ b/src/widgets/graphicsview/qgraphicslayout_p.h
@@ -53,14 +53,14 @@
#include
-#if !defined(QT_NO_GRAPHICSVIEW)
-
#include "qgraphicslayout.h"
#include "qgraphicslayoutitem_p.h"
#include
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QGraphicsLayoutItem;
@@ -144,9 +144,6 @@ public:
bool activated;
};
-
QT_END_NAMESPACE
-#endif //QT_NO_GRAPHICSVIEW
-
#endif
diff --git a/src/widgets/graphicsview/qgraphicslayoutitem.cpp b/src/widgets/graphicsview/qgraphicslayoutitem.cpp
index 785056a56fb..9951fc0383b 100644
--- a/src/widgets/graphicsview/qgraphicslayoutitem.cpp
+++ b/src/widgets/graphicsview/qgraphicslayoutitem.cpp
@@ -39,8 +39,6 @@
#include "qglobal.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicslayout.h"
#include "qgraphicsscene.h"
#include "qgraphicslayoutitem.h"
@@ -930,5 +928,3 @@ void QGraphicsLayoutItem::setGraphicsItem(QGraphicsItem *item)
}
QT_END_NAMESPACE
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicslayoutitem.h b/src/widgets/graphicsview/qgraphicslayoutitem.h
index 02bda0ad8d7..10c78704123 100644
--- a/src/widgets/graphicsview/qgraphicslayoutitem.h
+++ b/src/widgets/graphicsview/qgraphicslayoutitem.h
@@ -45,11 +45,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsLayoutItemPrivate;
class QGraphicsItem;
class Q_WIDGETS_EXPORT QGraphicsLayoutItem
@@ -141,8 +140,6 @@ inline qreal QGraphicsLayoutItem::maximumWidth() const
inline qreal QGraphicsLayoutItem::maximumHeight() const
{ return effectiveSizeHint(Qt::MaximumSize).height(); }
-#endif
-
QT_END_NAMESPACE
#endif
diff --git a/src/widgets/graphicsview/qgraphicslayoutitem_p.h b/src/widgets/graphicsview/qgraphicslayoutitem_p.h
index 96e7cc7fd98..6aaa85381e0 100644
--- a/src/widgets/graphicsview/qgraphicslayoutitem_p.h
+++ b/src/widgets/graphicsview/qgraphicslayoutitem_p.h
@@ -55,6 +55,8 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QGraphicsLayoutItem;
diff --git a/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp b/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp
index 8d0ddde0bc5..af969b346d6 100644
--- a/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp
+++ b/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp
@@ -39,8 +39,6 @@
#include "qgraphicslayoutstyleinfo_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicslayout_p.h"
#include "qgraphicswidget.h"
#include
@@ -108,5 +106,3 @@ QStyle *QGraphicsLayoutStyleInfo::style() const
}
QT_END_NAMESPACE
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h b/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h
index 9d3aa225489..3463ae71bfb 100644
--- a/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h
+++ b/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h
@@ -54,6 +54,8 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QStyle;
diff --git a/src/widgets/graphicsview/qgraphicslinearlayout.cpp b/src/widgets/graphicsview/qgraphicslinearlayout.cpp
index 6763af79055..8964b3b77a8 100644
--- a/src/widgets/graphicsview/qgraphicslinearlayout.cpp
+++ b/src/widgets/graphicsview/qgraphicslinearlayout.cpp
@@ -113,8 +113,6 @@
#include "qapplication.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qwidget.h"
#include "qgraphicslayout_p.h"
#include "qgraphicslayoutitem.h"
@@ -566,5 +564,3 @@ void QGraphicsLinearLayout::dump(int indent) const
}
QT_END_NAMESPACE
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicslinearlayout.h b/src/widgets/graphicsview/qgraphicslinearlayout.h
index ebe8e903d98..8186eea9875 100644
--- a/src/widgets/graphicsview/qgraphicslinearlayout.h
+++ b/src/widgets/graphicsview/qgraphicslinearlayout.h
@@ -44,11 +44,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsLinearLayoutPrivate;
class Q_WIDGETS_EXPORT QGraphicsLinearLayout : public QGraphicsLayout
@@ -105,9 +104,6 @@ private:
Q_DECLARE_PRIVATE(QGraphicsLinearLayout)
};
-#endif
-
QT_END_NAMESPACE
#endif
-
diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp
index 5e692abd73c..ebd245c4e7d 100644
--- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp
@@ -39,8 +39,6 @@
#include "qglobal.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicslayout.h"
#include "qgraphicsproxywidget.h"
#include "private/qgraphicsproxywidget_p.h"
@@ -1606,5 +1604,3 @@ QGraphicsProxyWidget *QGraphicsProxyWidget::newProxyWidget(const QWidget *)
QT_END_NAMESPACE
#include "moc_qgraphicsproxywidget.cpp"
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.h b/src/widgets/graphicsview/qgraphicsproxywidget.h
index c1564cba347..fd6369a1fdf 100644
--- a/src/widgets/graphicsview/qgraphicsproxywidget.h
+++ b/src/widgets/graphicsview/qgraphicsproxywidget.h
@@ -43,11 +43,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsProxyWidgetPrivate;
class Q_WIDGETS_EXPORT QGraphicsProxyWidget : public QGraphicsWidget
@@ -133,9 +132,6 @@ private:
friend class QGraphicsItem;
};
-#endif
-
QT_END_NAMESPACE
#endif
-
diff --git a/src/widgets/graphicsview/qgraphicsproxywidget_p.h b/src/widgets/graphicsview/qgraphicsproxywidget_p.h
index 46247729932..593b686e0e5 100644
--- a/src/widgets/graphicsview/qgraphicsproxywidget_p.h
+++ b/src/widgets/graphicsview/qgraphicsproxywidget_p.h
@@ -55,7 +55,7 @@
#include "qgraphicsproxywidget.h"
#include "private/qgraphicswidget_p.h"
-#if !defined(QT_NO_GRAPHICSVIEW)
+QT_REQUIRE_CONFIG(graphicsview);
QT_BEGIN_NAMESPACE
@@ -114,5 +114,3 @@ public:
QT_END_NAMESPACE
#endif
-
-#endif
diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp
index db41fc3eb96..8b088e7c019 100644
--- a/src/widgets/graphicsview/qgraphicsscene.cpp
+++ b/src/widgets/graphicsview/qgraphicsscene.cpp
@@ -203,8 +203,6 @@
#include "qgraphicsscene.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicsitem.h"
#include "qgraphicsitem_p.h"
#include "qgraphicslayout.h"
@@ -6585,5 +6583,3 @@ void QGraphicsScenePrivate::ungrabGesture(QGraphicsItem *item, Qt::GestureType g
QT_END_NAMESPACE
#include "moc_qgraphicsscene.cpp"
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsscene.h b/src/widgets/graphicsview/qgraphicsscene.h
index b1846303f79..d5155850670 100644
--- a/src/widgets/graphicsview/qgraphicsscene.h
+++ b/src/widgets/graphicsview/qgraphicsscene.h
@@ -50,11 +50,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
template class QList;
class QFocusEvent;
class QFont;
@@ -328,8 +327,6 @@ private:
Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers)
-#endif // QT_NO_GRAPHICSVIEW
-
QT_END_NAMESPACE
#endif
diff --git a/src/widgets/graphicsview/qgraphicsscene_bsp.cpp b/src/widgets/graphicsview/qgraphicsscene_bsp.cpp
index 77a3345d47b..81d2953d8f6 100644
--- a/src/widgets/graphicsview/qgraphicsscene_bsp.cpp
+++ b/src/widgets/graphicsview/qgraphicsscene_bsp.cpp
@@ -39,8 +39,6 @@
#include "qgraphicsscene_bsp_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include
#include
@@ -290,5 +288,3 @@ QRectF QGraphicsSceneBspTree::rectForIndex(int index) const
}
QT_END_NAMESPACE
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsscene_bsp_p.h b/src/widgets/graphicsview/qgraphicsscene_bsp_p.h
index 1ab9c10d6ad..26e612b2dd1 100644
--- a/src/widgets/graphicsview/qgraphicsscene_bsp_p.h
+++ b/src/widgets/graphicsview/qgraphicsscene_bsp_p.h
@@ -54,12 +54,12 @@
#include
#include
-#if !defined(QT_NO_GRAPHICSVIEW)
-
#include
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QGraphicsItem;
@@ -126,6 +126,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif // QGRAPHICSSCENEBSPTREE_P_H
diff --git a/src/widgets/graphicsview/qgraphicsscene_p.h b/src/widgets/graphicsview/qgraphicsscene_p.h
index c52770501f9..2f5d7c54bb1 100644
--- a/src/widgets/graphicsview/qgraphicsscene_p.h
+++ b/src/widgets/graphicsview/qgraphicsscene_p.h
@@ -54,8 +54,6 @@
#include
#include "qgraphicsscene.h"
-#if !defined(QT_NO_GRAPHICSVIEW)
-
#include "qgraphicssceneevent.h"
#include "qgraphicsview.h"
#include "qgraphicsview_p.h"
@@ -71,6 +69,8 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QGraphicsSceneIndex;
@@ -356,6 +356,4 @@ static inline QRectF adjustedItemEffectiveBoundingRect(const QGraphicsItem *item
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif
diff --git a/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp b/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp
index 203cc8007c5..69ddf54bc72 100644
--- a/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp
+++ b/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp
@@ -74,8 +74,6 @@
#include
-#ifndef QT_NO_GRAPHICSVIEW
-
#include
#include
#include
@@ -710,6 +708,3 @@ bool QGraphicsSceneBspTreeIndex::event(QEvent *event)
QT_END_NAMESPACE
#include "moc_qgraphicsscenebsptreeindex_p.cpp"
-
-#endif // QT_NO_GRAPHICSVIEW
-
diff --git a/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h b/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h
index b195a4757c0..8e78407762f 100644
--- a/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h
+++ b/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h
@@ -53,8 +53,6 @@
#include
-#if !defined(QT_NO_GRAPHICSVIEW)
-
#include "qgraphicssceneindex_p.h"
#include "qgraphicsitem_p.h"
#include "qgraphicsscene_bsp_p.h"
@@ -62,6 +60,8 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
static const int QGRAPHICSSCENE_INDEXTIMER_TIMEOUT = 2000;
@@ -199,6 +199,4 @@ static inline bool QRectF_intersects(const QRectF &s, const QRectF &r)
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif // QGRAPHICSBSPTREEINDEX_H
diff --git a/src/widgets/graphicsview/qgraphicssceneevent.cpp b/src/widgets/graphicsview/qgraphicssceneevent.cpp
index 763688191db..f7f09486e94 100644
--- a/src/widgets/graphicsview/qgraphicssceneevent.cpp
+++ b/src/widgets/graphicsview/qgraphicssceneevent.cpp
@@ -259,8 +259,6 @@
#include "qgraphicssceneevent.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#ifndef QT_NO_DEBUG
#include
#endif
@@ -1733,5 +1731,3 @@ void QGraphicsSceneMoveEvent::setNewPos(const QPointF &pos)
}
QT_END_NAMESPACE
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicssceneevent.h b/src/widgets/graphicsview/qgraphicssceneevent.h
index 4d6cde1b872..77b53e401d3 100644
--- a/src/widgets/graphicsview/qgraphicssceneevent.h
+++ b/src/widgets/graphicsview/qgraphicssceneevent.h
@@ -51,11 +51,10 @@
#include
#endif
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QMimeData;
class QPointF;
class QSizeF;
@@ -321,8 +320,6 @@ public:
void setNewPos(const QPointF &pos);
};
-#endif // QT_NO_GRAPHICSVIEW
-
QT_END_NAMESPACE
#endif
diff --git a/src/widgets/graphicsview/qgraphicssceneindex.cpp b/src/widgets/graphicsview/qgraphicssceneindex.cpp
index a956a492ac1..c2e9cb47299 100644
--- a/src/widgets/graphicsview/qgraphicssceneindex.cpp
+++ b/src/widgets/graphicsview/qgraphicssceneindex.cpp
@@ -61,8 +61,6 @@
#include "qgraphicssceneindex_p.h"
#include "qgraphicsscenebsptreeindex_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
QT_BEGIN_NAMESPACE
namespace QtPrivate { // just to keep indentation of the following functions at the same level
@@ -627,5 +625,3 @@ void QGraphicsSceneIndex::prepareBoundingRectChange(const QGraphicsItem *item)
QT_END_NAMESPACE
#include "moc_qgraphicssceneindex_p.cpp"
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicssceneindex_p.h b/src/widgets/graphicsview/qgraphicssceneindex_p.h
index 2085acd5323..bdc57bd9eaf 100644
--- a/src/widgets/graphicsview/qgraphicssceneindex_p.h
+++ b/src/widgets/graphicsview/qgraphicssceneindex_p.h
@@ -60,11 +60,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsSceneIndexPrivate;
class QPointF;
class QRectF;
@@ -156,8 +155,6 @@ inline void QGraphicsSceneIndexPrivate::items_helper(const QRectF &rect, QGraphi
}
}
-#endif // QT_NO_GRAPHICSVIEW
-
QT_END_NAMESPACE
#endif // QGRAPHICSSCENEINDEX_H
diff --git a/src/widgets/graphicsview/qgraphicsscenelinearindex_p.h b/src/widgets/graphicsview/qgraphicsscenelinearindex_p.h
index 47cba93fce9..a59a8ac1b06 100644
--- a/src/widgets/graphicsview/qgraphicsscenelinearindex_p.h
+++ b/src/widgets/graphicsview/qgraphicsscenelinearindex_p.h
@@ -53,15 +53,14 @@
#include
-#if !defined(QT_NO_GRAPHICSVIEW)
-
#include
#include
#include
#include
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(graphicsview);
+QT_BEGIN_NAMESPACE
class Q_AUTOTEST_EXPORT QGraphicsSceneLinearIndex : public QGraphicsSceneIndex
{
@@ -116,6 +115,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif // QGRAPHICSSCENELINEARINDEX_H
diff --git a/src/widgets/graphicsview/qgraphicstransform.cpp b/src/widgets/graphicsview/qgraphicstransform.cpp
index db3f8b4a51b..0f0d9aaddc6 100644
--- a/src/widgets/graphicsview/qgraphicstransform.cpp
+++ b/src/widgets/graphicsview/qgraphicstransform.cpp
@@ -93,7 +93,6 @@
#include
#include
-#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
QGraphicsTransformPrivate::~QGraphicsTransformPrivate()
@@ -597,4 +596,3 @@ void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const
#include "moc_qgraphicstransform.cpp"
QT_END_NAMESPACE
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicstransform.h b/src/widgets/graphicsview/qgraphicstransform.h
index 6a769267250..ceeb314c864 100644
--- a/src/widgets/graphicsview/qgraphicstransform.h
+++ b/src/widgets/graphicsview/qgraphicstransform.h
@@ -46,9 +46,9 @@
#include
#include
-#ifndef QT_NO_GRAPHICSVIEW
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(graphicsview);
+QT_BEGIN_NAMESPACE
class QGraphicsItem;
class QGraphicsTransformPrivate;
@@ -149,6 +149,4 @@ private:
QT_END_NAMESPACE
-#endif //QT_NO_GRAPHICSVIEW
-
#endif // QFXTRANSFORM_H
diff --git a/src/widgets/graphicsview/qgraphicstransform_p.h b/src/widgets/graphicsview/qgraphicstransform_p.h
index 38dbd51c2e4..e54ee9fb3cb 100644
--- a/src/widgets/graphicsview/qgraphicstransform_p.h
+++ b/src/widgets/graphicsview/qgraphicstransform_p.h
@@ -54,7 +54,7 @@
#include
#include "private/qobject_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
+QT_REQUIRE_CONFIG(graphicsview);
QT_BEGIN_NAMESPACE
@@ -77,6 +77,4 @@ public:
QT_END_NAMESPACE
-#endif //QT_NO_GRAPHICSVIEW
-
#endif // QGRAPHICSTRANSFORM_P_H
diff --git a/src/widgets/graphicsview/qgraphicsview.cpp b/src/widgets/graphicsview/qgraphicsview.cpp
index a00156ef01e..4b7890e9fff 100644
--- a/src/widgets/graphicsview/qgraphicsview.cpp
+++ b/src/widgets/graphicsview/qgraphicsview.cpp
@@ -271,8 +271,6 @@ static const int QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS = 503; // largest prime <
#include "qgraphicsview.h"
#include "qgraphicsview_p.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicsitem.h"
#include "qgraphicsitem_p.h"
#include "qgraphicsscene.h"
@@ -3935,5 +3933,3 @@ QRectF QGraphicsViewPrivate::mapToScene(const QRectF &rect) const
QT_END_NAMESPACE
#include "moc_qgraphicsview.cpp"
-
-#endif // QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicsview.h b/src/widgets/graphicsview/qgraphicsview.h
index d70ce6cf1ca..a9e4efefaf5 100644
--- a/src/widgets/graphicsview/qgraphicsview.h
+++ b/src/widgets/graphicsview/qgraphicsview.h
@@ -46,11 +46,10 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
-
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsItem;
class QPainterPath;
class QPolygonF;
@@ -313,8 +312,6 @@ inline QPoint QGraphicsView::mapFromScene(qreal ax, qreal ay) const
inline QPolygon QGraphicsView::mapFromScene(qreal ax, qreal ay, qreal w, qreal h) const
{ return mapFromScene(QRectF(ax, ay, w, h)); }
-#endif // QT_NO_GRAPHICSVIEW
-
QT_END_NAMESPACE
#endif // QGRAPHICSVIEW_H
diff --git a/src/widgets/graphicsview/qgraphicsview_p.h b/src/widgets/graphicsview/qgraphicsview_p.h
index b34be77f117..0428b9ce70f 100644
--- a/src/widgets/graphicsview/qgraphicsview_p.h
+++ b/src/widgets/graphicsview/qgraphicsview_p.h
@@ -54,8 +54,6 @@
#include
#include "qgraphicsview.h"
-#if !defined(QT_NO_GRAPHICSVIEW)
-
#include
#include
#include "qgraphicssceneevent.h"
@@ -63,6 +61,8 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class Q_WIDGETS_EXPORT QGraphicsViewPrivate : public QAbstractScrollAreaPrivate
@@ -231,6 +231,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_GRAPHICSVIEW
-
#endif
diff --git a/src/widgets/graphicsview/qgraphicswidget.cpp b/src/widgets/graphicsview/qgraphicswidget.cpp
index 1ff01b875cb..c658e40a9ee 100644
--- a/src/widgets/graphicsview/qgraphicswidget.cpp
+++ b/src/widgets/graphicsview/qgraphicswidget.cpp
@@ -39,8 +39,6 @@
#include "qglobal.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include "qgraphicswidget.h"
#include "qgraphicswidget_p.h"
#include "qgraphicslayout.h"
@@ -2425,5 +2423,3 @@ void QGraphicsWidget::dumpFocusChain()
QT_END_NAMESPACE
#include "moc_qgraphicswidget.cpp"
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicswidget.h b/src/widgets/graphicsview/qgraphicswidget.h
index 5cb97db381f..831511d14a7 100644
--- a/src/widgets/graphicsview/qgraphicswidget.h
+++ b/src/widgets/graphicsview/qgraphicswidget.h
@@ -46,8 +46,9 @@
#include
#include
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(graphicsview);
+QT_BEGIN_NAMESPACE
class QFont;
class QFontMetrics;
@@ -58,8 +59,6 @@ class QGraphicsSceneResizeEvent;
class QStyle;
class QStyleOption;
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsWidgetPrivate;
class Q_WIDGETS_EXPORT QGraphicsWidget : public QGraphicsObject, public QGraphicsLayoutItem
@@ -239,8 +238,6 @@ private:
inline void QGraphicsWidget::setGeometry(qreal ax, qreal ay, qreal aw, qreal ah)
{ setGeometry(QRectF(ax, ay, aw, ah)); }
-#endif
-
QT_END_NAMESPACE
#endif
diff --git a/src/widgets/graphicsview/qgraphicswidget_p.cpp b/src/widgets/graphicsview/qgraphicswidget_p.cpp
index f3c568fa015..c913e210b99 100644
--- a/src/widgets/graphicsview/qgraphicswidget_p.cpp
+++ b/src/widgets/graphicsview/qgraphicswidget_p.cpp
@@ -39,8 +39,6 @@
#include "qglobal.h"
-#ifndef QT_NO_GRAPHICSVIEW
-
#include
#include
#include "qgraphicswidget_p.h"
@@ -897,5 +895,3 @@ void QGraphicsWidgetPrivate::setGeometryFromSetPos()
}
QT_END_NAMESPACE
-
-#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/widgets/graphicsview/qgraphicswidget_p.h b/src/widgets/graphicsview/qgraphicswidget_p.h
index 18542c68e60..0fb9fbba073 100644
--- a/src/widgets/graphicsview/qgraphicswidget_p.h
+++ b/src/widgets/graphicsview/qgraphicswidget_p.h
@@ -60,13 +60,13 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
class QGraphicsLayout;
class QStyleOptionTitleBar;
-#if !defined(QT_NO_GRAPHICSVIEW)
-
class QGraphicsWidgetPrivate : public QGraphicsItemPrivate
{
Q_DECLARE_PUBLIC(QGraphicsWidget)
@@ -201,8 +201,6 @@ public:
#endif
};
-#endif
-
QT_END_NAMESPACE
#endif //QGRAPHICSWIDGET_P_H
diff --git a/src/widgets/graphicsview/qsimplex_p.h b/src/widgets/graphicsview/qsimplex_p.h
index 634b2e04256..2342da24373 100644
--- a/src/widgets/graphicsview/qsimplex_p.h
+++ b/src/widgets/graphicsview/qsimplex_p.h
@@ -56,6 +56,8 @@
#include
#include
+QT_REQUIRE_CONFIG(graphicsview);
+
QT_BEGIN_NAMESPACE
struct QSimplexVariable
diff --git a/src/widgets/kernel/qaction.cpp b/src/widgets/kernel/qaction.cpp
index 57b1f311887..a7116b14627 100644
--- a/src/widgets/kernel/qaction.cpp
+++ b/src/widgets/kernel/qaction.cpp
@@ -114,7 +114,7 @@ void QActionPrivate::sendDataChanged()
QWidget *w = widgets.at(i);
QApplication::sendEvent(w, &e);
}
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
for (int i = 0; i < graphicsWidgets.size(); ++i) {
QGraphicsWidget *w = graphicsWidgets.at(i);
QApplication::sendEvent(w, &e);
@@ -279,6 +279,8 @@ void QActionPrivate::setShortcutEnabled(bool enable, QShortcutMap &map)
/*!
Constructs an action with \a parent. If \a parent is an action
group the action will be automatically inserted into the group.
+
+ \note The \a parent argument is optional since Qt 5.7.
*/
QAction::QAction(QObject* parent)
: QAction(*new QActionPrivate, parent)
@@ -360,7 +362,7 @@ QList QAction::associatedWidgets() const
return d->widgets;
}
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
/*!
\since 4.5
Returns a list of widgets this action has been added to.
@@ -565,7 +567,7 @@ QAction::~QAction()
QWidget *w = d->widgets.at(i);
w->removeAction(this);
}
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
for (int i = d->graphicsWidgets.size()-1; i >= 0; --i) {
QGraphicsWidget *w = d->graphicsWidgets.at(i);
w->removeAction(this);
diff --git a/src/widgets/kernel/qaction.h b/src/widgets/kernel/qaction.h
index d2110169319..ca127ef51aa 100644
--- a/src/widgets/kernel/qaction.h
+++ b/src/widgets/kernel/qaction.h
@@ -175,7 +175,7 @@ public:
QWidget *parentWidget() const;
QList associatedWidgets() const;
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
QList associatedGraphicsWidgets() const; // ### suboptimal
#endif
diff --git a/src/widgets/kernel/qaction_p.h b/src/widgets/kernel/qaction_p.h
index 6813ca08f65..4c1537b63bd 100644
--- a/src/widgets/kernel/qaction_p.h
+++ b/src/widgets/kernel/qaction_p.h
@@ -54,7 +54,9 @@
#include
#include "QtWidgets/qaction.h"
#include "QtWidgets/qmenu.h"
+#if QT_CONFIG(graphicsview)
#include "private/qgraphicswidget_p.h"
+#endif
#include "private/qobject_p.h"
QT_BEGIN_NAMESPACE
@@ -112,7 +114,7 @@ public:
QAction::Priority priority;
QList widgets;
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
QList graphicsWidgets;
#endif
#ifndef QT_NO_SHORTCUT
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index 09162b9ab46..ee61a25b093 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -47,7 +47,10 @@
#include "qevent.h"
#include "qfile.h"
#include "qfileinfo.h"
+#if QT_CONFIG(graphicsview)
#include "qgraphicsscene.h"
+#include
+#endif
#include "qhash.h"
#include "qset.h"
#include "qlayout.h"
@@ -70,7 +73,6 @@
#include "qmessagebox.h"
#endif
#include "qwidgetwindow_p.h"
-#include
#include
#include
#include
@@ -1443,13 +1445,13 @@ void QApplicationPrivate::setPalette_helper(const QPalette &palette, const char*
}
// Send to all scenes as well.
-#ifndef QT_NO_GRAPHICSVIEW
+#if QT_CONFIG(graphicsview)
QList &scenes = qApp->d_func()->scene_list;
for (QList