[Add] Select & Drag.
This commit is contained in:
parent
c5dd6943ef
commit
1ece30f562
@ -9,6 +9,7 @@ PDFPageWidget::PDFPageWidget(QWidget* parent) :
|
|||||||
this->resize(150, 150);
|
this->resize(150, 150);
|
||||||
this->setMinimumSize(150, 150);
|
this->setMinimumSize(150, 150);
|
||||||
this->setMinimumSize(150, 150);
|
this->setMinimumSize(150, 150);
|
||||||
|
this->setAutoFillBackground(true);
|
||||||
|
|
||||||
this->setMouseTracking(true);
|
this->setMouseTracking(true);
|
||||||
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
@ -51,7 +52,7 @@ void PDFPageWidget::setPopplerPage(Poppler::Page* pp) {
|
|||||||
void PDFPageWidget::setThumbnail(QImage pageImage) {
|
void PDFPageWidget::setThumbnail(QImage pageImage) {
|
||||||
image = pageImage;
|
image = pageImage;
|
||||||
pixmap = QPixmap::fromImage(image);
|
pixmap = QPixmap::fromImage(image);
|
||||||
pixmap = pixmap.scaled(size(), Qt::KeepAspectRatio);
|
pixmap = pixmap.scaled(size() - QSize(6, 6), Qt::KeepAspectRatio);
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
@ -60,20 +61,35 @@ void PDFPageWidget::mousePressEvent(QMouseEvent* event) {
|
|||||||
if(pPage != NULL) {
|
if(pPage != NULL) {
|
||||||
emit pageClicked(event, image);
|
emit pageClicked(event, image);
|
||||||
emit previewUpdate(pPage);
|
emit previewUpdate(pPage);
|
||||||
|
|
||||||
|
selected = !selected;
|
||||||
|
update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPageWidget::leaveEvent(QEvent* event) {
|
void PDFPageWidget::leaveEvent(QEvent* event) {
|
||||||
btn1->hide();
|
btn1->hide();
|
||||||
btn2->hide();
|
btn2->hide();
|
||||||
|
|
||||||
|
this->setFrameStyle(QFrame::Plain);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPageWidget::enterEvent(QEvent* event) {
|
void PDFPageWidget::enterEvent(QEvent* event) {
|
||||||
btn1->show();
|
btn1->show();
|
||||||
btn2->show();
|
btn2->show();
|
||||||
|
|
||||||
|
this->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPageWidget::paintEvent(QPaintEvent* event) {
|
void PDFPageWidget::paintEvent(QPaintEvent* event) {
|
||||||
|
QPalette palette = this->palette();
|
||||||
|
if(selected)
|
||||||
|
palette.setColor(backgroundRole(), palette.color(QPalette::Highlight));
|
||||||
|
else
|
||||||
|
palette.setColor(backgroundRole(), palette.color(QPalette::AlternateBase));
|
||||||
|
this->setPalette(palette);
|
||||||
|
|
||||||
|
QFrame::paintEvent(event);
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
painter.drawPixmap(QRect((size().width() - pixmap.width()) / 2,
|
painter.drawPixmap(QRect((size().width() - pixmap.width()) / 2,
|
||||||
(size().height() - pixmap.height()) / 2,
|
(size().height() - pixmap.height()) / 2,
|
||||||
|
@ -36,6 +36,8 @@ private:
|
|||||||
QPixmap pixmap;
|
QPixmap pixmap;
|
||||||
QPushButton* btn1, *btn2;
|
QPushButton* btn1, *btn2;
|
||||||
|
|
||||||
|
bool selected = false;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void pageClicked(QMouseEvent* event, QImage pageImage);
|
void pageClicked(QMouseEvent* event, QImage pageImage);
|
||||||
void previewUpdate(Poppler::Page*);
|
void previewUpdate(Poppler::Page*);
|
||||||
|
Loading…
Reference in New Issue
Block a user