diff options
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r-- | pictureviewer2.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index f57cab6..71f4a80 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -74,6 +74,8 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) readSettings(); setMinimumSize(QSize(800, 600)); showFile(mFiles.at(mCurPos)); + mBoundingRectItem = new BoundingRectItem(QSize(100, 300)); + mScene->addItem(mBoundingRectItem); } void PictureViewer2::addFiles(const PicDataList &files, bool clear){ @@ -453,6 +455,8 @@ void PictureViewer2::hideEvent(QHideEvent *e){ void PictureViewer2::resizeEvent(QResizeEvent *event){ QGraphicsView::resizeEvent(event); + int brposy = event->size().height() - mBoundingRectItem->boundingRect().size().height() - 5; + mBoundingRectItem->setPos(5, brposy); showFile(mCurPicData); } @@ -651,7 +655,7 @@ void PictureViewer2::treeToStringRecursive(const SmTreeItem *parent, QTextCursor } } -QPointF PictureViewer2::getPos(PictureViewer2Item *item, int pos, const QPointF &movPos){ +QPointF PictureViewer2::getPos(QGraphicsItem *item, int pos, const QPointF &movPos){ QSizeF curSize = size(); item->setFlags(0); if(pos == ConfigurationDialog::TopLeft){ @@ -744,6 +748,24 @@ void PictureViewer2Item::paint(QPainter *painter, const QStyleOptionGraphicsItem painter->restore(); } +QRectF BoundingRectItem::boundingRect() const { + return QRectF(0, 0, mSize.width(), mSize.height()); +} + +void BoundingRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ + Q_UNUSED(option); + Q_UNUSED(widget); + painter->save(); + painter->setRenderHint(QPainter::Antialiasing, true); + painter->setRenderHint(QPainter::TextAntialiasing, true); + QColor bgColor = QColor(Qt::white); + bgColor.setAlpha(80); + QBrush brush(bgColor); + painter->setPen(QColor(Qt::yellow)); + painter->setBrush(brush); + painter->drawRoundedRect(boundingRect(), 15.0, 15.0); +} + void PictureViewerGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *e){ QGraphicsScene::mousePressEvent(e); QGraphicsItem *item = itemAt(e->scenePos(), QTransform()); |