OP-1900 have path_progress updated correctly for leg_remaining and error_below end...
[librepilot.git] / ground / openpilotgcs / src / plugins / uploader / rebootdialog.cpp
blobb457ccddfefb9ee675e6876ff2c28cbf64b00e50
1 /**
2 ******************************************************************************
4 * @file rebootdialog.cpp
5 * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
6 * @addtogroup [Group]
7 * @{
8 * @addtogroup RebootDialog
9 * @{
10 * @brief [Brief]
11 *****************************************************************************/
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 3 of the License, or
16 * (at your option) any later version.
18 * This program is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
20 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 * for more details.
23 * You should have received a copy of the GNU General Public License along
24 * with this program; if not, write to the Free Software Foundation, Inc.,
25 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 #include "rebootdialog.h"
29 #include "ui_rebootdialog.h"
31 RebootDialog::RebootDialog(UploaderGadgetWidget *uploader) :
32 QDialog(uploader),
33 ui(new Ui::RebootDialog), m_uploader(uploader)
35 setWindowFlags(((windowFlags() | Qt::CustomizeWindowHint)
36 & ~Qt::WindowCloseButtonHint & ~Qt::WindowMinMaxButtonsHint));
37 ui->setupUi(this);
38 connect(this, SIGNAL(reboot()), m_uploader, SLOT(systemReboot()));
39 ui->rebootProgressBar->setVisible(true);
40 ui->okButton->setVisible(false);
43 RebootDialog::~RebootDialog()
45 delete ui;
48 void RebootDialog::on_okButton_clicked()
50 reject();
53 int RebootDialog::exec()
55 show();
56 connect(m_uploader, SIGNAL(progressUpdate(uploader::ProgressStep, QVariant)), this, SLOT(progressUpdate(uploader::ProgressStep, QVariant)));
57 emit reboot();
58 return result();
61 void RebootDialog::progressUpdate(uploader::ProgressStep progress, QVariant message)
63 Q_UNUSED(message);
64 if (progress == uploader::SUCCESS || progress == uploader::FAILURE) {
65 disconnect(m_uploader, SIGNAL(progressUpdate(uploader::ProgressStep, QVariant)), this, SLOT(progressUpdate(uploader::ProgressStep, QVariant)));
66 if (progress == uploader::FAILURE) {
67 ui->rebootProgressBar->setVisible(false);
68 ui->okButton->setVisible(true);
69 ui->label->setText(tr("<font color='red'>Reboot failed!</font><p>Please perform a manual reboot by power cycling the board.<br>"
70 "To power cycle the controller remove all batteries and the USB cable for at least 30 seconds.<br>"
71 "After 30 seconds, plug in the board again and wait for it to connect, this can take a few seconds.<br>"
72 "Then press Ok.</p>"));
73 QDialog::exec();
74 } else {
75 accept();