summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfileinfo.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-07-20 11:02:31 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-25 13:33:05 +0200
commit5fd8dd19ea28e2bd9cc8ce88321a401206a88f89 (patch)
tree2fc3748fd9ca85521c23da139428c69324f63e43 /src/corelib/io/qfileinfo.h
parent790aca0ea1bbd33a8ff29c83c0ab0bd968304f03 (diff)
QtWidgets: use nullary version of qRegisterMetaType<T>("T")
Using qRegisterMetaType<T>() has the advantage that multiple calls during a program run are much more efficient, since an inlined atomic is used to store the result. It also ensures that Q_DECLARE_METATYPE(T) has been used, whereas qRegisterMetaType<T>("T") will happily register anything. Had to add Q_DECLARE_METATYPE to QFileInfo, for QList<QPair<QString,QFileInfo>> of QFileSystemModel to work with the partial specialisations of Q_DECLARE_METATYPE for QList, QPair. In order to synchronize this change with other modules that did their own Q_DECLARE_METATYPE(QFileInfo), a sync macro is defined that can be tested in other modules, and will later be removed again. Change-Id: I3004664e07e64cd885d5a03a57ff4e4379804aec Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src/corelib/io/qfileinfo.h')
-rw-r--r--src/corelib/io/qfileinfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index 6b1f79ab3c..bccecd695e 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -45,6 +45,7 @@
#include <QtCore/qfile.h>
#include <QtCore/qlist.h>
#include <QtCore/qshareddata.h>
+#include <QtCore/qmetatype.h>
QT_BEGIN_HEADER
@@ -156,6 +157,9 @@ typedef QList<QFileInfo> QFileInfoList;
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QFileInfo)
+#define QT_QFILEINFO_METATYPE_DEFINED
+
QT_END_HEADER
#endif // QFILEINFO_H