本文整理汇总了C++中akonadi::Collection类的典型用法代码示例。如果您正苦于以下问题:C++ Collection类的具体用法?C++ Collection怎么用?C++ Collection使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Collection类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setLinkUrl
void KJotsLinkDialog::setLinkUrl(const QString &linkUrl)
{
Akonadi::Item item = Akonadi::Item::fromUrl(KUrl(linkUrl));
Akonadi::Collection collection = Akonadi::Collection::fromUrl(KUrl(linkUrl));
if (!item.isValid() && !collection.isValid()) {
linkUrlLineEdit->setText(linkUrl);
linkUrlLineEditRadioButton->setChecked(true);
return;
}
QModelIndex idx;
if (collection.isValid()) {
idx = Akonadi::EntityTreeModel::modelIndexForCollection( m_descendantsProxyModel, collection );
} else if (item.isValid()) {
const QModelIndexList list = Akonadi::EntityTreeModel::modelIndexesForItem( m_descendantsProxyModel, item );
if (list.isEmpty())
return;
idx = list.first();
}
if (!idx.isValid())
return;
hrefComboRadioButton->setChecked(true);
hrefCombo->view()->setCurrentIndex( idx );
hrefCombo->setCurrentIndex( idx.row() );
}
示例2: qCompare
inline bool qCompare(const Akonadi::Collection &left, const Akonadi::Collection &right,
const char *actual, const char *expected,
const char *file, int line)
{
return zCompareHelper((left == right) && (left.displayName() == right.displayName()),
left, right, actual, expected, file, line);
}
示例3: save
void CollectionInternalsPage::save(Akonadi::Collection & col)
{
col.setRemoteId( ui.ridEdit->text() );
col.setRemoteRevision( ui.rrevEdit->text() );
col.setContentMimeTypes( ui.contentTypes->items() );
col.setVirtual( ui.virtCheck->isChecked() );
}
示例4: error
void MapiResource::error(const Akonadi::Collection &collection, const QString &body)
{
static QString prefix = QString::fromAscii("Error %1(%2): %3");
QString message = prefix.arg(collection.remoteId()).arg(collection.name()).arg(body);
error(message);
}
示例5: initializeCollectionList
void CheckIndexingManager::initializeCollectionList(QAbstractItemModel *model, const QModelIndex &parentIndex)
{
const int rowCount = model->rowCount(parentIndex);
for (int row = 0; row < rowCount; ++row) {
const QModelIndex index = model->index(row, 0, parentIndex);
const Akonadi::Collection collection =
model->data(
index, Akonadi::EntityTreeModel::CollectionRole).value<Akonadi::Collection>();
if (!collection.isValid() || MailCommon::Util::isVirtualCollection(collection)) {
continue;
}
if (collection.hasAttribute<Akonadi::EntityHiddenAttribute>()) {
continue;
}
if (PimCommon::Util::isImapResource(collection.resource()) && !collection.cachePolicy().localParts().contains(QLatin1String("RFC822"))) {
continue;
}
if (!mCollectionsIndexed.contains(collection.id())) {
mListCollection.append(collection);
}
if (model->rowCount(index) > 0) {
initializeCollectionList(model, index);
}
}
}
示例6: fillRecentCollection
void RecentCollectionAction::fillRecentCollection()
{
delete mRecentAction->menu();
if ( mListRecentCollection.isEmpty() ) {
mRecentAction->setEnabled( false );
return;
}
QMenu* popup = new QMenu;
mRecentAction->setMenu( popup );
const int numberOfRecentCollection(mListRecentCollection.count());
for ( int i=0; i < numberOfRecentCollection; ++i )
{
const QModelIndex index = Akonadi::EntityTreeModel::modelIndexForCollection( mModel, Akonadi::Collection( mListRecentCollection.at( i ).toLongLong() ) );
const Akonadi::Collection collection = mModel->data( index, Akonadi::CollectionModel::CollectionRole ).value<Akonadi::Collection>();
if ( index.isValid() ) {
const bool canCreateNewItems = (collection.rights() & Collection::CanCreateItem);
QAction *action = popup->addAction( actionName( index ) );
const QIcon icon = mModel->data( index, Qt::DecorationRole ).value<QIcon>();
action->setIcon( icon );
action->setData( QVariant::fromValue<QModelIndex>( index ) );
action->setEnabled(canCreateNewItems);
}
}
}
示例7: mailBoxForCollections
QString MoveCollectionTask::mailBoxForCollections(const Akonadi::Collection &parent, const Akonadi::Collection &child) const
{
const QString parentMailbox = mailBoxForCollection(parent);
if (parentMailbox.isEmpty()) {
return child.remoteId().mid(1); //Strip separator on toplevel mailboxes
}
return parentMailbox + child.remoteId();
}
示例8: detatchCollection
static Akonadi::Collection detatchCollection(const Akonadi::Collection &collection)
{
//HACK: Attributes are accessed via a const function, and the implicitly shared private pointer thus doesn't detach.
//We force a detach to avoid surprises. (RetrieveItemsTask used to write back the collection changes, even though the task was canceled)
//Once this is fixed this function can go away.
Akonadi::Collection col = collection;
col.setId(col.id());
return col;
}
示例9: reset
void VirtualResource::reset()
{
Q_ASSERT(mRootCollection.isValid());
Akonadi::Collection col = mRootCollection;
CollectionDeleteJob *d = new CollectionDeleteJob(mRootCollection, mSession);
EXEC(d);
col.setId(-1);
createRootCollection(col);
}
示例10:
Akonadi::Item::Id KMail::Util::putRepliesInSameFolder( const Akonadi::Item& item )
{
Akonadi::Collection parentCollection = item.parentCollection();
if ( parentCollection.isValid() ) {
const QSharedPointer<FolderCollection> fd = FolderCollection::forCollection( parentCollection, false );
if( fd->putRepliesInSameFolder() ) {
return parentCollection.id();
}
}
return -1;
}
示例11: slotImport
void XXPortManager::slotImport( const QString &identifier )
{
const XXPort *xxport = mFactory.createXXPort( identifier, mParentWidget );
if( !xxport ) {
return;
}
const KABC::Addressee::List contacts = xxport->importContacts();
delete xxport;
if ( contacts.isEmpty() ) { // nothing to import
return;
}
const QStringList mimeTypes( KABC::Addressee::mimeType() );
QPointer<Akonadi::CollectionDialog> dlg = new Akonadi::CollectionDialog( mParentWidget );
dlg->setMimeTypeFilter( mimeTypes );
dlg->setAccessRightsFilter( Akonadi::Collection::CanCreateItem );
dlg->setCaption( i18n( "Select Address Book" ) );
dlg->setDescription(
i18n( "Select the address book the imported contact(s) shall be saved in:" ) );
dlg->setDefaultCollection( mDefaultAddressBook );
if ( !dlg->exec() || !dlg ) {
delete dlg;
return;
}
const Akonadi::Collection collection = dlg->selectedCollection();
delete dlg;
if ( !mImportProgressDialog ) {
mImportProgressDialog = new KProgressDialog( mParentWidget, i18n( "Import Contacts" ) );
mImportProgressDialog->setLabelText(
i18np( "Importing one contact to %2", "Importing %1 contacts to %2",
contacts.count(), collection.name() ) );
mImportProgressDialog->setAllowCancel( false );
mImportProgressDialog->setAutoClose( true );
mImportProgressDialog->progressBar()->setRange( 1, contacts.count() );
}
mImportProgressDialog->show();
for ( int i = 0; i < contacts.count(); ++i ) {
Akonadi::Item item;
item.setPayload<KABC::Addressee>( contacts.at( i ) );
item.setMimeType( KABC::Addressee::mimeType() );
Akonadi::ItemCreateJob *job = new Akonadi::ItemCreateJob( item, collection );
connect( job, SIGNAL(result(KJob*)), SLOT(slotImportJobDone(KJob*)) );
}
}
示例12: handlerCollection
Akonadi::Collection TasksHandler::handlerCollection() const
{
Akonadi::Collection taskCollection;
taskCollection.setContentMimeTypes( QStringList() << KCalCore::Todo::todoMimeType() );
taskCollection.setName( i18nc( "@item folder name", "Tasks" ) );
taskCollection.setRights( Akonadi::Collection::CanChangeItem |
Akonadi::Collection::CanCreateItem |
Akonadi::Collection::CanDeleteItem );
return taskCollection;
}
示例13: collection
Akonadi::Collection SalesforceContactsHandler::collection() const
{
Akonadi::Collection contactCollection;
contactCollection.setRemoteId(moduleName());
contactCollection.setContentMimeTypes(QStringList() << KABC::Addressee::mimeType());
contactCollection.setName(i18nc("@item folder name", "Contacts"));
contactCollection.setRights(Akonadi::Collection::CanChangeItem |
Akonadi::Collection::CanCreateItem |
Akonadi::Collection::CanDeleteItem);
return contactCollection;
}
示例14: handlerCollection
Akonadi::Collection DocumentsHandler::handlerCollection() const
{
Akonadi::Collection documentCollection;
documentCollection.setRemoteId(moduleToName(module()));
documentCollection.setContentMimeTypes(QStringList() << SugarDocument::mimeType());
documentCollection.setName(i18nc("@item folder name", "Documents"));
documentCollection.setRights(Akonadi::Collection::CanChangeItem |
Akonadi::Collection::CanCreateItem |
Akonadi::Collection::CanDeleteItem);
return documentCollection;
}
示例15: slotCollectionRemoved
void FolderArchiveManager::slotCollectionRemoved(const Akonadi::Collection &collection)
{
KConfig config(FolderArchive::FolderArchiveUtil::configFileName());
mFolderArchiveCache->clearCacheWithContainsCollection(collection.id());
Q_FOREACH (FolderArchiveAccountInfo *info, mListAccountInfo) {
if (info->archiveTopLevel() == collection.id()) {
info->setArchiveTopLevel(-1);
KConfigGroup group = config.group(FolderArchive::FolderArchiveUtil::groupConfigPattern() + info->instanceName());
info->writeConfig(group);
}
}
load();
}