]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tagcloud/tagcloud.cpp
consider the protocol and directory capabilities for file actions like Rename, Delete...
[dolphin.git] / src / tagcloud / tagcloud.cpp
index 8fe5cba891980b0497e791131f2b293ce0ab96a4..5f406a79645b3d1521e0b4d931a0e9c681bb86d2 100644 (file)
@@ -204,7 +204,7 @@ int Nepomuk::TagCloud::Private::calculateWeight( const Nepomuk::Tag& tag )
     Soprano::QueryResultIterator it
         = ResourceManager::instance()->mainModel()->executeQuery( QString( "select ?r where { ?r <%1> <%2> . }" )
                                                                   .arg( Soprano::Vocabulary::NAO::hasTag().toString() )
-                                                                  .arg( tag.resourceUri().toString() ),
+                                                                  .arg( QString::fromAscii( tag.resourceUri().toEncoded() ) ),
                                                                   Soprano::Query::QueryLanguageSparql );
     int w = 0;
     while ( it.next() ) {
@@ -732,6 +732,7 @@ QSize Nepomuk::TagCloud::sizeHint() const
 
 QSize Nepomuk::TagCloud::minimumSizeHint() const
 {
+    return QFrame::minimumSizeHint();
     // If we have tags d->rebuildCloud() has been called at least once,
     // thus, we have proper rects (i.e. needed sizes)
     if ( d->nodes.isEmpty() && !d->newTagButtonEnabled ) {
@@ -760,6 +761,8 @@ int Nepomuk::TagCloud::heightForWidth( int contentsWidth ) const
     // If we have tags d->rebuildCloud() has been called at least once,
     // thus, we have proper rects (i.e. needed sizes)
 
+    // FIXME: add zoom here
+
     if ( d->cachedHfwWidth != contentsWidth ) {
         // have to keep in mind the frame
         contentsWidth -= frameWidth()*2;
@@ -829,46 +832,41 @@ void Nepomuk::TagCloud::paintEvent( QPaintEvent* e )
     QPainter p( this );
     QRegion paintRegion = e->region();
 
-    if ( d->nodes.isEmpty() && !d->newTagButtonEnabled ) {
-        p.drawText( contentsRect(), d->alignment, i18n( "No Tags" ) );
-    }
-    else {
-        p.save();
-        p.setMatrix( d->zoomMatrix );
+    p.save();
+    p.setMatrix( d->zoomMatrix );
 
-        for ( QList<TagNode>::iterator it = d->nodes.begin();
-              it != d->nodes.end(); ++it ) {
-            TagNode& node = *it;
-
-            if ( paintRegion.contains( node.zoomedRect ) ) {
-                p.setFont( node.font );
+    for ( QList<TagNode>::iterator it = d->nodes.begin();
+          it != d->nodes.end(); ++it ) {
+        TagNode& node = *it;
 
-                if ( &node == d->hoverTag ) {
-                    p.setPen( hoverTextBrush.brush( this ).color() );
-                }
-                else if ( d->selectionEnabled && node.selected ) {
-                    p.setPen( activeTextBrush.brush( this ).color() );
-                }
-                else {
-                    p.setPen( normalTextBrush.brush( this ).color() );
-                }
-                p.drawText( node.rect, Qt::AlignCenter, node.text );
-            }
-        }
+        if ( paintRegion.contains( node.zoomedRect ) ) {
+            p.setFont( node.font );
 
-        if ( d->newTagButtonEnabled ) {
-            p.setFont( d->newTagNode.font );
-            if ( &d->newTagNode == d->hoverTag ) {
+            if ( &node == d->hoverTag ) {
                 p.setPen( hoverTextBrush.brush( this ).color() );
             }
+            else if ( d->selectionEnabled && node.selected ) {
+                p.setPen( activeTextBrush.brush( this ).color() );
+            }
             else {
                 p.setPen( normalTextBrush.brush( this ).color() );
             }
-            p.drawText( d->newTagNode.rect, Qt::AlignCenter, d->customNewTagAction ? d->customNewTagAction->text() : d->newTagNode.text );
+            p.drawText( node.rect, Qt::AlignCenter, node.text );
         }
+    }
 
-        p.restore();
+    if ( d->newTagButtonEnabled ) {
+        p.setFont( d->newTagNode.font );
+        if ( &d->newTagNode == d->hoverTag ) {
+            p.setPen( hoverTextBrush.brush( this ).color() );
+        }
+        else {
+            p.setPen( normalTextBrush.brush( this ).color() );
+        }
+        p.drawText( d->newTagNode.rect, Qt::AlignCenter, d->customNewTagAction ? d->customNewTagAction->text() : d->newTagNode.text );
     }
+
+    p.restore();
 }