2020-05-06 08:17:24 +08:00
|
|
|
#include "MenuBarUI.h"
|
|
|
|
|
#include "ui_MenuBarUI.h"
|
|
|
|
|
|
2020-05-12 16:16:06 +08:00
|
|
|
|
2020-05-06 08:17:24 +08:00
|
|
|
MenuBarUI::MenuBarUI(QWidget *parent) :
|
|
|
|
|
QWidget(parent),
|
|
|
|
|
ui(new Ui::MenuBarUI)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
2020-05-06 19:17:40 +08:00
|
|
|
|
2020-05-13 16:54:54 +08:00
|
|
|
//load qss
|
|
|
|
|
QFile file(":/qss/MenuBarUI.qss");
|
|
|
|
|
file.open(QFile::ReadOnly);
|
|
|
|
|
QTextStream filetext(&file);
|
|
|
|
|
QString stylesheet = filetext.readAll();
|
|
|
|
|
this->setStyleSheet(stylesheet);
|
|
|
|
|
file.close();
|
2020-05-06 19:17:40 +08:00
|
|
|
|
2020-06-28 18:43:03 +08:00
|
|
|
|
|
|
|
|
MessageTimer = new QTimer(this);
|
|
|
|
|
|
|
|
|
|
connect(MessageTimer,SIGNAL(timeout()),
|
|
|
|
|
this,SLOT(MessageTimeOut()));
|
|
|
|
|
|
|
|
|
|
|
2020-09-07 18:19:10 +08:00
|
|
|
|
|
|
|
|
|
2020-06-28 18:43:03 +08:00
|
|
|
showMessage(tr("Starting...\n"),5000);
|
|
|
|
|
|
2020-09-08 16:56:59 +08:00
|
|
|
|
|
|
|
|
setPushButtonState(state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::Selected,
|
2020-10-11 09:33:39 +08:00
|
|
|
state::unSelected,
|
2020-09-08 16:56:59 +08:00
|
|
|
state::unSelected);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-06 08:17:24 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MenuBarUI::~MenuBarUI()
|
|
|
|
|
{
|
2020-08-11 16:48:15 +08:00
|
|
|
if(MessageTimer)
|
|
|
|
|
{
|
|
|
|
|
if(MessageTimer->isActive())
|
|
|
|
|
{
|
|
|
|
|
MessageTimer->stop();
|
|
|
|
|
}
|
|
|
|
|
delete MessageTimer;
|
|
|
|
|
}
|
|
|
|
|
|
2020-05-06 08:17:24 +08:00
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-11 09:33:39 +08:00
|
|
|
void MenuBarUI::setPushButtonState(uint8_t state1,uint8_t state2,uint8_t state3,uint8_t state4,uint8_t state5,uint8_t state6)
|
2020-09-08 16:56:59 +08:00
|
|
|
{
|
|
|
|
|
ui->pushButton_Setting->setProperty("state",state1);
|
|
|
|
|
ui->pushButton_Setting->style()->unpolish(ui->pushButton_Setting);
|
|
|
|
|
ui->pushButton_Setting->style()->polish(ui->pushButton_Setting);
|
|
|
|
|
|
|
|
|
|
ui->pushButton_SelfTest->setProperty("state",state2);
|
|
|
|
|
ui->pushButton_SelfTest->style()->unpolish(ui->pushButton_SelfTest);
|
|
|
|
|
ui->pushButton_SelfTest->style()->polish(ui->pushButton_SelfTest);
|
|
|
|
|
|
|
|
|
|
ui->pushButton_Mission->setProperty("state",state3);
|
|
|
|
|
ui->pushButton_Mission->style()->unpolish(ui->pushButton_Mission);
|
|
|
|
|
ui->pushButton_Mission->style()->polish(ui->pushButton_Mission);
|
|
|
|
|
|
|
|
|
|
ui->pushButton_Flight->setProperty("state",state4);
|
|
|
|
|
ui->pushButton_Flight->style()->unpolish(ui->pushButton_Flight);
|
|
|
|
|
ui->pushButton_Flight->style()->polish(ui->pushButton_Flight);
|
|
|
|
|
|
|
|
|
|
ui->pushButton_Info->setProperty("state",state5);
|
|
|
|
|
ui->pushButton_Info->style()->unpolish(ui->pushButton_Info);
|
|
|
|
|
ui->pushButton_Info->style()->polish(ui->pushButton_Info);
|
2020-10-11 09:33:39 +08:00
|
|
|
|
|
|
|
|
ui->pushButton_Base->setProperty("state",state6);
|
|
|
|
|
ui->pushButton_Base->style()->unpolish(ui->pushButton_Base);
|
|
|
|
|
ui->pushButton_Base->style()->polish(ui->pushButton_Base);
|
2020-09-08 16:56:59 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-06 08:17:24 +08:00
|
|
|
|
|
|
|
|
void MenuBarUI::onClicked()
|
|
|
|
|
{
|
|
|
|
|
qDebug() << "click";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::on_pushButton_Setting_clicked()
|
|
|
|
|
{
|
2020-10-11 19:10:57 +08:00
|
|
|
ui->pushButton_Base->hide();
|
2020-09-08 16:56:59 +08:00
|
|
|
setPushButtonState(state::Selected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
2020-10-11 09:33:39 +08:00
|
|
|
state::unSelected,
|
2020-09-08 16:56:59 +08:00
|
|
|
state::unSelected);
|
|
|
|
|
|
|
|
|
|
update();
|
2020-05-06 08:17:24 +08:00
|
|
|
emit IndexChanged(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::on_pushButton_SelfTest_clicked()
|
|
|
|
|
{
|
2020-10-11 19:10:57 +08:00
|
|
|
ui->pushButton_Base->hide();
|
2020-09-08 16:56:59 +08:00
|
|
|
setPushButtonState(state::unSelected,
|
|
|
|
|
state::Selected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
2020-10-11 09:33:39 +08:00
|
|
|
state::unSelected,
|
2020-09-08 16:56:59 +08:00
|
|
|
state::unSelected);
|
|
|
|
|
update();
|
2020-05-06 08:17:24 +08:00
|
|
|
emit IndexChanged(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::on_pushButton_Mission_clicked()
|
|
|
|
|
{
|
2020-10-11 19:10:57 +08:00
|
|
|
ui->pushButton_Base->hide();
|
2020-09-08 16:56:59 +08:00
|
|
|
setPushButtonState(state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::Selected,
|
|
|
|
|
state::unSelected,
|
2020-10-11 09:33:39 +08:00
|
|
|
state::unSelected,
|
2020-09-08 16:56:59 +08:00
|
|
|
state::unSelected);
|
|
|
|
|
update();
|
2020-05-06 08:17:24 +08:00
|
|
|
emit IndexChanged(2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::on_pushButton_Flight_clicked()
|
|
|
|
|
{
|
2020-10-11 19:10:57 +08:00
|
|
|
ui->pushButton_Base->show();
|
2020-09-08 16:56:59 +08:00
|
|
|
setPushButtonState(state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::Selected,
|
2020-10-11 09:33:39 +08:00
|
|
|
state::unSelected,
|
2020-09-08 16:56:59 +08:00
|
|
|
state::unSelected);
|
|
|
|
|
update();
|
2020-05-06 08:17:24 +08:00
|
|
|
emit IndexChanged(3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::on_pushButton_Info_clicked()
|
2020-10-11 19:10:57 +08:00
|
|
|
{
|
|
|
|
|
ui->pushButton_Base->hide();
|
2020-09-08 16:56:59 +08:00
|
|
|
setPushButtonState(state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
|
|
|
|
state::unSelected,
|
2020-10-11 09:33:39 +08:00
|
|
|
state::Selected,
|
|
|
|
|
state::unSelected);
|
2020-09-08 16:56:59 +08:00
|
|
|
|
|
|
|
|
update();
|
2020-05-06 08:17:24 +08:00
|
|
|
emit IndexChanged(4);
|
|
|
|
|
}
|
2020-06-28 18:43:03 +08:00
|
|
|
|
2020-10-11 09:33:39 +08:00
|
|
|
void MenuBarUI::on_pushButton_Base_clicked()
|
|
|
|
|
{
|
|
|
|
|
update();
|
|
|
|
|
emit IndexChanged(5);
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-28 18:43:03 +08:00
|
|
|
void MenuBarUI::showMessage(const QString &message, int TimeOut)
|
|
|
|
|
{
|
|
|
|
|
ui->label_Status->setText(message);
|
|
|
|
|
//这句:如果小于0,那么不生成定时器,减少内存开支,因为小于0时,定时器永远不会触发
|
2020-08-12 22:12:44 +08:00
|
|
|
|
2020-06-28 18:43:03 +08:00
|
|
|
if(TimeOut > 0)
|
|
|
|
|
{
|
|
|
|
|
if(MessageTimer->isActive())
|
|
|
|
|
{
|
|
|
|
|
MessageTimer->stop();
|
|
|
|
|
}
|
|
|
|
|
MessageTimer->start(TimeOut);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if(MessageTimer->isActive())
|
|
|
|
|
{
|
|
|
|
|
MessageTimer->stop();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::clearMessage()
|
|
|
|
|
{
|
|
|
|
|
ui->label_Status->clear();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MenuBarUI::MessageTimeOut(void)
|
|
|
|
|
{
|
|
|
|
|
if(MessageTimer->isActive())
|
|
|
|
|
{
|
|
|
|
|
MessageTimer->stop();
|
|
|
|
|
}
|
|
|
|
|
clearMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-11 09:33:39 +08:00
|
|
|
|