]> cloud.milkyroute.net Git - dolphin.git/commitdiff
* get rid of magic values like QSize(20 + 5, 5)
authorPeter Penz <peter.penz19@gmail.com>
Thu, 13 Nov 2008 22:37:02 +0000 (22:37 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Thu, 13 Nov 2008 22:37:02 +0000 (22:37 +0000)
* coding style cleanups

svn path=/trunk/KDE/kdebase/apps/; revision=883974

src/kformattedballoontipdelegate.cpp
src/kformattedballoontipdelegate.h

index dbcf52f8f04d88f7217376133bf5132b00b95033..d221f678615b2aaebb329988af3af6ea1d3b7e24 100644 (file)
 #include <QLinearGradient>
 #include <QTextDocument>
 #include <kcolorscheme.h>
-#include <kdebug.h>
+
+KFormattedBalloonTipDelegate::KFormattedBalloonTipDelegate()
+{
+}
+
+KFormattedBalloonTipDelegate::~KFormattedBalloonTipDelegate()
+{
+}
 
 QSize KFormattedBalloonTipDelegate::sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const
 {
     QTextDocument doc;
     doc.setHtml(item->text());
-    QIcon icon = item->icon();
+    const QIcon icon = item->icon();
         
-    QSize iconSize = (icon.isNull()) ? QSize(0,0) : icon.actualSize(option->decorationSize);
-    QSize docSize = doc.size().toSize();
+    const QSize iconSize = icon.isNull() ? QSize(0, 0) : icon.actualSize(option->decorationSize);
+    const QSize docSize = doc.size().toSize();
     QSize contentSize = iconSize + docSize;
     
-    // Re-adjust contentSize's height so that it is the maximum of the icon
-    // and doc sizes.
-    contentSize.setHeight( iconSize.height() > doc.size().height() ? iconSize.height() : doc.size().height());
-    return contentSize + QSize(20+5,20+1);
+    // assure that the content height is large enough for the icon and the document
+    contentSize.setHeight(iconSize.height() > doc.size().height() ? iconSize.height() : doc.size().height());
+    return contentSize + QSize(Border * 3, Border * 2);
 }
 
-void KFormattedBalloonTipDelegate::paint(QPainter *painter, const KStyleOptionToolTip *option, const KToolTipItem *item) const
+void KFormattedBalloonTipDelegate::paint(QPainter *painter,
+                                         const KStyleOptionToolTip *option,
+                                         const KToolTipItem *item) const
 {
-    QRect contents;
-    QPainterPath path = createPath(option, &contents);
+    QPainterPath path = createPath(*option);
     if (haveAlphaChannel()) {
         painter->setRenderHint(QPainter::Antialiasing);
         painter->translate(.5, .5);
@@ -65,11 +72,14 @@ void KFormattedBalloonTipDelegate::paint(QPainter *painter, const KStyleOptionTo
 
     painter->drawPath(path);
 
-    QIcon icon = item->icon();
+    const QIcon icon = item->icon();
+    int x = Border;
+    const int y = Border;
     if (!icon.isNull()) {
         const QSize iconSize = icon.actualSize(option->decorationSize);
-        painter->drawPixmap(contents.topLeft(), icon.pixmap(iconSize));
-        contents.adjust(iconSize.width() + 4, 0, 0, 0);
+        const QPoint pos(x + option->rect.x(), y + option->rect.y());
+        painter->drawPixmap(pos, icon.pixmap(iconSize));
+        x += iconSize.width() + Border;
     }
 
     QTextDocument doc;
@@ -78,22 +88,20 @@ void KFormattedBalloonTipDelegate::paint(QPainter *painter, const KStyleOptionTo
     bitmap.fill(Qt::transparent);
     QPainter p(&bitmap);
     doc.drawContents(&p);
-    
-    // Ensure doc text is not stretched when icon is larger.
-    contents.setSize(doc.size().toSize());
-
-    painter->drawPixmap(contents, bitmap);
+    const QRect docRect(QPoint(x, y), doc.size().toSize());
+    painter->drawPixmap(docRect, bitmap);
 }
 
 QRegion KFormattedBalloonTipDelegate::inputShape(const KStyleOptionToolTip *option) const
 {
-    QBitmap bitmap(option->rect.size()+QSize(20,20));
+    QBitmap bitmap(option->rect.size());
     bitmap.fill(Qt::color0);
 
     QPainter p(&bitmap);
     p.setPen(QPen(Qt::color1, 1));
     p.setBrush(Qt::color1);
-    p.drawPath(createPath(option, 0));
+    p.drawPath(createPath(*option));
 
     return QRegion(bitmap);
 }
@@ -108,21 +116,18 @@ static inline void arc(QPainterPath &path, qreal cx, qreal cy, qreal radius, qre
     path.arcTo(cx-radius, cy-radius, radius * 2, radius * 2, angle, sweeplength);
 }
 
-QPainterPath KFormattedBalloonTipDelegate::createPath(const KStyleOptionToolTip *option, QRect *contents) const
+QPainterPath KFormattedBalloonTipDelegate::createPath(const KStyleOptionToolTip& option) const
 {
-    QPainterPath path;
-    QRect rect = option->rect;
+    const QRect rect = option.rect;
     const qreal radius = 5;
 
+    QPainterPath path;
     path.moveTo(rect.left(), rect.top() + radius);
-    arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90);
-    arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90);
-    arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90);
-    arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90);
+    arc(path, rect.left()  + radius, rect.top()    + radius, radius, 180, -90);
+    arc(path, rect.right() - radius, rect.top()    + radius, radius,  90, -90);
+    arc(path, rect.right() - radius, rect.bottom() - radius, radius,   0, -90);
+    arc(path, rect.left()  + radius, rect.bottom() - radius, radius, 270, -90);
     path.closeSubpath();
 
-    if (contents)
-        *contents = rect.adjusted(radius, radius, -radius, -radius);
-
     return path;
 }
index 362a6909574a179d4e32e39e121292da26dd1ccf..64f823a41372244b2b1f3e166f43b4b94689f9b7 100644 (file)
 class KFormattedBalloonTipDelegate : public KToolTipDelegate
 {
 public:
-    KFormattedBalloonTipDelegate() {}
-    virtual ~KFormattedBalloonTipDelegate() {}
+    KFormattedBalloonTipDelegate();
+    virtual ~KFormattedBalloonTipDelegate();
 
     virtual QSize sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const;
     virtual void paint(QPainter *painter, const KStyleOptionToolTip *option, const KToolTipItem *item) const;
-    QRegion inputShape(const KStyleOptionToolTip *option) const;
-    QRegion shapeMask(const KStyleOptionToolTip *option) const;
+    virtual QRegion inputShape(const KStyleOptionToolTip *option) const;
+    virtual QRegion shapeMask(const KStyleOptionToolTip *option) const;
 
-    QPainterPath createPath(const KStyleOptionToolTip *option, QRect *contents) const;
+private:
+    QPainterPath createPath(const KStyleOptionToolTip& option) const;
+    
+private:
+    enum { Border = 8 };
 };
 
 #endif