QMessageFolderId stripIdPrefix(const QMessageFolderId& id) { if (id.toString().startsWith(freestylePrefix)) return QMessageFolderId(id.toString().right(id.toString().length() - QString(freestylePrefix).length())); else if (id.toString().startsWith(mtmPrefix)) return QMessageFolderId(id.toString().right(id.toString().length() - QString(mtmPrefix).length())); else return QMessageFolderId(id); }
QMessageFolderId addIdPrefix(const QMessageFolderId& id, const EngineType& type) { switch (type) { case EngineTypeFreestyle: Q_ASSERT(!id.toString().startsWith(freestylePrefix)); return QMessageFolderId(QString(freestylePrefix) + id.toString()); case EngineTypeMTM: Q_ASSERT(!id.toString().startsWith(mtmPrefix)); return QMessageFolderId(QString(mtmPrefix) + id.toString()); default: return QMessageFolderId(id); } }
void tst_QMessageFilter::testParentFolderIdPreFilter() { QMessageFilter filter = QMessageFilter::byParentFolderId(QMessageFolderId(email_prefix+"123"), QMessageDataComparator::Equal); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Email), true); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Sms), false); filter = QMessageFilter::byParentFolderId(QMessageFolderId(sms_prefix+"123"), QMessageDataComparator::Equal); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Sms), true); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Email), false); filter = QMessageFilter::byParentFolderId(QMessageFolderId(email_prefix+"123"), QMessageDataComparator::NotEqual); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Email), true); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Sms), true); filter = QMessageFilter::byParentFolderId(QMessageFolderId(sms_prefix+"123"), QMessageDataComparator::NotEqual); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Email), true); QCOMPARE(MessagingHelper::preFilter(filter, QMessage::Sms), true); }
void QMessage::setType(Type t) { d_ptr->_type = t; if ((t == QMessage::Sms) && !(d_ptr->_parentFolderId.isValid())) d_ptr->_parentFolderId = QMessageFolderId(FOLDER_ID_DRAFTS); d_ptr->_modified = true; }
QMessageFolderId addFolder(const Parameters ¶ms) { QString path(params["path"]); QString name(params["name"]); QString parentAccountName(params["parentAccountName"]); QString parentFolderPath(params["parentFolderPath"]); if (!path.isEmpty() && !parentAccountName.isEmpty()) { // Find the named account QMailAccountIdList accountIds(QMailStore::instance()->queryAccounts(QMailAccountKey::name(parentAccountName))); if (accountIds.count() == 1) { QMailFolder folder; folder.setPath(path); folder.setParentAccountId(accountIds.first()); if (!name.isEmpty()) { folder.setDisplayName(name); } if (!parentFolderPath.isEmpty()) { QMailFolderKey key(QMailFolderKey::path(parentFolderPath) & QMailFolderKey::parentAccountId(folder.parentAccountId())); QMailFolderIdList folderIds(QMailStore::instance()->queryFolders(key)); if (folderIds.count() == 1) { folder.setParentFolderId(folderIds.first()); } else { qWarning() << "Unable to locate parent folder:" << parentFolderPath; } } if (!QMailStore::instance()->addFolder(&folder)) { qWarning() << "Unable to addFolder:" << path; } else { return QmfHelpers::convert(folder.id()); } } else { qWarning() << "Unable to locate parent account:" << parentAccountName; } } return QMessageFolderId(); }
QMessageFolderId convert(const QMailFolderId &id) { return QMessageFolderId(prefixIdentifier(QString::number(id.toULongLong()))); }
QMessageFolderId addFolder(const Parameters ¶ms) { Q_UNUSED(params); return QMessageFolderId(); }