#include #include #include #include #include #include #include #include "addresspicker.h" AddressPicker::AddressPicker(QWidget *parent, const char *name, bool modal, WFlags fl) : AddressPickerBase(parent, name, modal, fl) { okButton->setIconSet(Resource::loadPixmap("enter")); cancelButton->setIconSet(Resource::loadPixmap("editdelete")); connect(okButton, SIGNAL(clicked()), SLOT(accept())); connect(cancelButton, SIGNAL(clicked()), SLOT(close())); QFile f((QString) getenv("HOME") + "/Applications/" + "addressbook/addressbook.xml"); if (f.open(IO_ReadOnly)) { QTextStream stream(&f); stream.setEncoding( QTextStream::UnicodeUTF8 ); QString content; while (!f.atEnd()) content += stream.readLine() + "\n"; QStringList lines = QStringList::split(QRegExp("\\n"), content); QStringList::Iterator it; for (it = lines.begin(); it != lines.end(); it++) { if ((*it).find(QRegExp("^"); if (!email.isEmpty()) addressList->insertItem(tname + temail); } } } if (addressList->count() <= 0) { addressList->insertItem(tr("There are no entries in the addressbook.")); addressList->setEnabled(false); okButton->setEnabled(false); } } void AddressPicker::accept() { QListBoxItem *item = addressList->firstItem(); QString names; while (item) { if (item->selected()) names += item->text() + ", "; item = item->next(); } names.replace(names.length() - 2, 2, ""); if (names.isEmpty()) { QMessageBox::information(this, tr("Error"), tr("

You have to select" " at least one address entry.

"), tr("Ok")); return; } selectedNames = names; QDialog::accept(); } QString AddressPicker::getNames() { QString names = 0; AddressPicker picker(0, 0, true); picker.showMaximized(); picker.show(); int ret = picker.exec(); if (QDialog::Accepted == ret) { return picker.selectedNames; } return 0; }