#include #include "chooseinterfacedialog.h" ChooseInterfaceDialog::ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent) : QDialog(parent) { oneMinuteCountdown = 60; createContentGroupBox(interfaces); createButtonGroupBox(); createTimer(); mainLayout = new QVBoxLayout; mainLayout->addWidget(contentGroupBox); mainLayout->addWidget(buttonGroupBox); setLayout(mainLayout); setWindowTitle(tr("Choose Interface")); } void ChooseInterfaceDialog::createContentGroupBox(QStringList &interfaces) { contentGroupBox = new QGroupBox; timerLabel = new QLabel(QString::number(oneMinuteCountdown)); QVBoxLayout *groupBoxLayout = new QVBoxLayout; QHBoxLayout *layout = new QHBoxLayout; comboBox = new QComboBox; comboBox->addItems(interfaces); layout->addWidget(new QLabel(tr("test"))); layout->addWidget(comboBox); groupBoxLayout->addWidget(timerLabel); groupBoxLayout->addLayout(layout); contentGroupBox->setLayout(groupBoxLayout); } void ChooseInterfaceDialog::createButtonGroupBox() { buttonGroupBox = new QGroupBox; QHBoxLayout *layout = new QHBoxLayout; QPushButton *continueButton = new QPushButton(tr("Continue")); continueButton->setDefault(true); QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); shutDownButton->setAutoDefault(false); QPushButton *restartButton = new QPushButton(tr("Restart")); restartButton->setAutoDefault(false); connect(continueButton, SIGNAL(clicked()),this, SLOT(continueButtonClicked())); connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); layout->addWidget(restartButton); layout->addWidget(shutDownButton); layout->addWidget(continueButton); buttonGroupBox->setLayout(layout); } void ChooseInterfaceDialog::createTimer() { timer = new QTimer(this); connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); timer->start(1000); } void ChooseInterfaceDialog::continueButtonClicked() { qDebug() << "continue button clicked"; emit continueSignal(comboBox->currentText()); } void ChooseInterfaceDialog::shutDownButtonClicked() { qDebug() << "shut down button clicked"; emit shutDownSignal(); } void ChooseInterfaceDialog::restartButtonClicked() { qDebug() << "restart button clicked"; emit restartSignal(); } void ChooseInterfaceDialog::timerLabelUpdate() { oneMinuteCountdown = oneMinuteCountdown -1; timerLabel->setText(QString::number(oneMinuteCountdown)); if(oneMinuteCountdown <= 0) { timer->stop(); emit continueSignal(comboBox->currentText()); } }