diff -r 2b40d63a9c3d -r 90517678cc4f qtmobility/examples/keepintouch/addressfinder.cpp --- a/qtmobility/examples/keepintouch/addressfinder.cpp Fri Apr 16 15:51:22 2010 +0300 +++ b/qtmobility/examples/keepintouch/addressfinder.cpp Mon May 03 13:18:40 2010 +0300 @@ -78,7 +78,7 @@ QString simpleAddress(const QMessageAddress &address) { - return simpleAddress(address.recipient()); + return simpleAddress(address.addressee()); } //! [contact-lookup] @@ -108,7 +108,7 @@ } // We couldn't match anything, so return the original address - return address.recipient(); + return address.addressee(); } //! [contact-lookup] @@ -217,35 +217,35 @@ //! [create-simple-filters] // We will include addresses contacted following the minimum date QMessageFilter includeFilter(QMessageFilter::byTimeStamp(minimumDate, QMessageDataComparator::GreaterThanEqual)); + // Windows mobile only sets a receptionTimeStamp for sent messsages + includeFilter |= QMessageFilter::byReceptionTimeStamp(minimumDate, QMessageDataComparator::GreaterThanEqual); QMessageFilter excludeFilter; if (useExclusionPeriod) { // We will exclude addresses contacted following the maximum date excludeFilter = QMessageFilter::byTimeStamp(maximumDate, QMessageDataComparator::GreaterThanEqual); + excludeFilter |= QMessageFilter::byReceptionTimeStamp(maximumDate, QMessageDataComparator::GreaterThanEqual); } //! [create-simple-filters] - // Not sure why reception timestamp is relevant to sent messages... - includeFilter |= QMessageFilter::byReceptionTimeStamp(minimumDate, QMessageDataComparator::GreaterThanEqual); - excludeFilter |= QMessageFilter::byReceptionTimeStamp(maximumDate, QMessageDataComparator::GreaterThanEqual); - - QMessageFilter exclusionFilter; - //! [create-composite-filters] // We only want to match messages that we sent QMessageFilter sentFilter(QMessageFilter::byStandardFolder(QMessage::SentFolder)); // Create the filter needed to locate messages to search for addresses to include - inclusionFilter = (sentFilter & includeFilter & ~excludeFilter); - if (useExclusionPeriod) { - // Create the filter needed to locate messages whose address we will exclude - exclusionFilter = (sentFilter & excludeFilter); + inclusionFilter = (sentFilter & includeFilter & ~excludeFilter); + } else { + inclusionFilter = (sentFilter & includeFilter); } //! [create-composite-filters] //! [begin-search] if (useExclusionPeriod) { + // Create the filter needed to locate messages whose address we will exclude + QMessageFilter exclusionFilter; + exclusionFilter = (sentFilter & excludeFilter); + // Start the search for messages containing addresses to exclude service.queryMessages(exclusionFilter); } else { @@ -402,12 +402,21 @@ #endif QGridLayout *filterLayout = new QGridLayout(inputGroup); +#ifdef Q_WS_MAEMO_5 + // Maemo 5 style doesn't take group box titles into account. + int spacingHack = QFontMetrics(QFont()).height(); + filterLayout->setContentsMargins(0, spacingHack, 0, 0); +#endif QLabel *includeLabel = new QLabel(tr("Contacted this")); filterLayout->addWidget(includeLabel, 0, 0); filterLayout->setAlignment(includeLabel, Qt::AlignRight); excludeCheckBox = new QCheckBox(tr("But not last")); +#ifdef Q_WS_MAEMO_5 + // Maemo 5 style cuts off check box text. + excludeCheckBox->setText(excludeCheckBox->text() + " "); +#endif excludeCheckBox->setCheckState(Qt::Checked); connect(excludeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(excludePeriodEnabled(int))); filterLayout->addWidget(excludeCheckBox, 1, 0); @@ -449,6 +458,9 @@ QGroupBox *addressGroup = new QGroupBox(tr("Contacts")); addressGroup->setAlignment(Qt::AlignLeft); addressGroup->setLayout(new QVBoxLayout); +#ifdef Q_WS_MAEMO_5 + addressGroup->layout()->setContentsMargins(0, spacingHack, 0, 0); +#endif addressGroup->layout()->addWidget(contactList); resultsLayout->addWidget(addressGroup); @@ -456,6 +468,9 @@ messageGroup->setAlignment(Qt::AlignLeft); QVBoxLayout *groupLayout = new QVBoxLayout; +#ifdef Q_WS_MAEMO_5 + groupLayout->setContentsMargins(0, spacingHack, 0, 0); +#endif messageCombo = new QComboBox; connect(messageCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(messageIndexChanged(int)));