diff options
author | Arno <am@disconnect.de> | 2010-12-16 20:21:12 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-12-16 20:21:12 +0100 |
commit | 4a42f4f8a8e5e0b0378f9514b317648107c238cc (patch) | |
tree | 9f4c166f44cfefcca6730e378794c383f5cdd26a /pictureviewer.cpp | |
parent | 69bdaf5d1cdf2cb6a5da8371658e1c3995a71cfb (diff) | |
download | SheMov-4a42f4f8a8e5e0b0378f9514b317648107c238cc.tar.gz SheMov-4a42f4f8a8e5e0b0378f9514b317648107c238cc.tar.bz2 SheMov-4a42f4f8a8e5e0b0378f9514b317648107c238cc.zip |
Moved class PictureViewerInfoItem
PictureViewerInfoItem is only used in PictureViewer, so no need for a
sepearte file.
Diffstat (limited to 'pictureviewer.cpp')
-rw-r--r-- | pictureviewer.cpp | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/pictureviewer.cpp b/pictureviewer.cpp index 915a280..33131de 100644 --- a/pictureviewer.cpp +++ b/pictureviewer.cpp @@ -17,7 +17,6 @@ #include <algorithm> #include "pictureviewer.h" -#include "pictureviewerinfoitem.h" #include "helper.h" PictureViewer::PictureViewer(QWidget *parent) : QGraphicsView(parent), mCurrentPic(0), mInfoItem(0) { @@ -175,3 +174,36 @@ QPointF PictureViewer::center(const QPixmap &pic){ float y = (viewportSize.height() - pic.height()) / 2; return QPointF(x, y); } + +PictureviewerInfoItem::PictureviewerInfoItem(const QString &fileName, QGraphicsItem *parent) : QGraphicsItem(parent), mFileName(fileName){ + setZValue(1); +} + +QRectF PictureviewerInfoItem::boundingRect() const { + QSize size = qApp->fontMetrics().size(Qt::TextSingleLine, mFileName); + size += QSize(2, 2); + QRectF retval; + retval.setWidth(size.width()); + retval.setHeight(size.height()); + return retval; +} + +void PictureviewerInfoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ + Q_UNUSED(option); + Q_UNUSED(widget); + painter->save(); + painter->setRenderHint(QPainter::Antialiasing, false); + painter->setRenderHint(QPainter::TextAntialiasing, true); + QRectF boundRect = boundingRect(); + QColor backgroundColor(Qt::white); + backgroundColor.setAlpha(70); + QBrush brush(backgroundColor); + painter->setPen(QPen(Qt::NoPen)); + painter->setBrush(brush); + painter->drawRect(boundRect); + QPen pen(Qt:: black); + painter->setPen(pen); + QPoint start(1, qApp->fontMetrics().ascent() + 1); + painter->drawText(start, mFileName); + painter->restore(); +} |