2 ******************************************************************************
4 * @file rebootdialog.cpp
5 * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
8 * @addtogroup RebootDialog
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
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
) :
33 ui(new Ui::RebootDialog
), m_uploader(uploader
)
35 setWindowFlags(((windowFlags() | Qt::CustomizeWindowHint
)
36 & ~Qt::WindowCloseButtonHint
& ~Qt::WindowMinMaxButtonsHint
));
38 connect(this, SIGNAL(reboot()), m_uploader
, SLOT(systemReboot()));
39 ui
->rebootProgressBar
->setVisible(true);
40 ui
->okButton
->setVisible(false);
43 RebootDialog::~RebootDialog()
48 void RebootDialog::on_okButton_clicked()
53 int RebootDialog::exec()
56 connect(m_uploader
, SIGNAL(progressUpdate(uploader::ProgressStep
, QVariant
)), this, SLOT(progressUpdate(uploader::ProgressStep
, QVariant
)));
61 void RebootDialog::progressUpdate(uploader::ProgressStep progress
, QVariant 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>"));