diff options
author | Kavindra Devi Palaraja <kavindra.palaraja@nokia.com> | 2009-07-06 15:40:48 +0200 |
---|---|---|
committer | Kavindra Devi Palaraja <kavindra.palaraja@nokia.com> | 2009-07-06 15:40:59 +0200 |
commit | d9cabebae554b8ab1ae21aa46147e73cbf4f23b5 (patch) | |
tree | 029c616fd963502cff0c28f30f7a00675097ae25 /doc/examples | |
parent | b261e78f35a58bafc61b210c2125a059af5caed9 (diff) |
Doc - More of Part 6
Reviewed-By: TrustMe
Diffstat (limited to 'doc/examples')
-rw-r--r-- | doc/examples/addressbook-sdk/part6/addressbook.cpp | 78 | ||||
-rw-r--r-- | doc/examples/addressbook-sdk/part6/addressbook.ui | 6 |
2 files changed, 84 insertions, 0 deletions
diff --git a/doc/examples/addressbook-sdk/part6/addressbook.cpp b/doc/examples/addressbook-sdk/part6/addressbook.cpp index 50c92d33872..5748fe377ab 100644 --- a/doc/examples/addressbook-sdk/part6/addressbook.cpp +++ b/doc/examples/addressbook-sdk/part6/addressbook.cpp @@ -46,6 +46,14 @@ AddressBook::AddressBook(QWidget *parent) dialog = new FindDialog; +//! [private members] + loadButton = new QPushButton; + loadButton = ui->loadButton; + + saveButton = new QPushButton; + saveButton = ui->saveButton; +//! [private members] + connect(addButton, SIGNAL(clicked()), this, SLOT(addContact())); connect(submitButton, SIGNAL(clicked()), this, @@ -263,3 +271,73 @@ void AddressBook::findContact() updateInterface(NavigationMode); } + +//! [saveToFile part1] +void AddressBook::saveToFile() +{ + QString fileName = QFileDialog::getSaveFileName(this, + tr("Save Address Book"), "", + tr("Address book (*.abk);; AllFiles (*)")); +//! [saveToFile part1] + +//! [saveToFile part2] + if (fileName.isEmpty()) + return; + else { + QFile file(fileName); + + if (!file.open(QIODevice::WriteOnly)) { + QMessageBox::information(this, tr("Unable to open file"), + file.errorString()); + return; + } +//! [saveToFile part2] + +//! [saveToFile part3] + QDataStream out(&file); + out.setVersion(QDataStream::Qt_4_5); + out << contacts; + } +} +//! [saveToFile part3] + +//! [loadFromFile part1] +void AddressBook::loadFromFile() +{ + QString fileName = QFileDialog::getOpenFileName(this, + tr("Open Address Book"), "", + tr("Address Book(*.abk);; All Files(*)")); +//! [loadFromFile part1] + +//! [loadFromFile part2] + if (fileName.isEmpty()) + return; + else { + QFile file(fileName); + + if (!file.open(QIODevice::ReadOnly)) { + QMessageBox::information(this, tr("Unable to open file"), + file.errorString()); + return; + } + + QDataStream in(&file); + in.setVersion(QDataStream::Qt_4_5); + contacts.empty(); // empty existing contacts + in >> contacts; +//! [loadFromFile part2] + +//! [loadFromFile part3] + if (contacts.isEmpty()) { + QMessagebox::information(this, tr("No contacts in file"), + tr("The file you are attempting to open contains no contacts.")); + } else { + QMap<QString, QString>::iterator i = contacts.begin(); + nameLine->setText(i.key()); + addressText->setText(i.value()); + } + } + + updateInterface(NavigationMode); +} +//! [loadFromFile part3] diff --git a/doc/examples/addressbook-sdk/part6/addressbook.ui b/doc/examples/addressbook-sdk/part6/addressbook.ui index 2e58215b650..9942235f0a7 100644 --- a/doc/examples/addressbook-sdk/part6/addressbook.ui +++ b/doc/examples/addressbook-sdk/part6/addressbook.ui @@ -85,6 +85,9 @@ </item> <item> <widget class="QPushButton" name="loadButton"> + <property name="toolTip"> + <string>Load contacts from a file</string> + </property> <property name="text"> <string>Load...</string> </property> @@ -92,6 +95,9 @@ </item> <item> <widget class="QPushButton" name="saveButton"> + <property name="toolTip"> + <string>Save contacts to a file</string> + </property> <property name="text"> <string>Save...</string> </property> |