diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-02-09 01:51:14 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-04-12 20:57:18 +0200 |
commit | db877ba121ff87a4e029daf8555d85dfef45993a (patch) | |
tree | 7673f83c404b3883f0a4fcf6b492f0c4125c293c /application/widgets/IconLabel.cpp | |
parent | 4730f54df7edf4775dfddf45f77c60edd86c32d9 (diff) | |
download | PrismLauncher-db877ba121ff87a4e029daf8555d85dfef45993a.tar.gz PrismLauncher-db877ba121ff87a4e029daf8555d85dfef45993a.tar.bz2 PrismLauncher-db877ba121ff87a4e029daf8555d85dfef45993a.zip |
NOISSUE move everything.
Diffstat (limited to 'application/widgets/IconLabel.cpp')
-rw-r--r-- | application/widgets/IconLabel.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/application/widgets/IconLabel.cpp b/application/widgets/IconLabel.cpp new file mode 100644 index 00000000..86c8a431 --- /dev/null +++ b/application/widgets/IconLabel.cpp @@ -0,0 +1,43 @@ +#include "IconLabel.h" + +#include <QStyle> +#include <QStyleOption> +#include <QLayout> +#include <QPainter> +#include <QRect> + +IconLabel::IconLabel(QWidget *parent, QIcon icon, QSize size) + : QWidget(parent), m_size(size), m_icon(icon) +{ + setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); +} + +QSize IconLabel::sizeHint() const +{ + return m_size; +} + +void IconLabel::setIcon(QIcon icon) +{ + m_icon = icon; + update(); +} + +void IconLabel::paintEvent(QPaintEvent *) +{ + QPainter p(this); + QRect rect = contentsRect(); + int width = rect.width(); + int height = rect.height(); + if(width < height) + { + rect.setHeight(width); + rect.translate(0, (height - width) / 2); + } + else if (width > height) + { + rect.setWidth(height); + rect.translate((width - height) / 2, 0); + } + m_icon.paint(&p, rect); +} |