#include #include "abortbootdialog.h" AbortBootDialog::AbortBootDialog(QWidget *parent) : QDialog(parent) { oneMinuteCountdown = 60; createContentGroupBox(); createButtonGroupBox(); createTimer(); mainLayout = new QVBoxLayout; mainLayout->addWidget(contentGroupBox); mainLayout->addWidget(buttonGroupBox); setLayout(mainLayout); setWindowTitle(tr("Abort Boot")); } void AbortBootDialog::createContentGroupBox() { contentGroupBox = new QGroupBox; timerLabel = new QLabel(QString::number(oneMinuteCountdown)); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(new QLabel(tr("test"))); layout->addWidget(timerLabel); contentGroupBox->setLayout(layout); } void AbortBootDialog::createButtonGroupBox() { buttonGroupBox = new QGroupBox; QHBoxLayout *layout = new QHBoxLayout; QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); shutDownButton->setDefault(true); QPushButton *restartButton = new QPushButton(tr("Restart")); restartButton->setAutoDefault(false); QPushButton *showLogButton = new QPushButton(tr("Show Log")); showLogButton->setAutoDefault(false); connect(showLogButton, SIGNAL(clicked()),this, SLOT(showLogButtonClicked())); connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); layout->addWidget(showLogButton); layout->addWidget(restartButton); layout->addWidget(shutDownButton); buttonGroupBox->setLayout(layout); } void AbortBootDialog::createTimer() { timer = new QTimer(this); connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); timer->start(1000); } void AbortBootDialog::showLogButtonClicked() { qDebug() << "show log button clicked"; emit showLogSignal(); } void AbortBootDialog::shutDownButtonClicked() { qDebug() << "shut down button clicked"; emit shutDownSignal(); } void AbortBootDialog::restartButtonClicked() { qDebug() << "restart button clicked"; emit restartSignal(); } void AbortBootDialog::timerLabelUpdate() { oneMinuteCountdown = oneMinuteCountdown -1; timerLabel->setText(QString::number(oneMinuteCountdown)); if(oneMinuteCountdown <= 0) { timer->stop(); emit shutDownSignal(); } } void AbortBootDialog::closeDialog() { this->hide(); this->killTimer(timer->timerId()); this->close(); }