|
|
|
@ -7,7 +7,7 @@
@@ -7,7 +7,7 @@
|
|
|
|
|
#include "UASManager.h" |
|
|
|
|
|
|
|
|
|
QGCTextLabel::QGCTextLabel(QWidget *parent) : |
|
|
|
|
QGCToolWidgetItem("Command Button", parent), |
|
|
|
|
QGCToolWidgetItem("Text Label", parent), |
|
|
|
|
ui(new Ui::QGCTextLabel) |
|
|
|
|
{ |
|
|
|
|
uas = 0; |
|
|
|
@ -15,11 +15,15 @@ QGCTextLabel::QGCTextLabel(QWidget *parent) :
@@ -15,11 +15,15 @@ QGCTextLabel::QGCTextLabel(QWidget *parent) :
|
|
|
|
|
ui->setupUi(this); |
|
|
|
|
|
|
|
|
|
connect(ui->editFinishButton, SIGNAL(clicked()), this, SLOT(endEditMode())); |
|
|
|
|
connect(ui->isMavCommand, SIGNAL(toggled(bool)), this, SLOT(update_isMavCommand())); |
|
|
|
|
|
|
|
|
|
// Hide all edit items
|
|
|
|
|
ui->editFinishButton->hide(); |
|
|
|
|
ui->editNameLabel->hide(); |
|
|
|
|
ui->editLine1->hide(); |
|
|
|
|
ui->editLine2->hide(); |
|
|
|
|
ui->isMavCommand->hide(); |
|
|
|
|
ui->textLabel->setText(QString()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCTextLabel::~QGCTextLabel() |
|
|
|
@ -30,10 +34,11 @@ QGCTextLabel::~QGCTextLabel()
@@ -30,10 +34,11 @@ QGCTextLabel::~QGCTextLabel()
|
|
|
|
|
void QGCTextLabel::startEditMode() |
|
|
|
|
{ |
|
|
|
|
// Hide elements
|
|
|
|
|
ui->nameLabel->hide(); |
|
|
|
|
ui->editFinishButton->show(); |
|
|
|
|
ui->editNameLabel->show(); |
|
|
|
|
ui->editLine1->show(); |
|
|
|
|
ui->editLine2->show(); |
|
|
|
|
ui->isMavCommand->show(); |
|
|
|
|
|
|
|
|
|
// Attempt to undock the dock widget
|
|
|
|
|
QWidget* p = this; |
|
|
|
@ -55,10 +60,12 @@ void QGCTextLabel::startEditMode()
@@ -55,10 +60,12 @@ void QGCTextLabel::startEditMode()
|
|
|
|
|
|
|
|
|
|
void QGCTextLabel::endEditMode() |
|
|
|
|
{ |
|
|
|
|
update_isMavCommand(); |
|
|
|
|
ui->editFinishButton->hide(); |
|
|
|
|
ui->editNameLabel->hide(); |
|
|
|
|
ui->editLine1->hide(); |
|
|
|
|
ui->nameLabel->show(); |
|
|
|
|
ui->editLine2->hide(); |
|
|
|
|
ui->isMavCommand->hide(); |
|
|
|
|
|
|
|
|
|
// Write to settings
|
|
|
|
|
emit editingFinished(); |
|
|
|
@ -83,25 +90,17 @@ void QGCTextLabel::endEditMode()
@@ -83,25 +90,17 @@ void QGCTextLabel::endEditMode()
|
|
|
|
|
|
|
|
|
|
void QGCTextLabel::writeSettings(QSettings& settings) |
|
|
|
|
{ |
|
|
|
|
qDebug() << "COMMAND BUTTON WRITING SETTINGS"; |
|
|
|
|
settings.setValue("TYPE", "COMMANDBUTTON"); |
|
|
|
|
settings.setValue("QGC_COMMAND_BUTTON_DESCRIPTION", ui->nameLabel->text()); |
|
|
|
|
settings.setValue("TYPE", "TEXT"); |
|
|
|
|
settings.setValue("QGC_TEXT_TEXT", ui->editNameLabel->text()); |
|
|
|
|
settings.setValue("QGC_TEXT_SOURCE", ui->isMavCommand->isChecked()?"MAV":"NONE"); |
|
|
|
|
|
|
|
|
|
settings.sync(); |
|
|
|
|
} |
|
|
|
|
void QGCTextLabel::readSettings(const QString& pre,const QVariantMap& settings) |
|
|
|
|
{ |
|
|
|
|
ui->editNameLabel->setText(settings.value(pre + "QGC_TEXT_TEXT","").toString()); |
|
|
|
|
ui->isMavCommand->setChecked(settings.value(pre + "QGC_TEXT_SOURCE", "NONE").toString() == "MAV"); |
|
|
|
|
if (!ui->isMavCommand->isChecked()) |
|
|
|
|
{ |
|
|
|
|
ui->editNameLabel->setText(settings.value(pre + "QGC_TEXT_TEXT","").toString()); |
|
|
|
|
ui->nameLabel->setText(ui->editNameLabel->text()); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
//MAV command text
|
|
|
|
|
connect(uas,SIGNAL(textMessageReceived(int,int,int,QString)),this,SLOT(textMessageReceived(int,int,int,QString))); |
|
|
|
|
} |
|
|
|
|
update_isMavCommand(); |
|
|
|
|
} |
|
|
|
|
void QGCTextLabel::textMessageReceived(int uasid, int component, int severity, QString message) |
|
|
|
|
{ |
|
|
|
@ -128,28 +127,40 @@ void QGCTextLabel::textMessageReceived(int uasid, int component, int severity, Q
@@ -128,28 +127,40 @@ void QGCTextLabel::textMessageReceived(int uasid, int component, int severity, Q
|
|
|
|
|
|
|
|
|
|
void QGCTextLabel::readSettings(const QSettings& settings) |
|
|
|
|
{ |
|
|
|
|
ui->editNameLabel->setText(settings.value("QGC_TEXT_TEXT","").toString()); //Place this before setting isMavCommand
|
|
|
|
|
ui->isMavCommand->setChecked(settings.value("QGC_TEXT_SOURCE", "NONE").toString() == "MAV"); |
|
|
|
|
ui->editNameLabel->setText(settings.value("QGC_TEXT_TEXT","").toString()); |
|
|
|
|
if (!ui->isMavCommand->isChecked()) |
|
|
|
|
{ |
|
|
|
|
ui->textLabel->setText(ui->editNameLabel->text()); |
|
|
|
|
ui->nameLabel->setText(""); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
//MAV command text
|
|
|
|
|
ui->nameLabel->setText(ui->editNameLabel->text()); |
|
|
|
|
ui->textLabel->setText(""); |
|
|
|
|
connect(uas,SIGNAL(textMessageReceived(int,int,int,QString)),this,SLOT(textMessageReceived(int,int,int,QString))); |
|
|
|
|
} |
|
|
|
|
update_isMavCommand(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void QGCTextLabel::enableText(int num) |
|
|
|
|
{ |
|
|
|
|
enabledNum = num; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void QGCTextLabel::setActiveUAS(UASInterface *uas) |
|
|
|
|
{ |
|
|
|
|
if(this->uas) |
|
|
|
|
this->uas->disconnect(this); |
|
|
|
|
this->uas = uas; |
|
|
|
|
update_isMavCommand(); //Might need to update the signal connections
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void QGCTextLabel::update_isMavCommand() |
|
|
|
|
{ |
|
|
|
|
ui->textLabel->setText(""); |
|
|
|
|
if (!ui->isMavCommand->isChecked()) |
|
|
|
|
{ |
|
|
|
|
ui->nameLabel->setText(ui->editNameLabel->text()); |
|
|
|
|
if(this->uas) |
|
|
|
|
disconnect(uas,SIGNAL(textMessageReceived(int,int,int,QString)),this,SLOT(textMessageReceived(int,int,int,QString))); |
|
|
|
|
if(ui->nameLabel->text().isEmpty()) |
|
|
|
|
ui->nameLabel->setText(tr("Text Label")); //Show something, so that we don't end up with just an empty label
|
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
//MAV command text
|
|
|
|
|
ui->nameLabel->setText(ui->editNameLabel->text()); |
|
|
|
|
if(this->uas) |
|
|
|
|
connect(uas,SIGNAL(textMessageReceived(int,int,int,QString)),this,SLOT(textMessageReceived(int,int,int,QString))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|