20 #include <QPainter> |
20 #include <QPainter> |
21 #include "SquareLabel.h" |
21 #include "SquareLabel.h" |
22 #include "hwform.h" |
22 #include "hwform.h" |
23 |
23 |
24 SquareLabel::SquareLabel(QWidget * parent) : |
24 SquareLabel::SquareLabel(QWidget * parent) : |
25 QWidget(parent) |
25 QWidget(parent) |
26 { |
26 { |
27 if(frontendEffects) setAttribute(Qt::WA_PaintOnScreen, true); |
27 if(frontendEffects) setAttribute(Qt::WA_PaintOnScreen, true); |
28 } |
28 } |
29 |
29 |
30 void SquareLabel::paintEvent(QPaintEvent * event) |
30 void SquareLabel::paintEvent(QPaintEvent * event) |
31 { |
31 { |
32 QPainter painter(this); |
32 QPainter painter(this); |
33 int pixsize; |
33 int pixsize; |
34 if (width() > height()) { |
34 if (width() > height()) { |
35 pixsize = height(); |
35 pixsize = height(); |
36 painter.translate((width() - pixsize) / 2, 0); |
36 painter.translate((width() - pixsize) / 2, 0); |
37 } else { |
37 } else { |
38 pixsize = width(); |
38 pixsize = width(); |
39 painter.translate(0, (height() - pixsize) / 2); |
39 painter.translate(0, (height() - pixsize) / 2); |
40 } |
40 } |
41 painter.drawPixmap(0, 0, pixsize, pixsize, pixmap.scaled(pixsize, pixsize, Qt::KeepAspectRatio)); |
41 painter.drawPixmap(0, 0, pixsize, pixsize, pixmap.scaled(pixsize, pixsize, Qt::KeepAspectRatio)); |
42 } |
42 } |
43 |
43 |
44 void SquareLabel::setPixmap(const QPixmap & pixmap) |
44 void SquareLabel::setPixmap(const QPixmap & pixmap) |
45 { |
45 { |
46 this->pixmap = pixmap; |
46 this->pixmap = pixmap; |
47 repaint(); |
47 repaint(); |
48 } |
48 } |