summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/mainwindow.cc39
-rw-r--r--client/mainwindow.h1
2 files changed, 32 insertions, 8 deletions
diff --git a/client/mainwindow.cc b/client/mainwindow.cc
index fa73a9e..d2c9248 100644
--- a/client/mainwindow.cc
+++ b/client/mainwindow.cc
@@ -39,21 +39,44 @@
#include "control.h"
-QPushButton *MainWindow::createButton(char* icon)
+#include <QSvgRenderer>
+#include <QPainter>
+
+#define SVG false
+
+QPixmap MainWindow::loadIcon(char* fname)
{
- QPixmap pixmap(icon);
+ QSvgRenderer svgrenderer;
+ QPainter painter;
int w = (int)((double)x11Info().appDpiX() / 1.5);
int h = (int)((double)x11Info().appDpiY() / 1.5);
- Qt::AspectRatioMode aspect = pixmap.width()<pixmap.height()?
- Qt::KeepAspectRatio:Qt::KeepAspectRatioByExpanding;
+ if(SVG) {
+ QPixmap pixmap(w, h);
+ painter.begin(&pixmap);
+ QString filename = fname;
+ svgrenderer.load(filename);
+ svgrenderer.render(&painter);
+ painter.end();
+ return pixmap;
+ } else {
+ QPixmap pixmap(fname);
+ Qt::AspectRatioMode aspect = pixmap.width()<pixmap.height()?
+ Qt::KeepAspectRatio:Qt::KeepAspectRatioByExpanding;
+ pixmap = pixmap.scaled(w,h, aspect, Qt::SmoothTransformation);
+ return pixmap;
+ }
+}
- pixmap = pixmap.scaled(w,h, aspect, Qt::SmoothTransformation);
+QPushButton *MainWindow::createButton(char* icon)
+{
+ int w = (int)((double)x11Info().appDpiX() / 1.5);
+ int h = (int)((double)x11Info().appDpiY() / 1.5);
QPushButton *btn = new QPushButton();
- btn->setIconSize(QSize(50,50));
- btn->setIcon(pixmap);
+ btn->setIconSize(QSize(w,h));
+ btn->setIcon(loadIcon(icon));
return btn;
}
@@ -152,7 +175,7 @@ void MainWindow::snapshot_clicked()
{
MIaV::control.shoot();
- QImage screenshot((uchar*)rgb, 720, 576, QImage::Format_RGB32);
+ QImage screenshot(720, 576, QImage::Format_RGB32);
decoder->snapshot((char*)screenshot.bits());
QPixmap *p = new QPixmap();
diff --git a/client/mainwindow.h b/client/mainwindow.h
index 9425d40..723b747 100644
--- a/client/mainwindow.h
+++ b/client/mainwindow.h
@@ -79,6 +79,7 @@ private:
VideoWidget *video;
QPushButton *createButton(char* icon);
+ QPixmap loadIcon(char* fname);
};
#endif/*__MIAV_MAINWINDOW_H__*/