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/addresswidget.cpp | |
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/addresswidget.cpp')
-rw-r--r-- | examples/widgets/itemviews/addressbook/addresswidget.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/examples/widgets/itemviews/addressbook/addresswidget.cpp b/examples/widgets/itemviews/addressbook/addresswidget.cpp index cff35ad78f..9480d2ca8e 100644 --- a/examples/widgets/itemviews/addressbook/addresswidget.cpp +++ b/examples/widgets/itemviews/addressbook/addresswidget.cpp @@ -85,10 +85,7 @@ void AddressWidget::showAddEntryDialog() //! [3] void AddressWidget::addEntry(QString name, QString address) { - QList<QPair<QString, QString> >list = table->getList(); - QPair<QString, QString> pair(name, address); - - if (!list.contains(pair)) { + if (!table->getContacts().contains({ name, address })) { table->insertRows(0, 1, QModelIndex()); QModelIndex index = table->index(0, 0, QModelIndex()); @@ -211,18 +208,16 @@ void AddressWidget::readFromFile(const QString &fileName) return; } - QList<QPair<QString, QString> > pairs = table->getList(); + QList<Contact> contacts; QDataStream in(&file); - in >> pairs; + in >> contacts; - if (pairs.isEmpty()) { + if (contacts.isEmpty()) { QMessageBox::information(this, tr("No contacts in file"), tr("The file you are attempting to open contains no contacts.")); } else { - for (int i=0; i<pairs.size(); ++i) { - QPair<QString, QString> p = pairs.at(i); - addEntry(p.first, p.second); - } + for (const auto &contact: qAsConst(contacts)) + addEntry(contact.name, contact.address); } } //! [7] @@ -237,8 +232,7 @@ void AddressWidget::writeToFile(const QString &fileName) return; } - QList<QPair<QString, QString> > pairs = table->getList(); QDataStream out(&file); - out << pairs; + out << table->getContacts(); } //! [6] |