#include <QApplication>
#include <QThreadPool>
#include <QEvent>
#include <iostream>
#include "mainwindow.h"
#include "mqexception.h"
MainWindow::MainWindow(QWidget* parent)
: QMainWindow(parent)
{
mButton = new QPushButton("My Button", this);
mButton->setGeometry(QRect(QPoint(100, 100), QSize(200, 50)));
connect(mButton, &QPushButton::released,
this, &MainWindow::handleButton);
mMessageJob = new mq::MessageJob(
QApplication::applicationName().toStdString());
connect(mMessageJob, &mq::MessageJob::clickSignal,
mButton, &QPushButton::click);
connect(mMessageJob, &mq::MessageJob::closeSignal,
this, &MainWindow::quit);
QThreadPool::globalInstance()->start(mMessageJob);
}
void MainWindow::quit()
{
emit quitSignal();
}
bool MainWindow::event(QEvent* event)
{
if (event->type() == QEvent::Close) {
mMessageJob->close();
}
return QMainWindow::event(event);
}
void MainWindow::handleButton()
{
mButton->setText("Example");
}