summaryrefslogtreecommitdiffstats
path: root/helper.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-03-05 05:51:22 +0100
committerArno <arno@disconnect.de>2017-03-05 05:51:22 +0100
commit9343fc6c77da8678df98ceb6330c61f43aa48737 (patch)
tree3bd77d7c874e4d7d31f81339f7623cef0fa33eb9 /helper.cpp
parent4126723a86bfa09a830c1e41fb1b49e6a114218a (diff)
downloadBeetPlayer-9343fc6c77da8678df98ceb6330c61f43aa48737.tar.gz
BeetPlayer-9343fc6c77da8678df98ceb6330c61f43aa48737.tar.bz2
BeetPlayer-9343fc6c77da8678df98ceb6330c61f43aa48737.zip
Implement expand and collapse for DB view
Sounds easy, right? It is, if you don't try to create a QIcon from a QChar. That took me a while... First, it's not a good idea to fill the QPixmap for the QIcon with transparency. That gives you a random background. Fill it with palette color instead. Then there's QFont's pixelSize(). I have absolutely no idea how it corresponds to the pixmap's size, but roughly double the width of the pixmap is a good guess...
Diffstat (limited to 'helper.cpp')
-rw-r--r--helper.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/helper.cpp b/helper.cpp
new file mode 100644
index 0000000..91e4d7f
--- /dev/null
+++ b/helper.cpp
@@ -0,0 +1,26 @@
+#include <QPainter>
+#include <QPalette>
+#include <QAction>
+#include <QApplication>
+
+#include "helper.h"
+
+namespace Helper {
+ QIcon iconFromQChar(const QChar &c, int pixelSize){
+ QPixmap pm(QSize(64,64));
+ QPainter p(&pm);
+ QFont f = p.font();
+ f.setPixelSize(pixelSize);
+ p.setFont(f);
+ p.fillRect(pm.rect(), qApp->palette().color(QPalette::Window));
+ p.setBrush(QBrush(Qt::black));
+ p.drawText(pm.rect(), Qt::AlignCenter, c);
+ return QIcon(pm);
+ }
+
+ QAction* createSeparator(QObject *parent){
+ QAction *a = new QAction(parent);
+ a->setSeparator(true);
+ return a;
+ }
+}