diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2017-09-04 18:09:52 +0300 |
---|---|---|
committer | Alexander Volkov <a.volkov@rusbitech.ru> | 2017-10-17 16:42:55 +0000 |
commit | 66119a07e840daae61629762ad3763abd0c16754 (patch) | |
tree | b9a6c10ea94626f8ba220898382cebd400b39685 /examples/widgets/itemviews/addressbook/tablemodel.h | |
parent | 92d67b58b8dbe2c5e63c5e57a179a3dc9acf382b (diff) |
Address Book example: Replace QPair by struct
Introduce Contact struct to store contact data and use it
instead of QPair<QString, QString>. Proper naming really
clarifies the code.
Task-number: QTBUG-60635
Change-Id: Ibfb421dfc854accc382212b0da46e7aafc0d528a
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'examples/widgets/itemviews/addressbook/tablemodel.h')
-rw-r--r-- | examples/widgets/itemviews/addressbook/tablemodel.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/examples/widgets/itemviews/addressbook/tablemodel.h b/examples/widgets/itemviews/addressbook/tablemodel.h index 9a669c508d..1004a35d31 100644 --- a/examples/widgets/itemviews/addressbook/tablemodel.h +++ b/examples/widgets/itemviews/addressbook/tablemodel.h @@ -53,16 +53,37 @@ #include <QAbstractTableModel> #include <QList> -#include <QPair> //! [0] + +struct Contact +{ + QString name; + QString address; + + bool operator==(const Contact &other) const + { + return name == other.name && address == other.address; + } +}; + +inline QDataStream &operator<<(QDataStream &stream, const Contact &contact) +{ + return stream << contact.name << contact.address; +} + +inline QDataStream &operator>>(QDataStream &stream, Contact &contact) +{ + return stream >> contact.name >> contact.address; +} + class TableModel : public QAbstractTableModel { Q_OBJECT public: TableModel(QObject *parent = 0); - TableModel(QList<QPair<QString, QString> > listofPairs, QObject *parent = 0); + TableModel(QList<Contact> contacts, QObject *parent = 0); int rowCount(const QModelIndex &parent) const override; int columnCount(const QModelIndex &parent) const override; @@ -72,10 +93,10 @@ public: bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; bool insertRows(int position, int rows, const QModelIndex &index = QModelIndex()) override; bool removeRows(int position, int rows, const QModelIndex &index = QModelIndex()) override; - QList<QPair<QString, QString> > getList(); + QList<Contact> getContacts() const; private: - QList<QPair<QString, QString> > listOfPairs; + QList<Contact> contacts; }; //! [0] |