summaryrefslogtreecommitdiffstats
path: root/tools/demoLauncher/graphicsbutton.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-05-06 13:43:18 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-05-06 13:59:32 +0300
commit65acb111b085568597ebf8a83241f4b0ab63a037 (patch)
tree553783409702c90c4867933ff46bfadb0be68a43 /tools/demoLauncher/graphicsbutton.cpp
parent764230e0c100818773896ce8a1fcee94532797a3 (diff)
Bring back the once removed demoLauncher.
Since it is bit of a quick-and-dirty application, it now resides under tools dir, which is not included in releases. Change-Id: Iecfcbd761fc8e1ae371836fbd4f95d2489fbe39a Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tools/demoLauncher/graphicsbutton.cpp')
-rw-r--r--tools/demoLauncher/graphicsbutton.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/tools/demoLauncher/graphicsbutton.cpp b/tools/demoLauncher/graphicsbutton.cpp
new file mode 100644
index 00000000..4ec16f42
--- /dev/null
+++ b/tools/demoLauncher/graphicsbutton.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the Qt Commercial Charts Add-on.
+**
+** $QT_BEGIN_LICENSE$
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "graphicsbutton.h"
+#include <QPainter>
+#include <QProcess>
+#include <QMouseEvent>
+
+GraphicsButton::GraphicsButton(const QString &path, QDir appFolder, const QString &app, QWidget *parent) :
+ QWidget(parent),
+ m_path(path),
+ m_appFolder(appFolder),
+ m_app(app),
+ m_demoApp(0)
+{
+ m_pixmap = QPixmap(path);
+}
+
+GraphicsButton::~GraphicsButton()
+{
+ if (m_demoApp)
+ m_demoApp->close();
+}
+
+void GraphicsButton::mousePressEvent(QMouseEvent *event)
+{
+ QString program = m_appFolder.absolutePath() + QDir::separator() + m_app;
+ m_demoApp = new QProcess(this);
+ m_demoApp->start(program);
+ event->accept();
+}
+
+void GraphicsButton::paintEvent(QPaintEvent *event)
+{
+ QPainter painter(this);
+ painter.drawPixmap(0, 0, this->width(), this->height(), m_pixmap);
+ QWidget::paintEvent(event);
+}