summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qabstractitemmodel.cpp
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2009-06-10 22:40:02 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2009-06-10 22:40:02 (GMT)
commitd911206aed44fa3839132d2bf62b2ba21bd93a72 (patch)
tree025e7c3498fe770ea557dd2fdc9d905bb9f0d5bb /src/corelib/kernel/qabstractitemmodel.cpp
parentdf4763878d756fe1f5bcfe6b7dd8cf91cdd091e1 (diff)
parent9ba808cf3fa6118822b7fc9ed9f8f2d0ce2218c3 (diff)
downloadQt-d911206aed44fa3839132d2bf62b2ba21bd93a72.zip
Qt-d911206aed44fa3839132d2bf62b2ba21bd93a72.tar.gz
Qt-d911206aed44fa3839132d2bf62b2ba21bd93a72.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/corelib/kernel/qabstractitemmodel.cpp')
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index dd4f3f3..e57ca33 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -482,6 +482,37 @@ const QHash<int,QByteArray> &QAbstractItemModelPrivate::defaultRoleNames()
return roleNames;
}
+/*!
+ \internal
+ return true if \a value contains a numerical type
+
+ This function is used by our Q{Tree,Widget,Table}WidgetModel classes to sort.
+ We cannot rely on QVariant::canConvert because this would take strings as double
+ and then not sort strings correctly
+*/
+bool QAbstractItemModelPrivate::canConvertToDouble(const QVariant &value)
+{
+ switch (value.userType()) {
+ case QVariant::Bool:
+ case QVariant::Int:
+ case QVariant::UInt:
+ case QVariant::LongLong:
+ case QVariant::ULongLong:
+ case QVariant::Double:
+ case QVariant::Char:
+ case QMetaType::Float:
+ case QMetaType::Short:
+ case QMetaType::UShort:
+ case QMetaType::UChar:
+ case QMetaType::ULong:
+ case QMetaType::Long:
+ return true;
+ default:
+ return false;
+ }
+ return false;
+}
+
void QAbstractItemModelPrivate::removePersistentIndexData(QPersistentModelIndexData *data)
{
if (data->index.isValid()) {