2 #include "simpleimageview.h"
10 SimpleImageView::SimpleImageView(QWidget *parent) :
11 QGraphicsView(parent),
15 setContextMenuPolicy(Qt::DefaultContextMenu);
16 m_back = new QAction(tr("戻る"), this);
17 m_back->setObjectName("back");
19 QList<QKeySequence> shortcuts;
20 shortcuts << QKeySequence("Return");
21 shortcuts << QKeySequence("Backspace");
22 m_back->setShortcuts(shortcuts);
24 connect(m_back, SIGNAL(triggered()), this, SLOT(back()));
27 bool SimpleImageView::setSource(const QString &path)
29 qDebug() << "SimpleImageView::setSource()";
31 m_img = QPixmap(path);
33 emit fileInfo(QString("%1x%2x%3bpp")
38 return !m_img.isNull();
41 void SimpleImageView::back()
46 void SimpleImageView::paintEvent(QPaintEvent *)
48 qDebug() << "SimpleImageView::paintEvent();";
50 QPainter painter(viewport());
53 if (m_img.width() < viewport()->width() &&
54 m_img.height() < viewport()->height())
59 scaledImg = m_img.scaled(viewport()->size(),
61 Qt::SmoothTransformation);
65 painter.setBrush(settings.value(IniKey_ViewColorBgNormal).value<QColor>());
66 painter.drawRect(viewport()->rect());
68 (viewport()->width() - scaledImg.width()) / 2,
69 (viewport()->height() - scaledImg.height()) / 2,
73 void SimpleImageView::keyPressEvent(QKeyEvent *event)
75 qDebug() << "SimpleImageView::keyPressEvent();";
77 QString ksq = KeyEventToSequence(event);
79 if (ProcessShortcut(ksq, this)) {
84 QGraphicsView::keyReleaseEvent(event);
90 void SimpleImageView::contextMenuEvent(QContextMenuEvent *event)
92 qDebug() << "SimpleImageView::contextMenuEvent();";
95 menu.addAction(m_back);
96 menu.exec(event->globalPos());