graphicsbutton.cpp
35 lines
| 837 B
| text/x-c
|
CppLexer
Marek Rosa
|
r2252 | #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), | ||||
Marek Rosa
|
r2254 | m_app(app), | ||
m_demoApp(0) | ||||
Marek Rosa
|
r2252 | { | ||
m_pixmap = QPixmap(path); | ||||
} | ||||
Marek Rosa
|
r2254 | GraphicsButton::~GraphicsButton() | ||
{ | ||||
if (m_demoApp) | ||||
m_demoApp->close(); | ||||
} | ||||
Marek Rosa
|
r2252 | void GraphicsButton::mousePressEvent(QMouseEvent * event) | ||
{ | ||||
QString program = m_appFolder.absolutePath() + QDir::separator() + m_app; | ||||
Marek Rosa
|
r2254 | m_demoApp = new QProcess(this); | ||
m_demoApp->start(program); | ||||
Marek Rosa
|
r2252 | event->accept(); | ||
} | ||||
void GraphicsButton::paintEvent(QPaintEvent *event) | ||||
{ | ||||
QPainter painter(this); | ||||
painter.drawPixmap(0, 0, this->width(), this->height(), m_pixmap); | ||||
QWidget::paintEvent(event); | ||||
} | ||||