diff options
Diffstat (limited to 'src/gui/itemmodels')
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel.cpp | 48 | ||||
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel.h | 1 | ||||
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel_p.h | 1 |
3 files changed, 7 insertions, 43 deletions
diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp index 5c04510af1..e965045524 100644 --- a/src/gui/itemmodels/qstandarditemmodel.cpp +++ b/src/gui/itemmodels/qstandarditemmodel.cpp @@ -705,20 +705,16 @@ void QStandardItemModelPrivate::columnsRemoved(QStandardItem *parent, Constructs an item. */ QStandardItem::QStandardItem() - : d_ptr(new QStandardItemPrivate) + : QStandardItem(*new QStandardItemPrivate) { - Q_D(QStandardItem); - d->q_ptr = this; } /*! Constructs an item with the given \a text. */ QStandardItem::QStandardItem(const QString &text) - : d_ptr(new QStandardItemPrivate) + : QStandardItem(*new QStandardItemPrivate) { - Q_D(QStandardItem); - d->q_ptr = this; setText(text); } @@ -726,22 +722,17 @@ QStandardItem::QStandardItem(const QString &text) Constructs an item with the given \a icon and \a text. */ QStandardItem::QStandardItem(const QIcon &icon, const QString &text) - : d_ptr(new QStandardItemPrivate) + : QStandardItem(text) { - Q_D(QStandardItem); - d->q_ptr = this; setIcon(icon); - setText(text); } /*! Constructs an item with \a rows rows and \a columns columns of child items. */ QStandardItem::QStandardItem(int rows, int columns) - : d_ptr(new QStandardItemPrivate) + : QStandardItem(*new QStandardItemPrivate) { - Q_D(QStandardItem); - d->q_ptr = this; setRowCount(rows); setColumnCount(columns); } @@ -1877,36 +1868,7 @@ bool QStandardItem::operator<(const QStandardItem &other) const { const int role = model() ? model()->sortRole() : Qt::DisplayRole; const QVariant l = data(role), r = other.data(role); - // this code is copied from QSortFilterProxyModel::lessThan() - if (l.userType() == QVariant::Invalid) - return false; - if (r.userType() == QVariant::Invalid) - return true; - switch (l.userType()) { - case QVariant::Int: - return l.toInt() < r.toInt(); - case QVariant::UInt: - return l.toUInt() < r.toUInt(); - case QVariant::LongLong: - return l.toLongLong() < r.toLongLong(); - case QVariant::ULongLong: - return l.toULongLong() < r.toULongLong(); - case QMetaType::Float: - return l.toFloat() < r.toFloat(); - case QVariant::Double: - return l.toDouble() < r.toDouble(); - case QVariant::Char: - return l.toChar() < r.toChar(); - case QVariant::Date: - return l.toDate() < r.toDate(); - case QVariant::Time: - return l.toTime() < r.toTime(); - case QVariant::DateTime: - return l.toDateTime() < r.toDateTime(); - case QVariant::String: - default: - return l.toString().compare(r.toString()) < 0; - } + return QAbstractItemModelPrivate::isVariantLessThan(l, r); } /*! diff --git a/src/gui/itemmodels/qstandarditemmodel.h b/src/gui/itemmodels/qstandarditemmodel.h index 476b936a25..a9cde106c1 100644 --- a/src/gui/itemmodels/qstandarditemmodel.h +++ b/src/gui/itemmodels/qstandarditemmodel.h @@ -40,6 +40,7 @@ #ifndef QSTANDARDITEMMODEL_H #define QSTANDARDITEMMODEL_H +#include <QtGui/qtguiglobal.h> #include <QtCore/qabstractitemmodel.h> #include <QtGui/qbrush.h> #include <QtGui/qfont.h> diff --git a/src/gui/itemmodels/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h index 1849e1a850..fbba93b93a 100644 --- a/src/gui/itemmodels/qstandarditemmodel_p.h +++ b/src/gui/itemmodels/qstandarditemmodel_p.h @@ -51,6 +51,7 @@ // We mean it. // +#include <QtGui/private/qtguiglobal_p.h> #include "private/qabstractitemmodel_p.h" #ifndef QT_NO_STANDARDITEMMODEL |