1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-18 08:54:15 +01:00

OP-1763 Moved and consolidated template folder code.

This commit is contained in:
m_thread 2015-03-18 08:36:56 +01:00
parent 8eedfcec49
commit 48ef30850f
6 changed files with 25 additions and 47 deletions

View File

@ -47,26 +47,7 @@ AirframeInitialTuningPage::~AirframeInitialTuningPage()
void AirframeInitialTuningPage::initializePage()
{
const char *path;
switch (getWizard()->getVehicleType()) {
case VehicleConfigurationSource::VEHICLE_FIXEDWING:
path = VehicleTemplateExportDialog::EXPORT_FIXEDWING_NAME;
break;
case VehicleConfigurationSource::VEHICLE_MULTI:
path = VehicleTemplateExportDialog::EXPORT_MULTI_NAME;
break;
case VehicleConfigurationSource::VEHICLE_HELI:
path = VehicleTemplateExportDialog::EXPORT_HELI_NAME;
break;
case VehicleConfigurationSource::VEHICLE_SURFACE:
path = VehicleTemplateExportDialog::EXPORT_SURFACE_NAME;
break;
default:
path = NULL;
break;
}
ui->selectorWidget->setTemplateInfo(path, getWizard()->getVehicleType(), getWizard()->getVehicleSubType());
ui->selectorWidget->setTemplateInfo(getWizard()->getVehicleType(), getWizard()->getVehicleSubType());
}
bool AirframeInitialTuningPage::validatePage()

View File

@ -64,7 +64,7 @@ VehicleTemplateExportDialog::VehicleTemplateExportDialog(QWidget *parent) :
m_uavoManager = pm->getObject<UAVObjectManager>();
ui->Photo->setScene(new QGraphicsScene(this));
ui->Type->setText(setupVehicleType());
ui->selectionWidget->setTemplateInfo(m_dir, m_type, m_subType);
ui->selectionWidget->setTemplateInfo(m_type, m_subType);
connect(ui->Name, SIGNAL(textChanged(QString)), this, SLOT(updateStatus()));
connect(ui->Owner, SIGNAL(textChanged(QString)), this, SLOT(updateStatus()));
@ -100,102 +100,85 @@ QString VehicleTemplateExportDialog::setupVehicleType()
case SystemSettings::AIRFRAMETYPE_FIXEDWING:
m_type = VehicleConfigurationSource::VEHICLE_FIXEDWING;
m_subType = VehicleConfigurationSource::FIXED_WING_AILERON;
m_dir = EXPORT_FIXEDWING_NAME;
return tr("Fixed Wing - Aileron");
case SystemSettings::AIRFRAMETYPE_FIXEDWINGELEVON:
m_type = VehicleConfigurationSource::VEHICLE_FIXEDWING;
m_subType = VehicleConfigurationSource::FIXED_WING_ELEVON;
m_dir = EXPORT_FIXEDWING_NAME;
return tr("Fixed Wing - Elevon");
case SystemSettings::AIRFRAMETYPE_FIXEDWINGVTAIL:
m_type = VehicleConfigurationSource::VEHICLE_FIXEDWING;
m_subType = VehicleConfigurationSource::FIXED_WING_VTAIL;
m_dir = EXPORT_FIXEDWING_NAME;
return tr("Fixed Wing - V-Tail");
case SystemSettings::AIRFRAMETYPE_HELICP:
m_type = VehicleConfigurationSource::VEHICLE_HELI;
m_subType = VehicleConfigurationSource::HELI_CCPM;
m_dir = EXPORT_HELI_NAME;
return tr("Helicopter");
case SystemSettings::AIRFRAMETYPE_TRI:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_TRI_Y;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Tricopter");
case SystemSettings::AIRFRAMETYPE_QUADX:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_QUAD_X;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Quadrocopter X");
case SystemSettings::AIRFRAMETYPE_QUADP:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_QUAD_PLUS;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Quadrocopter +");
case SystemSettings::AIRFRAMETYPE_OCTOV:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_OCTO_V;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Octocopter V");
case SystemSettings::AIRFRAMETYPE_OCTOCOAXX:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_OCTO_COAX_X;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Octocopter X8X");
case SystemSettings::AIRFRAMETYPE_OCTOCOAXP:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_OCTO_COAX_PLUS;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Octocopter X8+");
case SystemSettings::AIRFRAMETYPE_OCTO:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_OCTO;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Octocopter +");
case SystemSettings::AIRFRAMETYPE_OCTOX:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_OCTO_X;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Octocopter X");
case SystemSettings::AIRFRAMETYPE_HEXAX:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA_X;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Hexacopter X");
case SystemSettings::AIRFRAMETYPE_HEXAH:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA_H;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Hexacopter H");
case SystemSettings::AIRFRAMETYPE_HEXACOAX:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA_COAX_Y;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Hexacopter Y6");
case SystemSettings::AIRFRAMETYPE_HEXA:
m_type = VehicleConfigurationSource::VEHICLE_MULTI;
m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA;
m_dir = EXPORT_MULTI_NAME;
return tr("Multirotor - Hexacopter +");
default:
m_type = VehicleConfigurationSource::VEHICLE_UNKNOWN;
m_dir = "";
return tr("Unsupported");
}
}

