svn path=/trunk/KDE/kdebase/apps/; revision=869130
#include "resourcetaggingwidget.h"
#include "tagcloud.h"
#include "taggingpopup.h"
#include "resourcetaggingwidget.h"
#include "tagcloud.h"
#include "taggingpopup.h"
+#include "../nepomukmassupdatejob.h"
#include <QtGui/QVBoxLayout>
#include <QtGui/QContextMenuEvent>
#include <QtGui/QVBoxLayout>
#include <QtGui/QContextMenuEvent>
void showTaggingPopup( const QPoint& );
void _k_slotShowTaggingPopup();
void showTaggingPopup( const QPoint& );
void _k_slotShowTaggingPopup();
+ void _k_metadataUpdateDone();
static QList<Tag> intersectTags( const QList<Resource>& );
static QList<Tag> intersectTags( const QList<Resource>& );
+
+ ResourceTaggingWidget* q;
- 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 );
}
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 ) {
QList<Nepomuk::Tag> Nepomuk::ResourceTaggingWidget::Private::intersectTags( const QList<Resource>& res )
{
if ( res.count() == 1 ) {
: QWidget( parent ),
d( new Private() )
{
: QWidget( parent ),
d( new Private() )
{
QVBoxLayout* layout = new QVBoxLayout( this );
layout->setMargin( 0 );
d->resourceTagCloud = new TagCloud( this );
QVBoxLayout* layout = new QVBoxLayout( this );
layout->setMargin( 0 );
d->resourceTagCloud = new TagCloud( this );
Private* const d;
Q_PRIVATE_SLOT( d, void _k_slotShowTaggingPopup() )
Private* const d;
Q_PRIVATE_SLOT( d, void _k_slotShowTaggingPopup() )
+ Q_PRIVATE_SLOT( d, void _k_metadataUpdateDone() )