[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeplasma-addons/applets/previewer
From:       Alessandro Diaferia <alediaferia () gmail ! com>
Date:       2009-08-26 15:32:32
Message-ID: 1251300752.936041.26923.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1015905 by adiaferia:

little optimizations

 M  +1 -2      plasma-previewer.cpp  
 M  +17 -26    previewwidget.cpp  
 M  +0 -2      previewwidget.h  


--- trunk/KDE/kdeplasma-addons/applets/previewer/plasma-previewer.cpp \
#1015904:1015905 @@ -60,8 +60,6 @@
     QDBusConnection dbus = QDBusConnection::sessionBus();
     dbus.registerObject("/Previewer", this);
 
-    setAspectRatioMode(Plasma::IgnoreAspectRatio);
-
     setAcceptHoverEvents(true);
     setAcceptDrops(true);
 
@@ -114,6 +112,7 @@
 {
     Q_UNUSED(constraints)
     setBackgroundHints(NoBackground);
+    setAspectRatioMode(Plasma::IgnoreAspectRatio);
 }
 
 void Previewer::setupPreviewDialog()
--- trunk/KDE/kdeplasma-addons/applets/previewer/previewwidget.cpp #1015904:1015905
@@ -157,7 +157,6 @@
 
 void PreviewWidget::lookForPreview()
 {
-    m_previewReady = false;
     if (m_previewHistory.isEmpty()) {
         return;
     }
@@ -176,20 +175,9 @@
 void PreviewWidget::setPreview(const KFileItem &item, const QPixmap &pixmap)
 {
     m_previews.insert(item.url(), pixmap);
-    m_previewReady = true;
-    updatePreview();
+    update();
 }
 
-void PreviewWidget::updatePreview()
-{
-    //NOTE: use this to update the exact rect in order to repaint
-    //      correctly the preview
-
-    QRect rect = m_previewRect;
-    rect.setHeight(rect.height() + bottomBorderHeight());
-    update(rect);
-}
-
 void PreviewWidget::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
 {
     updateHoveredItems(event->pos().toPoint());
@@ -271,7 +259,7 @@
                 KUrl item = KUrl(m_previewHistory[i]);
                 if (m_previews.contains(item)) {
                     m_hoveredUrl = item;
-                    updatePreview();
+                    update();
                 }
 
                 break;
@@ -505,7 +493,7 @@
 
     const int bottomBorder = bottomBorderHeight();
     QRect contentsRect = opt->rect;
-    painter->translate(contentsRect.topLeft());
+//    painter->translate(contentsRect.topLeft());
     painter->setRenderHint(QPainter::Antialiasing);
 
     painter->save();
@@ -547,7 +535,6 @@
 
     if (!m_items.isEmpty() && m_itemsRect.isValid()) {
         painter->save();
-        painter->setClipping(true);
         painter->setClipRect(m_itemsRect);
 
         PreviewItemModel model(m_previewHistory);
@@ -575,7 +562,7 @@
 	    
 	    if (!m_hoverSvg->prefix().isEmpty()) {
 	        m_hoverSvg->resizeFrame(r.size());
-	        m_hoverSvg->paintFrame(painter, r.topLeft());
+                m_hoverSvg->paintFrame(painter, r.topLeft());
                 KIcon("list-remove").paint(painter, r.right() - REMOVE_EMBLEM_SIZE, \
r.y(), REMOVE_EMBLEM_SIZE, REMOVE_EMBLEM_SIZE);  }
 
@@ -589,16 +576,9 @@
     }
 
     // hovering rect
-    if (m_previewReady && !m_hoveredUrl.isEmpty()) {
+    if (!m_hoveredUrl.isEmpty() && m_previews.contains(m_hoveredUrl)) {
         QPixmap pmap;
-        if (m_previews.contains(m_hoveredUrl)) {
-            pmap = m_previews[m_hoveredUrl];
-            QRect itemNameRect = QRect(m_itemsRect.right(), m_itemsRect.bottom(),
-                                       contentsRect.width() - m_itemsRect.right(), \
                bottomBorder);
-            // here we paint the file name
-            painter->setPen(Plasma::Theme::defaultTheme()->color(Plasma::Theme::TextColor));
                
-            painter->drawText(itemNameRect, Qt::AlignVCenter | Qt::AlignLeft, \
                m_hoveredUrl.fileName());
-        }
+        pmap = m_previews[m_hoveredUrl];
 
         if (m_previewRect.width() >= pmap.width() && m_previewRect.height() >= \
                pmap.height()) {
             QRect p_rect = QRect(m_previewRect.x() + abs(m_previewRect.width() - \
pmap.width())/2, @@ -614,6 +594,17 @@
             painter->drawPixmap(p_rect, scaled);
         }
     }
+
+
+    if (!m_hoveredUrl.isValid()) {
+        return;
+    }
+    QRect itemNameRect = QRect(m_itemsRect.x(), m_itemsRect.bottom(),
+                               m_itemsRect.width(), bottomBorder);
+    // here we paint the file name
+    painter->setFont(KGlobalSettings::smallestReadableFont());
+    painter->setPen(Plasma::Theme::defaultTheme()->color(Plasma::Theme::TextColor));
+    painter->drawText(itemNameRect, Qt::AlignVCenter | Qt::AlignLeft, \
m_hoveredUrl.fileName());  }
 
 void PreviewWidget::drawOpenCloseArrow(QPainter *painter)
--- trunk/KDE/kdeplasma-addons/applets/previewer/previewwidget.h #1015904:1015905
@@ -76,7 +76,6 @@
         void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
         void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
         void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
-        void updatePreview();
         void wheelEvent(QGraphicsSceneWheelEvent *event);
         void updateSelectedItems(const QPoint &);
         void updateHoveredItems(const QPoint &);
@@ -109,7 +108,6 @@
        QMap<KUrl, QPixmap> m_previews;
        int m_selectedIndex;
        int m_hoveredIndex;
-       bool m_previewReady;
        QStyleOptionViewItemV4 m_option;
        QRect m_previewRect;
        bool m_layoutIsValid;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic