#include "resourcetaggingwidget.h"
#include "tagcloud.h"
#include "taggingpopup.h"
+#include "../nepomukmassupdatejob.h"
#include <QtGui/QVBoxLayout>
#include <QtGui/QContextMenuEvent>
void showTaggingPopup( const QPoint& );
void _k_slotShowTaggingPopup();
+ void _k_metadataUpdateDone();
static QList<Tag> intersectTags( const QList<Resource>& );
+
+ ResourceTaggingWidget* q;
};
popup->exec( pos );
- foreach( Resource res, resources ) {
- res.setTags( resourceTags );
- }
+ 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 );
}
}
+void Nepomuk::ResourceTaggingWidget::Private::_k_metadataUpdateDone()
+{
+ q->setEnabled( true );
+}
+
+
QList<Nepomuk::Tag> Nepomuk::ResourceTaggingWidget::Private::intersectTags( const QList<Resource>& res )
{
if ( res.count() == 1 ) {
: QWidget( parent ),
d( new Private() )
{
+ d->q = this;
+
QVBoxLayout* layout = new QVBoxLayout( this );
layout->setMargin( 0 );
d->resourceTagCloud = new TagCloud( this );