本文整理汇总了C++中akonadi::Collection::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ Collection::isValid方法的具体用法?C++ Collection::isValid怎么用?C++ Collection::isValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类akonadi::Collection
的用法示例。
在下文中一共展示了Collection::isValid方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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);
}
}
}
示例3: expunge
void EmptyTrashCommand::expunge(const Akonadi::Collection &col)
{
if (col.isValid()) {
Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob(col, this);
connect(job, &Akonadi::ItemFetchJob::result, this, &EmptyTrashCommand::slotExpungeJob);
} else {
qCDebug(AKONADIMIME_LOG) << " Try to expunge an invalid collection :" << col;
emitResult(Failed);
}
}
示例4:
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;
}
示例5: linkUrl
QString KJotsLinkDialog::linkUrl() const
{
if (hrefComboRadioButton->isChecked()){
const QModelIndex index = hrefCombo->view()->currentIndex();
const Akonadi::Collection collection = index.data(Akonadi::EntityTreeModel::CollectionRole).value<Akonadi::Collection>();
if (collection.isValid()) {
return "kjots://org.kjots.book/" + QString::number(collection.id());
}
const Akonadi::Item item = index.data(Akonadi::EntityTreeModel::ItemRole).value<Akonadi::Item>();
Q_ASSERT(item.isValid());
return "kjots://org.kjots.page/" + QString::number(item.id());
} else {
return linkUrlLineEdit->text();
}
}
示例6: collectionRemoved
void ResourceScheduler::collectionRemoved(const Akonadi::Collection &collection)
{
if (!collection.isValid()) { // should not happen, but you never know...
return;
}
TaskList &queue = queueForTaskType(SyncCollection);
for (QList<Task>::iterator it = queue.begin(); it != queue.end();) {
if ((*it).type == SyncCollection && (*it).collection == collection) {
it = queue.erase(it);
qCDebug(AKONADIAGENTBASE_LOG) << " erasing";
} else {
++it;
}
}
}
示例7: filterAcceptsRow
bool CollectionFilterModel::filterAcceptsRow(int row, const QModelIndex &parent) const
{
bool accepted = true;
const QModelIndex index = sourceModel()->index(row, 0, parent);
const Akonadi::Collection collection = index.data(Akonadi::EntityTreeModel::CollectionRole).value<Akonadi::Collection>();
if (!collection.isValid()) {
return false;
}
if (!mContentMimeTypes.isEmpty()) {
QSet<QString> contentMimeTypes = collection.contentMimeTypes().toSet();
accepted = accepted && !(contentMimeTypes.intersect(mContentMimeTypes).isEmpty());
}
if (mRights != Akonadi::Collection::ReadOnly) {
accepted = accepted && (collection.rights() & mRights);
}
return accepted;
}
示例8: filterAcceptsRow
bool DateRangeFilterProxyModel::filterAcceptsRow( int source_row,
const QModelIndex &source_parent ) const
{
const Akonadi::Collection collection =
sourceModel()->index( source_row, 0, source_parent ).data(
Akonadi::EntityTreeModel::CollectionRole ).value<Akonadi::Collection>();
if ( collection.isValid() ) {
return true;
}
if ( d->mEnd.isValid() ) {
const QModelIndex idx = sourceModel()->index( source_row, d->mStartColumn, source_parent );
const QVariant v = idx.data( filterRole() );
const QDateTime start = v.toDateTime();
if ( start.isValid() && start > d->mEnd.dateTime() ) {
return false;
}
}
const bool recurs =
sourceModel()->index( source_row, 0, source_parent ).data( CalendarModel::RecursRole ).toBool();
if ( recurs ) {// that's fuzzy and might return events not actually recurring in the range
return true;
}
if ( d->mStart.isValid() ) {
const QModelIndex idx = sourceModel()->index( source_row, d->mEndColumn, source_parent );
const QVariant v = idx.data( filterRole() );
const QDateTime end = v.toDateTime();
if ( end.isValid() && end < d->mStart.dateTime() ) {
return false;
}
}
return true;
}
示例9: onTargetFetched
void CreateCommand::onTargetFetched(KJob *job)
{
if (job->error()!=0)
{
emit error(ki18nc("@info:shell",
"Cannot fetch parent collection '%1', %2")
.subs(mParentCollection)
.subs(job->errorString()).toString());
emit finished(RuntimeError);
return;
}
Q_ASSERT(job==mResolveJob);
Akonadi::Collection parentCollection = mResolveJob->collection();
Q_ASSERT(parentCollection.isValid());
// Warning for bug 319513
if ((mNewCollectionName=="cur") || (mNewCollectionName=="new") || (mNewCollectionName=="tmp"))
{
QString parentResource = parentCollection.resource();
if (parentResource.startsWith(QLatin1String("akonadi_maildir_resource")))
{
ErrorReporter::warning(i18n("Creating a maildir folder named '%1' may not work",
mNewCollectionName));
}
}
Akonadi::Collection newCollection;
newCollection.setParentCollection(parentCollection);
newCollection.setName(mNewCollectionName);
newCollection.setContentMimeTypes(parentCollection.contentMimeTypes());
if (!mDryRun)
{
CollectionCreateJob *createJob = new CollectionCreateJob(newCollection);
connect(createJob, SIGNAL(result(KJob *)), this, SLOT(onCollectionCreated(KJob *)));
}
示例10: separatorCharacter
const QChar ResourceTask::separatorCharacter() const
{
const QChar separator = m_resource->separatorCharacter();
if (!separator.isNull()) {
return separator;
} else {
//If we request the separator before first folder listing, then try to guess
//the separator:
//If we create a toplevel folder, assume the separator to be '/'. This is not perfect, but detecting the right
//IMAP separator is not straightforward for toplevel folders, and fixes bug 292418 and maybe other, where
//subfolders end up with remote id's starting with "i" (the first letter of imap:// ...)
QString remoteId;
// We don't always have parent collection set (for example for CollectionChangeTask),
// in such cases however we can use current collection's remoteId to get the separator
const Akonadi::Collection parent = parentCollection();
if (parent.isValid()) {
remoteId = parent.remoteId();
} else {
remoteId = collection().remoteId();
}
return ((remoteId != rootRemoteId()) && !remoteId.isEmpty()) ? remoteId.at(0) : QLatin1Char('/');
}
}
示例11: readStorageModelConfig
void AggregationComboBox::readStorageModelConfig(const Akonadi::Collection &col, bool &isPrivateSetting)
{
if (col.isValid()) {
readStorageModelConfig(QString::number(col.id()), isPrivateSetting);
}
}
示例12: collectionChanged
void ImportMailPage::collectionChanged(const Akonadi::Collection& collection)
{
ui->importMails->setEnabled( collection.isValid() );
}
示例13: collectionChanged
void MBoxImportWidget::collectionChanged(const Akonadi::Collection &collection)
{
ui->importMails->setEnabled(collection.isValid());
}