summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2012-06-26 17:30:57 +0100
committerQt by Nokia <qt-info@nokia.com>2012-06-29 22:42:19 +0200
commitdba22bc03690eaa00a7757dd024d8953ec74b30c (patch)
tree3c5cfc060642467bed2b457f35996f86cbb48bc9
parentf4f0c8b99b362822f85dd1859518e89d33e4bd3b (diff)
Move QStandardItem/QStandardItemModel to QtGui
The dependencies on QFont, QBrush, QIcon are all in QtGui, so there's little sense to still have these classes in QtWidgets. This also copies and pastes a version of QWidgetItemData as QStandardItemData inside qstandarditemmodel_p.h. Change-Id: Ibafc5a30748e7ce0b54753309ae6dc4a797fc20e Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
-rw-r--r--src/gui/gui.pro1
-rw-r--r--src/gui/itemmodels/itemmodels.pri6
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.cpp (renamed from src/widgets/itemviews/qstandarditemmodel.cpp)16
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.h (renamed from src/widgets/itemviews/qstandarditemmodel.h)8
-rw-r--r--src/gui/itemmodels/qstandarditemmodel_p.h (renamed from src/widgets/itemviews/qstandarditemmodel_p.h)31
-rw-r--r--src/widgets/itemviews/itemviews.pri3
-rw-r--r--src/widgets/widgets/qcombobox_p.h2
-rw-r--r--sync.profile6
-rw-r--r--tests/auto/corelib/itemmodels/qidentityproxymodel/qidentityproxymodel.pro2
-rw-r--r--tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp2
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp2
-rw-r--r--tests/auto/gui/gui.pro1
-rw-r--r--tests/auto/gui/itemmodels/itemmodels.pro4
-rw-r--r--tests/auto/gui/itemmodels/qstandarditem/.gitignore (renamed from tests/auto/widgets/itemviews/qstandarditem/.gitignore)0
-rw-r--r--tests/auto/gui/itemmodels/qstandarditem/qstandarditem.pro (renamed from tests/auto/widgets/itemviews/qstandarditem/qstandarditem.pro)2
-rw-r--r--tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp (renamed from tests/auto/widgets/itemviews/qstandarditem/tst_qstandarditem.cpp)0
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/.gitignore (renamed from tests/auto/widgets/itemviews/qstandarditemmodel/.gitignore)0
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro (renamed from tests/auto/widgets/itemviews/qstandarditemmodel/qstandarditemmodel.pro)0
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp (renamed from tests/auto/widgets/itemviews/qstandarditemmodel/tst_qstandarditemmodel.cpp)0
-rw-r--r--tests/auto/widgets/itemviews/itemviews.pro2
20 files changed, 63 insertions, 25 deletions
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index ab4e555f8b..277000aac1 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -28,6 +28,7 @@ include(util/util.pri)
include(math3d/math3d.pri)
include(opengl/opengl.pri)
include(animation/animation.pri)
+include(itemmodels/itemmodels.pri)
QMAKE_LIBS += $$QMAKE_LIBS_GUI
diff --git a/src/gui/itemmodels/itemmodels.pri b/src/gui/itemmodels/itemmodels.pri
new file mode 100644
index 0000000000..65bcd7c1ba
--- /dev/null
+++ b/src/gui/itemmodels/itemmodels.pri
@@ -0,0 +1,6 @@
+HEADERS += \
+ itemmodels/qstandarditemmodel.h \
+ itemmodels/qstandarditemmodel_p.h \
+
+SOURCES += \
+ itemmodels/qstandarditemmodel.cpp \
diff --git a/src/widgets/itemviews/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp
index 45ffa249e5..2d296a0e59 100644
--- a/src/widgets/itemviews/qstandarditemmodel.cpp
+++ b/src/gui/itemmodels/qstandarditemmodel.cpp
@@ -189,14 +189,14 @@ void QStandardItemPrivate::setItemData(const QMap<int, QVariant> &roles)
Q_Q(QStandardItem);
//let's build the vector of new values
- QVector<QWidgetItemData> newValues;
+ QVector<QStandardItemData> newValues;
QMap<int, QVariant>::const_iterator it;
for (it = roles.begin(); it != roles.end(); ++it) {
QVariant value = it.value();
if (value.isValid()) {
int role = it.key();
role = (role == Qt::EditRole) ? Qt::DisplayRole : role;
- QWidgetItemData wid(role,it.value());
+ QStandardItemData wid(role,it.value());
newValues.append(wid);
}
}
@@ -214,7 +214,7 @@ void QStandardItemPrivate::setItemData(const QMap<int, QVariant> &roles)
const QMap<int, QVariant> QStandardItemPrivate::itemData() const
{
QMap<int, QVariant> result;
- QVector<QWidgetItemData>::const_iterator it;
+ QVector<QStandardItemData>::const_iterator it;
for (it = values.begin(); it != values.end(); ++it)
result.insert((*it).role, (*it).value);
return result;
@@ -614,7 +614,7 @@ void QStandardItemModelPrivate::columnsRemoved(QStandardItem *parent,
QStandardItemModel class.
\since 4.2
\ingroup model-view
- \inmodule QtWidgets
+ \inmodule QtGui
Items usually contain text, icons, or checkboxes.
@@ -812,7 +812,7 @@ void QStandardItem::setData(const QVariant &value, int role)
{
Q_D(QStandardItem);
role = (role == Qt::EditRole) ? Qt::DisplayRole : role;
- QVector<QWidgetItemData>::iterator it;
+ QVector<QStandardItemData>::iterator it;
for (it = d->values.begin(); it != d->values.end(); ++it) {
if ((*it).role == role) {
if (value.isValid()) {
@@ -827,7 +827,7 @@ void QStandardItem::setData(const QVariant &value, int role)
return;
}
}
- d->values.append(QWidgetItemData(role, value));
+ d->values.append(QStandardItemData(role, value));
if (d->model)
d->model->d_func()->itemChanged(this);
}
@@ -843,7 +843,7 @@ QVariant QStandardItem::data(int role) const
{
Q_D(const QStandardItem);
role = (role == Qt::EditRole) ? Qt::DisplayRole : role;
- QVector<QWidgetItemData>::const_iterator it;
+ QVector<QStandardItemData>::const_iterator it;
for (it = d->values.begin(); it != d->values.end(); ++it) {
if ((*it).role == role)
return (*it).value;
@@ -1954,7 +1954,7 @@ QDataStream &operator<<(QDataStream &out, const QStandardItem &item)
\class QStandardItemModel
\brief The QStandardItemModel class provides a generic model for storing custom data.
\ingroup model-view
- \inmodule QtWidgets
+ \inmodule QtGui
QStandardItemModel can be used as a repository for standard Qt
data types. It is one of the \l {Model/View Classes} and is part
diff --git a/src/widgets/itemviews/qstandarditemmodel.h b/src/gui/itemmodels/qstandarditemmodel.h
index 2f449ab97a..8b3bc1c9be 100644
--- a/src/widgets/itemviews/qstandarditemmodel.h
+++ b/src/gui/itemmodels/qstandarditemmodel.h
@@ -62,7 +62,7 @@ template <class T> class QList;
class QStandardItemModel;
class QStandardItemPrivate;
-class Q_WIDGETS_EXPORT QStandardItem
+class Q_GUI_EXPORT QStandardItem
{
public:
QStandardItem();
@@ -314,7 +314,7 @@ inline void QStandardItem::appendRow(QStandardItem *aitem)
class QStandardItemModelPrivate;
-class Q_WIDGETS_EXPORT QStandardItemModel : public QAbstractItemModel
+class Q_GUI_EXPORT QStandardItemModel : public QAbstractItemModel
{
Q_OBJECT
Q_PROPERTY(int sortRole READ sortRole WRITE setSortRole)
@@ -444,8 +444,8 @@ inline bool QStandardItemModel::insertColumn(int acolumn, const QModelIndex &apa
{ return QAbstractItemModel::insertColumn(acolumn, aparent); }
#ifndef QT_NO_DATASTREAM
-Q_WIDGETS_EXPORT QDataStream &operator>>(QDataStream &in, QStandardItem &item);
-Q_WIDGETS_EXPORT QDataStream &operator<<(QDataStream &out, const QStandardItem &item);
+Q_GUI_EXPORT QDataStream &operator>>(QDataStream &in, QStandardItem &item);
+Q_GUI_EXPORT QDataStream &operator<<(QDataStream &out, const QStandardItem &item);
#endif
#endif // QT_NO_STANDARDITEMMODEL
diff --git a/src/widgets/itemviews/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h
index 8278bd195b..ba43bbd5dc 100644
--- a/src/widgets/itemviews/qstandarditemmodel_p.h
+++ b/src/gui/itemmodels/qstandarditemmodel_p.h
@@ -57,7 +57,6 @@
#ifndef QT_NO_STANDARDITEMMODEL
-#include <private/qwidgetitemdata_p.h>
#include <QtCore/qlist.h>
#include <QtCore/qpair.h>
#include <QtCore/qstack.h>
@@ -66,6 +65,34 @@
QT_BEGIN_NAMESPACE
+class QStandardItemData
+{
+public:
+ inline QStandardItemData() : role(-1) {}
+ inline QStandardItemData(int r, QVariant v) : role(r), value(v) {}
+ int role;
+ QVariant value;
+ inline bool operator==(const QStandardItemData &other) const { return role == other.role && value == other.value; }
+};
+
+#ifndef QT_NO_DATASTREAM
+
+inline QDataStream &operator>>(QDataStream &in, QStandardItemData &data)
+{
+ in >> data.role;
+ in >> data.value;
+ return in;
+}
+
+inline QDataStream &operator<<(QDataStream &out, const QStandardItemData &data)
+{
+ out << data.role;
+ out << data.value;
+ return out;
+}
+
+#endif // QT_NO_DATASTREAM
+
class QStandardItemPrivate
{
Q_DECLARE_PUBLIC(QStandardItem)
@@ -126,7 +153,7 @@ public:
QStandardItemModel *model;
QStandardItem *parent;
- QVector<QWidgetItemData> values;
+ QVector<QStandardItemData> values;
QVector<QStandardItem*> children;
int rows;
int columns;
diff --git a/src/widgets/itemviews/itemviews.pri b/src/widgets/itemviews/itemviews.pri
index d5a5012f83..fa44b0b997 100644
--- a/src/widgets/itemviews/itemviews.pri
+++ b/src/widgets/itemviews/itemviews.pri
@@ -25,8 +25,6 @@ HEADERS += \
itemviews/qproxymodel_p.h \
itemviews/qitemeditorfactory.h \
itemviews/qitemeditorfactory_p.h \
- itemviews/qstandarditemmodel.h \
- itemviews/qstandarditemmodel_p.h \
itemviews/qtreewidgetitemiterator.h \
itemviews/qdatawidgetmapper.h \
itemviews/qfileiconprovider.h \
@@ -50,7 +48,6 @@ SOURCES += \
itemviews/qtreewidget.cpp \
itemviews/qproxymodel.cpp \
itemviews/qitemeditorfactory.cpp \
- itemviews/qstandarditemmodel.cpp \
itemviews/qtreewidgetitemiterator.cpp \
itemviews/qdatawidgetmapper.cpp \
itemviews/qfileiconprovider.cpp \
diff --git a/src/widgets/widgets/qcombobox_p.h b/src/widgets/widgets/qcombobox_p.h
index 68b52aeac2..dbb23973f1 100644
--- a/src/widgets/widgets/qcombobox_p.h
+++ b/src/widgets/widgets/qcombobox_p.h
@@ -59,7 +59,7 @@
#include "QtWidgets/qabstractslider.h"
#include "QtWidgets/qapplication.h"
#include "QtWidgets/qitemdelegate.h"
-#include "QtWidgets/qstandarditemmodel.h"
+#include "QtGui/qstandarditemmodel.h"
#include "QtWidgets/qlineedit.h"
#include "QtWidgets/qlistview.h"
#include "QtGui/qpainter.h"
diff --git a/sync.profile b/sync.profile
index e6c811636e..460e7083bd 100644
--- a/sync.profile
+++ b/sync.profile
@@ -93,7 +93,11 @@
"qplatformmenu_qpa.h" => "qpa/qplatformmenu.h",
"QPlatformMenu" => "qpa/qplatformmenu.h",
"QPlatformMenuAction" => "qpa/qplatformmenu.h",
- "QPlatformMenuBar" => "qpa/qplatformmenu.h"
+ "QPlatformMenuBar" => "qpa/qplatformmenu.h",
+ "QStandardItem" => "QtGui/QStandardItem",
+ "QStandardItemModel" => "QtGui/QStandardItemModel",
+ "qstandarditem.h" => "QtGui/qstandarditem.h",
+ "qstandarditemmodel.h" => "QtGui/qstandarditemmodel.h"
},
"QtPrintSupport" => {
"qplatformprintersupport_qpa.h" => "qpa/qplatformprintersupport.h",
diff --git a/tests/auto/corelib/itemmodels/qidentityproxymodel/qidentityproxymodel.pro b/tests/auto/corelib/itemmodels/qidentityproxymodel/qidentityproxymodel.pro
index c56498a650..6de1ffaca2 100644
--- a/tests/auto/corelib/itemmodels/qidentityproxymodel/qidentityproxymodel.pro
+++ b/tests/auto/corelib/itemmodels/qidentityproxymodel/qidentityproxymodel.pro
@@ -4,6 +4,6 @@ TARGET = tst_qidentityproxymodel
mtdir = ../../../other/modeltest
INCLUDEPATH += $$PWD/$${mtdir}
-QT += widgets testlib
+QT += testlib
SOURCES += tst_qidentityproxymodel.cpp $${mtdir}/dynamictreemodel.cpp $${mtdir}/modeltest.cpp
HEADERS += $${mtdir}/dynamictreemodel.h $${mtdir}/modeltest.h
diff --git a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
index 567bb58752..01024649aa 100644
--- a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
@@ -41,7 +41,7 @@
#include <QtTest/QtTest>
#include <QtCore/QCoreApplication>
-#include <QtWidgets/QStandardItemModel>
+#include <QtGui/QStandardItemModel>
#include "dynamictreemodel.h"
#include "qidentityproxymodel.h"
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
index b31b64d974..bb3132b94f 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
@@ -44,7 +44,7 @@
#include "modeltest.h"
#include <QtCore/QCoreApplication>
-#include <QtWidgets/QStandardItem>
+#include <QtGui/QStandardItem>
#include <QtWidgets/QTreeView>
#include <QtWidgets/QTableView>
diff --git a/tests/auto/gui/gui.pro b/tests/auto/gui/gui.pro
index 48fa2772f9..87aea70acb 100644
--- a/tests/auto/gui/gui.pro
+++ b/tests/auto/gui/gui.pro
@@ -7,3 +7,4 @@ SUBDIRS=\
qopengl \
text \
util \
+ itemmodels \
diff --git a/tests/auto/gui/itemmodels/itemmodels.pro b/tests/auto/gui/itemmodels/itemmodels.pro
new file mode 100644
index 0000000000..2e7fabfa7e
--- /dev/null
+++ b/tests/auto/gui/itemmodels/itemmodels.pro
@@ -0,0 +1,4 @@
+TEMPLATE=subdirs
+SUBDIRS= \
+ qstandarditem \
+ qstandarditemmodel \
diff --git a/tests/auto/widgets/itemviews/qstandarditem/.gitignore b/tests/auto/gui/itemmodels/qstandarditem/.gitignore
index 6da85cc6c8..6da85cc6c8 100644
--- a/tests/auto/widgets/itemviews/qstandarditem/.gitignore
+++ b/tests/auto/gui/itemmodels/qstandarditem/.gitignore
diff --git a/tests/auto/widgets/itemviews/qstandarditem/qstandarditem.pro b/tests/auto/gui/itemmodels/qstandarditem/qstandarditem.pro
index 1fef72e4b3..282737ed7d 100644
--- a/tests/auto/widgets/itemviews/qstandarditem/qstandarditem.pro
+++ b/tests/auto/gui/itemmodels/qstandarditem/qstandarditem.pro
@@ -1,7 +1,7 @@
CONFIG += testcase
CONFIG += parallel_test
TARGET = tst_qstandarditem
-QT += widgets testlib
+QT += gui testlib
SOURCES += tst_qstandarditem.cpp
diff --git a/tests/auto/widgets/itemviews/qstandarditem/tst_qstandarditem.cpp b/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp
index 8ababf0ac4..8ababf0ac4 100644
--- a/tests/auto/widgets/itemviews/qstandarditem/tst_qstandarditem.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp
diff --git a/tests/auto/widgets/itemviews/qstandarditemmodel/.gitignore b/tests/auto/gui/itemmodels/qstandarditemmodel/.gitignore
index c218efce58..c218efce58 100644
--- a/tests/auto/widgets/itemviews/qstandarditemmodel/.gitignore
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/.gitignore
diff --git a/tests/auto/widgets/itemviews/qstandarditemmodel/qstandarditemmodel.pro b/tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro
index 71ef4acb88..71ef4acb88 100644
--- a/tests/auto/widgets/itemviews/qstandarditemmodel/qstandarditemmodel.pro
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro
diff --git a/tests/auto/widgets/itemviews/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
index 1c661f9060..1c661f9060 100644
--- a/tests/auto/widgets/itemviews/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
diff --git a/tests/auto/widgets/itemviews/itemviews.pro b/tests/auto/widgets/itemviews/itemviews.pro
index e13a5a82ca..2bd8ec43d3 100644
--- a/tests/auto/widgets/itemviews/itemviews.pro
+++ b/tests/auto/widgets/itemviews/itemviews.pro
@@ -11,8 +11,6 @@ SUBDIRS=\
qitemview \
qlistview \
qlistwidget \
- qstandarditem \
- qstandarditemmodel \
qtableview \
qtablewidget \
qtreeview \