From 4d2903789bc9a497cb1210de6d7653f8215143a5 Mon Sep 17 00:00:00 2001
From: deva <deva>
Date: Fri, 21 Apr 2006 13:50:55 +0000
Subject: *** empty log message ***

---
 client/mainwindow.cc | 39 +++++++++++++++++++++++++++++++--------
 client/mainwindow.h  |  1 +
 2 files changed, 32 insertions(+), 8 deletions(-)

(limited to 'client')

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__*/
-- 
cgit v1.2.3