diff options
author | Kavindra Devi Palaraja <kavindra.palaraja@nokia.com> | 2009-06-10 17:06:25 +0200 |
---|---|---|
committer | Kavindra Devi Palaraja <kavindra.palaraja@nokia.com> | 2009-06-15 17:48:09 +0200 |
commit | 77df59046714a9659a05aac3849f63ca43ebc9b3 (patch) | |
tree | cf0a48ca5588b4e4e426789dbd9fd22c97205609 | |
parent | a8b496c92d6fc4602f1971969bfb596675813ab1 (diff) | |
download | qt-creator-77df59046714a9659a05aac3849f63ca43ebc9b3.tar.gz |
Doc - More on Part 5
RevBy: TrustMe
-rw-r--r-- | doc/examples/addressbook-sdk/part5/addressbook.cpp | 27 | ||||
-rw-r--r-- | doc/examples/addressbook-sdk/part5/addressbook.h | 4 | ||||
-rw-r--r-- | doc/examples/addressbook-sdk/part5/finddialog.cpp | 23 |
3 files changed, 54 insertions, 0 deletions
diff --git a/doc/examples/addressbook-sdk/part5/addressbook.cpp b/doc/examples/addressbook-sdk/part5/addressbook.cpp index 5509ff4cb1..e14d95026f 100644 --- a/doc/examples/addressbook-sdk/part5/addressbook.cpp +++ b/doc/examples/addressbook-sdk/part5/addressbook.cpp @@ -41,6 +41,11 @@ AddressBook::AddressBook(QWidget *parent) removeButton = ui->removeButton; removeButton->setEnabled(false); + findButton = new QPushButton; + findButton = ui->findButton; + + dialog = new FindDialog; + connect(addButton, SIGNAL(clicked()), this, SLOT(addContact())); connect(submitButton, SIGNAL(clicked()), this, @@ -55,6 +60,8 @@ AddressBook::AddressBook(QWidget *parent) SLOT(editContact())); connect(removeButton, SIGNAL(clicked()), this, SLOT(removeContact())); + connect(findButton, SIGNAL(clicked()), this, + SLOT(findContact())); setWindowTitle(tr("Simple Address Book")); } @@ -235,3 +242,23 @@ void AddressBook::updateInterface(Mode mode) break; } } + +void AddressBook::findContact() +{ + dialog->show(); + + if (dialog->exec() == QDialog::Accepted) { + QString contactName = dialog->getFindText(); + + if (contacts.contains(contactName)) { + nameLine->setText(contactName); + addressText->setText(contacts.value(contactName)); + } else { + QMessageBox::information(this, tr("Contact Not Found"), + tr("Sorry, \"%1\" is not in your address book.").arg(contactName)); + return; + } + } + + updateInterface(NavigationMode); +} diff --git a/doc/examples/addressbook-sdk/part5/addressbook.h b/doc/examples/addressbook-sdk/part5/addressbook.h index 7958cb69f6..9bc1f75ba3 100644 --- a/doc/examples/addressbook-sdk/part5/addressbook.h +++ b/doc/examples/addressbook-sdk/part5/addressbook.h @@ -6,6 +6,7 @@ #include <QtGui/QLineEdit> #include <QtGui/QTextEdit> #include <QtGui/QMessageBox> +#include "finddialog.h" namespace Ui @@ -30,6 +31,7 @@ public slots: void removeContact(); void next(); void previous(); + void findContact(); private: Ui::AddressBook *ui; @@ -42,6 +44,7 @@ private: QPushButton *removeButton; QPushButton *nextButton; QPushButton *previousButton; + QPushButton *findButton; QLineEdit *nameLine; QTextEdit *addressText; @@ -49,6 +52,7 @@ private: QString oldName; QString oldAddress; Mode currentMode; + FindDialog *dialog; }; #endif // ADDRESSBOOK_H diff --git a/doc/examples/addressbook-sdk/part5/finddialog.cpp b/doc/examples/addressbook-sdk/part5/finddialog.cpp index 15002d62f3..89ee5e083a 100644 --- a/doc/examples/addressbook-sdk/part5/finddialog.cpp +++ b/doc/examples/addressbook-sdk/part5/finddialog.cpp @@ -6,6 +6,17 @@ FindDialog::FindDialog(QWidget *parent) : m_ui(new Ui::FindDialog) { m_ui->setupUi(this); + lineEdit = new QLineEdit; + lineEdit = m_ui->lineEdit; + + findButton = new QPushButton; + findButton = m_ui->findButton; + + findText = ""; + + connect(findButton, SIGNAL(clicked()), this, SLOT(findClicked())); + + setWindowTItle(tr("Find a Contact")); } FindDialog::~FindDialog() @@ -15,8 +26,20 @@ FindDialog::~FindDialog() void FindDialog::findClicked() { + QString text = lineEdit->text(); + + if (text.isEmpty()) { + QMessageBox::information(this, tr("Empty Field"), + tr("Please enter a name.")); + return; + } else { + findText = text; + lineEdit->clear(); + hide(); + } } QString FindDialog::getFindText() { + return findText; } |