Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+116
@@ -0,0 +1,116 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Beschreibung des Dialogs
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Mike Wille, SLSE, 2017-11-01
|
||||
*/
|
||||
|
||||
#include "assign_gna_dialog.h"
|
||||
#include "ui_assign_gna_dialog.h"
|
||||
|
||||
#include <LtsWidgets/lts_dialog.h>
|
||||
#include <Plugins/GuezNasat/Gui/Common/gna_nasat_aircraft_part_model.h>
|
||||
|
||||
namespace GuezNasat
|
||||
{
|
||||
|
||||
AssignGuezNasatPartDialog::AssignGuezNasatPartDialog(int exerciseId, QWidget *parent)
|
||||
: LtsWidgets::LtsDialog(parent, LtsWidgets::ButtonCombination::OkApplyCancel)
|
||||
, m_ftc(nullptr)
|
||||
, m_nasatAircraftParticipantModel(nullptr)
|
||||
, m_exerciseId(exerciseId)
|
||||
, m_ui(new Ui::AssignGuezNasatPartDialog)
|
||||
, m_requestHelper(new LtsUtils::RequestHelper(this))
|
||||
, m_logger(getLogger("Dialog"))
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
}
|
||||
|
||||
AssignGuezNasatPartDialog::~AssignGuezNasatPartDialog()
|
||||
{
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
bool AssignGuezNasatPartDialog::init(const std::shared_ptr<GuezNasat::Interface::Ftc> &ftc,
|
||||
NasatAircraftParticipantModel *nasatAircraftParticipantModel,
|
||||
const NasatAircraftParticipant &nap)
|
||||
{
|
||||
m_ftc = ftc;
|
||||
m_nasatAircraftParticipantModel = nasatAircraftParticipantModel;
|
||||
m_nap = nap;
|
||||
|
||||
|
||||
initCmbNasats();
|
||||
initCmbParticipants();
|
||||
|
||||
|
||||
connect(m_nasatAircraftParticipantModel, &NasatAircraftParticipantModel::signalNasatNamesChanged,
|
||||
this, &AssignGuezNasatPartDialog::initCmbNasats);
|
||||
connect(m_nasatAircraftParticipantModel, &NasatAircraftParticipantModel::signalParticipantNamesChanged,
|
||||
this, &AssignGuezNasatPartDialog::initCmbParticipants);
|
||||
|
||||
m_buttonBox->setButtonVisible(LtsWidgets::DialogButton::Apply, false);
|
||||
|
||||
setOnlineHelpFilename(QStringLiteral("Administrator-Airplanes"));
|
||||
|
||||
if (nap.id() <= 0)
|
||||
slotChangesMade();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void AssignGuezNasatPartDialog::initCmbNasats()
|
||||
{
|
||||
m_ui->cmbNasats->clear();
|
||||
const auto names(m_nasatAircraftParticipantModel->getNasatNames());
|
||||
for (auto it = names.begin(); it != names.end(); ++it)
|
||||
{
|
||||
if (!m_nasatAircraftParticipantModel->getAssociatedNasatIds().contains(it.key()) || m_nap.nasatAircraftId() == it.key())
|
||||
m_ui->cmbNasats->addItem(it.value(), it.key());
|
||||
}
|
||||
|
||||
int newIdx = m_ui->cmbNasats->findData(m_nap.nasatAircraftId());
|
||||
if (newIdx >= 0)
|
||||
m_ui->cmbNasats->setCurrentIndex(newIdx);
|
||||
m_ui->cmbNasats->model()->sort(0);
|
||||
}
|
||||
|
||||
void AssignGuezNasatPartDialog::initCmbParticipants()
|
||||
{
|
||||
m_ui->cmbParticipants->clear();
|
||||
const auto hierarchies(m_nasatAircraftParticipantModel->getParticipantHierarchies());
|
||||
const auto decorations(m_nasatAircraftParticipantModel->getParticipantDecorations());
|
||||
for (auto it = hierarchies.begin(); it != hierarchies.end(); ++it)
|
||||
{
|
||||
if (!m_nasatAircraftParticipantModel->getAssociatedParticipantIds().contains(it.key()) || m_nap.participantId() == it.key())
|
||||
m_ui->cmbParticipants->addItem(QIcon(decorations.value(it.key())), it.value(), it.key());
|
||||
}
|
||||
|
||||
int newIdx = m_ui->cmbParticipants->findData(m_nap.participantId());
|
||||
if (newIdx >= 0)
|
||||
m_ui->cmbParticipants->setCurrentIndex(newIdx);
|
||||
m_ui->cmbParticipants->model()->sort(0);
|
||||
}
|
||||
|
||||
void AssignGuezNasatPartDialog::retranslate()
|
||||
{
|
||||
translate(m_ui, m_nap.id() <= 0 ? tr("Add Assign Aircraft") : tr("Edit Assign Aircraft"));
|
||||
}
|
||||
|
||||
bool AssignGuezNasatPartDialog::apply()
|
||||
{
|
||||
INFO_LOG(m_logger) << "AssignGuezNasatPartDialog::apply()";
|
||||
int32_t participantId = m_ui->cmbParticipants->currentData().toInt();
|
||||
int32_t nasatAircraftId = m_ui->cmbNasats->currentData().toInt();
|
||||
|
||||
const NasatAircraftParticipant req(m_nap.id(), nasatAircraftId, m_exerciseId, participantId);
|
||||
|
||||
return m_requestHelper->startSingleRequest([req, this]()
|
||||
{
|
||||
return m_ftc->modifyNasatAircraftParticipantRequest(req, this);
|
||||
});
|
||||
} // end of apply
|
||||
|
||||
} // namespace GuezNasat
|
||||
Reference in new issue
Block a user