Only actually change the resource if tags were changed.

svn path=/trunk/KDE/kdebase/apps/; revision=914234
This commit is contained in:
Sebastian Trueg 2009-01-20 17:41:56 +00:00
parent 2d7dd71310
commit 1a41139295

View file

@ -48,6 +48,8 @@ public:
QList<Tag> resourceTags;
bool tagsChanged;
void showTaggingPopup( const QPoint& );
void _k_slotShowTaggingPopup();
void _k_metadataUpdateDone();
@ -65,13 +67,16 @@ void Nepomuk::ResourceTaggingWidget::Private::showTaggingPopup( const QPoint& po
popup->setTagSelected( tag, true );
}
tagsChanged = false;
popup->exec( pos );
MassUpdateJob* job = MassUpdateJob::tagResources( resources, resourceTags );
connect( job, SIGNAL( result( KJob* ) ),
q, SLOT( _k_metadataUpdateDone() ) );
q->setEnabled( false ); // no updates during execution
job->start();
if( tagsChanged ) {
MassUpdateJob* job = MassUpdateJob::tagResources( resources, resourceTags );
connect( job, SIGNAL( result( KJob* ) ),
q, SLOT( _k_metadataUpdateDone() ) );
q->setEnabled( false ); // no updates during execution
job->start();
}
resourceTagCloud->showTags( resourceTags );
}
@ -167,6 +172,7 @@ void Nepomuk::ResourceTaggingWidget::slotTagToggled( const Nepomuk::Tag& tag, bo
else {
d->resourceTags.removeAll( tag );
}
d->tagsChanged = true;
d->popup->hide();
}