View File

@ -67,7 +67,6 @@ private:
UAVObjectManager *m_uavoManager;
VehicleConfigurationSource::VEHICLE_TYPE m_type;
VehicleConfigurationSource::VEHICLE_SUB_TYPE m_subType;
const char *m_dir;
QPixmap m_image;
QString fixFilenameString(QString input, int truncate = 100);

View File

@ -26,7 +26,7 @@
</size>
</property>
<property name="windowTitle">
<string>Vehicle Template Export</string>
<string>Vehicle Templates</string>
</property>
<property name="sizeGripEnabled">
<bool>false</bool>

View File

@ -54,9 +54,8 @@ VehicleTemplateSelectorWidget::~VehicleTemplateSelectorWidget()
delete ui;
}
void VehicleTemplateSelectorWidget::setTemplateInfo(QString path, int vehicleType, int vehicleSubType)
void VehicleTemplateSelectorWidget::setTemplateInfo(int vehicleType, int vehicleSubType)
{
m_templateFolder = path;
m_vehicleType = vehicleType;
m_vehicleSubType = vehicleSubType;
updateTemplates();
@ -142,6 +141,22 @@ bool VehicleTemplateSelectorWidget::airframeIsCompatible(int vehicleType, int ve
return vehicleSubType == m_vehicleSubType;
}
QString VehicleTemplateSelectorWidget::getTemplatePath()
{
switch (m_vehicleType) {
case VehicleConfigurationSource::VEHICLE_FIXEDWING:
return VehicleTemplateExportDialog::EXPORT_FIXEDWING_NAME;
case VehicleConfigurationSource::VEHICLE_MULTI:
return VehicleTemplateExportDialog::EXPORT_MULTI_NAME;
case VehicleConfigurationSource::VEHICLE_HELI:
return VehicleTemplateExportDialog::EXPORT_HELI_NAME;
case VehicleConfigurationSource::VEHICLE_SURFACE:
return VehicleTemplateExportDialog::EXPORT_SURFACE_NAME;
default:
return NULL;
}
}
void VehicleTemplateSelectorWidget::loadFilesInDir(QString templateBasePath)
{
QDir templateDir(templateBasePath);
@ -183,9 +198,9 @@ void VehicleTemplateSelectorWidget::loadValidFiles()
delete templ;
}
m_templates.clear();
loadFilesInDir(QString("%1/%2/").arg(Utils::PathUtils().InsertDataPath("%%DATAPATH%%cloudconfig")).arg(m_templateFolder));
loadFilesInDir(QString("%1/%2/").arg(Utils::PathUtils().InsertStoragePath("%%STOREPATH%%cloudconfig")).arg(m_templateFolder));
QString path = getTemplatePath();
loadFilesInDir(QString("%1/%2/").arg(Utils::PathUtils().InsertDataPath("%%DATAPATH%%cloudconfig")).arg(path));
loadFilesInDir(QString("%1/%2/").arg(Utils::PathUtils().InsertStoragePath("%%STOREPATH%%cloudconfig")).arg(path));
}
void VehicleTemplateSelectorWidget::setupTemplateList()

View File

@ -42,7 +42,7 @@ class VehicleTemplateSelectorWidget : public QWidget {
public:
explicit VehicleTemplateSelectorWidget(QWidget *parent = 0);
~VehicleTemplateSelectorWidget();
void setTemplateInfo(QString path, int vehicleType, int vehicleSubType);
void setTemplateInfo(int vehicleType, int vehicleSubType);
QJsonObject *selectedTemplate() const;
public slots:
@ -54,7 +54,6 @@ protected:
private:
Ui::VehicleTemplateSelectorWidget *ui;
QString m_templateFolder;
int m_vehicleType;
int m_vehicleSubType;
@ -68,6 +67,7 @@ private:
void updatePhoto(QJsonObject *templ);
void updateDescription(QJsonObject *templ);
bool airframeIsCompatible(int vehicleType, int vehicleSubType);
QString getTemplatePath();
private slots:
void updateTemplates();