Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set

new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
berrux-dev committed 2026-10-20 09:36:57 +02:00
1 parent 2b957d1edb
commit 598fc2560e
1718 files changed
+126739 -18495

No files matched your search

@@ -6,7 +6,7 @@
#include "exm_dialog_model.h"
#include <ngltools/ngltools_dtg.h>
#include <LtsUtils/dds_vector_to_pixmap.h>
#include <LtsUtilsCore/dds_vector_to_pixmap.h>
#include <QtCore/QFile>
#include <QtCore/QDebug>
@@ -77,7 +77,7 @@ bool CustomViewExercise::init(const QModelIndex &idx)
QPalette p = m_ui->lbStatus->palette();
QColor newCol = rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Status, Qt::TextColorRole).value<QColor>();
QColor newCol = rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Status, Qt::ForegroundRole).value<QColor>();
p.setColor(m_ui->lbStatus->backgroundRole(), newCol);
p.setColor(m_ui->lbStatus->foregroundRole(), newCol);
m_ui->lbStatus->setPalette(p);
@@ -164,7 +164,7 @@ void ExerciseChooser::slotExerciseSelected()
const QModelIndex idx = m_ui->widget->currentIndex();
const Exercise ex = m_model->getRowData(idx.row());
if (ex.id() < 0)
if (ex.id < 0)
return;
setEnabled(false);
@@ -172,7 +172,7 @@ void ExerciseChooser::slotExerciseSelected()
LtsWidgets::LtsGlobalWaitDialog::getInstance()->setVisible(true);
emit signalSelectExercise(ex.id());
emit signalSelectExercise(ex.id);
m_close = true;
close();
}
@@ -183,7 +183,7 @@ void ExerciseChooser::onUserChanged(const OperatorManagement::User &user, DataMo
if (!m_session || !m_proxyModel)
return;
const int opId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
if (user.id() != opId)
if (user.id != opId)
return;
if (mod == DataModification::eRemoved)
@@ -192,7 +192,7 @@ void ExerciseChooser::onUserChanged(const OperatorManagement::User &user, DataMo
return;
}
const bool hasAdminRights = std::any_of(user.effectiveAcls().begin(), user.effectiveAcls().end(),
const bool hasAdminRights = std::any_of(user.effectiveAcls.begin(), user.effectiveAcls.end(),
[](int val) { return val == OperatorRights::Administrator; });
if (m_session->app() == LtsAppDescriptor::App::OC ||
(hasAdminRights && (m_session->app() == LtsAppDescriptor::App::Situation ||
@@ -200,7 +200,7 @@ void ExerciseChooser::onUserChanged(const OperatorManagement::User &user, DataMo
m_proxyModel->setAdminExerciseVisible(true);
else
m_proxyModel->setAdminExerciseVisible(false);
m_proxyModel->setVisibleExerciseIds(LtsUtils::convert<QVector<int>>(user.exerciseIds()));
m_proxyModel->setVisibleExerciseIds(LtsUtils::convert<QVector<int>>(user.exerciseIds));
}
}
@@ -1,6 +1,7 @@
#include "exm_dialog.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "CustomViews/exm_exercise.h"
#include "exm_dialog_model.h"
@@ -21,6 +22,7 @@ ExerciseManagementDialog::ExerciseManagementDialog(const QString& menuGroup, QWi
: LtsWidgets::LtsDialog(parent, LtsWidgets::ButtonCombination::CloseOnly), m_model(nullptr),
m_ui(new Ui::ExerciseManagementDialog), m_session(nullptr), m_ftc(nullptr), m_menuGroup(menuGroup),
m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
setOnlineHelpFilename(QStringLiteral("Administrator-Exercises"));
@@ -105,7 +107,7 @@ void ExerciseManagementDialog::enaDisa()
const int cntSelectedRows = selectedRows.size();
m_buttonBox->setButtonEnabled(LtsWidgets::DialogButton::Edit, cntSelectedRows == 1);
const QModelIndex curIdx = m_ui->widget->currentIndex();
const ExerciseManagement::ExerciseState state = m_model->getRowData(curIdx.row()).state();
const ExerciseManagement::ExerciseState state = m_model->getRowData(curIdx.row()).state;
const bool isRemovable =
(state == ExerciseManagement::ExerciseState::Unknown || state == ExerciseManagement::ExerciseState::Created ||
state == ExerciseManagement::ExerciseState::Stopped || state == ExerciseManagement::ExerciseState::Terminated);
@@ -125,7 +127,7 @@ void ExerciseManagementDialog::onRemoveExercise()
const QModelIndex curIdx = m_ui->widget->currentIndex();
if (!curIdx.isValid())
return;
const int exId = m_model->getRowData(curIdx.row()).id();
const int exId = m_model->getRowData(curIdx.row()).id;
const int folderId = m_flmDtc->getExerciseFolderId(exId);
if (folderId > 0)
@@ -146,14 +148,14 @@ void ExerciseManagementDialog::onEditExercise()
const QModelIndex idx = m_ui->widget->currentIndex();
const Exercise ex = m_model->getRowData(idx.row());
if (ex.id() <= 0)
if (ex.id <= 0)
return;
DEBUG_LOG(m_logger) << "current EXId: " << ex.id();
DEBUG_LOG(m_logger) << "current EXId: " << ex.id;
ExerciseManagementEditDialog* dialog = new ExerciseManagementEditDialog(this);
dialog->init(m_session, m_menuGroup, ex.id());
const QString identifier = QStringLiteral("EditExercise%1").arg(ex.id());
dialog->init(m_session, m_menuGroup, ex.id);
const QString identifier = QStringLiteral("EditExercise%1").arg(ex.id);
addDialog(dialog, m_menuGroup, identifier);
}
@@ -1,6 +1,7 @@
#include "exm_dialog_model.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <ExerciseManagement/exm_translation.h>
#include <LtsUtils/LtsUtilsCore/dds_vector.h>
@@ -17,6 +18,7 @@ ExerciseManagementDialogModel::ExerciseManagementDialogModel(QObject* parent)
tr("Description"), tr("Linked Exercise"), tr("Transferred"), tr("HLA"), tr("Image")},
parent),
m_exmDtc(nullptr), m_asmDtc(nullptr), m_pdmDtc(nullptr)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
}
@@ -39,15 +41,15 @@ bool ExerciseManagementDialogModel::initModel(const std::shared_ptr<ExerciseMana
return;
if (preloadExerciseImages)
addImagePreload(ex.id());
addImagePreload(ex.id);
});
if (addAdminExercise)
{
ExerciseManagement::Exercise adminExercise;
adminExercise.name(tr("Superordinate Config / Administration").toStdString());
adminExercise.id(0);
adminExercise.name = tr("Superordinate Config / Administration").toStdString();
adminExercise.id = 0;
insertRow(adminExercise);
}
@@ -56,7 +58,7 @@ bool ExerciseManagementDialogModel::initModel(const std::shared_ptr<ExerciseMana
insertRow(ex);
if (preloadExerciseImages)
addImagePreload(ex.id());
addImagePreload(ex.id);
});
INFO_LOG(m_logger) << "initModel - #exercises: " << m_vecData.size();
@@ -65,7 +67,7 @@ bool ExerciseManagementDialogModel::initModel(const std::shared_ptr<ExerciseMana
int ExerciseManagementDialogModel::getId(const ExerciseManagement::Exercise& data) const
{
return data.id();
return data.id;
}
void ExerciseManagementDialogModel::addImagePreload(int32_t exId)
@@ -101,17 +103,17 @@ GetExerciseImageRequester* ExerciseManagementDialogModel::createGetExerciseImage
const GetExerciseImageReply& reply(r->reply());
if (reply.errorString().empty())
if (reply.errorString.empty())
{
m_exerciseImages.insert(reply.id(), LtsUtils::toQByteArray(reply.imageData()));
m_exerciseImages.insert(reply.id, LtsUtils::toQByteArray(reply.imageData));
QModelIndex idx(findIndexForId(reply.id(), 0));
QModelIndex idx(findIndexForId(reply.id, 0));
emit dataChanged(idx, idx, {Qt::DisplayRole});
}
else
{
QString msg(QString::fromStdString(reply.errorString()));
for (const std::string& arg : std::as_const(reply.errorParams()))
QString msg(QString::fromStdString(reply.errorString));
for (const std::string& arg : std::as_const(reply.errorParams))
msg = msg.arg(QString::fromStdString(arg));
ERROR_LOG(m_logger) << "image preload failed: " << msg;
@@ -130,7 +132,7 @@ void ExerciseManagementDialogModel::setImageSizeConstraints(const QSize& size)
QVariant ExerciseManagementDialogModel::data(const QModelIndex& index, int role) const
{
if ((role != Qt::DisplayRole && role != Qt::UserRole && role != Qt::TextColorRole) || !indexIsValid(index))
if ((role != Qt::DisplayRole && role != Qt::UserRole && role != Qt::ForegroundRole) || !indexIsValid(index))
return QVariant();
const ExerciseManagement::Exercise& ex = m_vecData.at(index.row());
@@ -140,59 +142,59 @@ QVariant ExerciseManagementDialogModel::data(const QModelIndex& index, int role)
switch (index.column())
{
case ExerciseManagementDialogModel::Columns::Name:
return QString::fromStdString(ex.name());
return QString::fromStdString(ex.name);
case ExerciseManagementDialogModel::Columns::TrainingArea: {
const AssetManagement::TrainingArea ta = m_asmDtc->trainingArea(ex.trainingAreaId());
return QString::fromStdString(ta.name());
const AssetManagement::TrainingArea ta = m_asmDtc->trainingArea(ex.trainingAreaId);
return QString::fromStdString(ta.name);
}
case ExerciseManagementDialogModel::Columns::Begin:
return QDateTime::fromMSecsSinceEpoch(ex.beginTime());
return QDateTime::fromMSecsSinceEpoch(ex.beginTime);
case ExerciseManagementDialogModel::Columns::End:
return QDateTime::fromMSecsSinceEpoch(ex.endTime());
return QDateTime::fromMSecsSinceEpoch(ex.endTime);
case ExerciseManagementDialogModel::Columns::Started:
return QDateTime::fromMSecsSinceEpoch(ex.startTime());
return QDateTime::fromMSecsSinceEpoch(ex.startTime);
case ExerciseManagementDialogModel::Columns::Stopped:
return QDateTime::fromMSecsSinceEpoch(ex.stopTime());
return QDateTime::fromMSecsSinceEpoch(ex.stopTime);
case ExerciseManagementDialogModel::Columns::Status:
return ExerciseManagement::toString(ex.state());
return ExerciseManagement::toString(ex.state);
case ExerciseManagementDialogModel::Columns::RadioGroup:
if (ex.radioGroupId().is_set())
return m_pdmDtc->trRadioGroupName(ex.radioGroupId().get());
if (ex.radioGroupId.has_value())
return m_pdmDtc->trRadioGroupName(ex.radioGroupId.get());
return QStringLiteral(" - ");
case ExerciseManagementDialogModel::Columns::ActivePhase:
return QString::fromStdString(m_exmDtc->exercisePhase(ex.activePhaseId()).name());
return QString::fromStdString(m_exmDtc->exercisePhase(ex.activePhaseId).name);
case ExerciseManagementDialogModel::Columns::Created:
return QDateTime::fromMSecsSinceEpoch(ex.created());
return QDateTime::fromMSecsSinceEpoch(ex.created);
case ExerciseManagementDialogModel::Columns::TimeZone:
return (ex.defaultTimeZone() == 0) ? QStringLiteral("-") : QString(QLatin1Char(ex.defaultTimeZone()));
return (ex.defaultTimeZone == 0) ? QStringLiteral("-") : QString(QLatin1Char(ex.defaultTimeZone));
case ExerciseManagementDialogModel::Columns::Forces:
return QString::fromStdString(ex.forces());
return QString::fromStdString(ex.forces);
case ExerciseManagementDialogModel::Columns::Description:
return QString::fromStdString(ex.description());
return QString::fromStdString(ex.description);
case ExerciseManagementDialogModel::Columns::Image:
return m_exerciseImages.value(ex.id());
return m_exerciseImages.value(ex.id);
case ExerciseManagementDialogModel::Columns::Id:
return ex.id();
return ex.id;
case ExerciseManagementDialogModel::Columns::LinkedId: {
if (ex.linkedExerciseId() == 0)
if (ex.linkedExerciseId == 0)
return QVariant();
const int row = findRowForId(ex.linkedExerciseId());
const int row = findRowForId(ex.linkedExerciseId);
if (row < 0)
return QStringLiteral("????? - %1").arg(ex.linkedExerciseId());
return QString(QString::fromStdString(m_vecData.at(row).name()) +
QStringLiteral(" (%1)").arg(ex.linkedExerciseId()));
return QStringLiteral("????? - %1").arg(ex.linkedExerciseId);
return QString(QString::fromStdString(m_vecData.at(row).name) +
QStringLiteral(" (%1)").arg(ex.linkedExerciseId));
}
case ExerciseManagementDialogModel::Columns::Transferred:
return ex.transferred() ? tr("Yes") : tr("No");
return ex.transferred ? tr("Yes") : tr("No");
case ExerciseManagementDialogModel::Columns::HasHlaInterface:
return ex.hasHlaInterface() ? tr("Yes") : tr("No");
return ex.hasHlaInterface ? tr("Yes") : tr("No");
}
}
else if (role == Qt::UserRole)
{
if (ex.id() == 0)
if (ex.id == 0)
return 0;
switch (ex.state().underlying())
switch (ex.state)
{
case ExerciseState::Unknown:
return 6;
@@ -209,11 +211,11 @@ QVariant ExerciseManagementDialogModel::data(const QModelIndex& index, int role)
}
return 99;
}
else if (role == Qt::TextColorRole)
else if (role == Qt::ForegroundRole)
{
if (index.column() == ExerciseManagementDialogModel::Columns::Status)
{
switch (ex.state().underlying())
switch (ex.state)
{
case ExerciseState::Unknown:
return QColor(Qt::black);
@@ -271,15 +273,15 @@ bool ExerciseManagementProxyModel::filterAcceptsRow(int source_row, const QModel
if (!m_sourceModel || source_parent.isValid() || source_row < 0 || source_row >= m_sourceModel->m_vecData.size())
return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent);
const auto& ex = m_sourceModel->m_vecData.at(source_row);
if (ex.id() == 0)
if (ex.id == 0)
{
if (!m_bAdminVisible)
return false;
return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent);
}
if (!m_exIds.contains(ex.id()) && !m_exIds.contains(-1))
if (!m_exIds.contains(ex.id) && !m_exIds.contains(-1))
return false;
if (!m_visibleStates.contains(ex.state()) && !m_visibleStates.isEmpty())
if (!m_visibleStates.contains(ex.state) && !m_visibleStates.isEmpty())
return false;
return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent);
}
@@ -6,6 +6,7 @@
#include <ExerciseManagement/exm_dtc.h>
#include <ExerciseManagement/exm_ftc.h>
#include <ExerciseManagement/logger.h>
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <LtsWidgets/lts_abstract_table_model.h>
#include <LtsWidgets/lts_column_filter_proxy_model.h>
#include <ProjectDataManagement/pdm_dtc.h>
@@ -30,7 +31,7 @@ class GetExerciseImageRequester : public AbstractRequester,
private:
NGL::INGLLogger& m_logger;
GetExerciseImageRequester() = default;
GetExerciseImageRequester() : m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {}
public:
static GetExerciseImageRequester* createGetExerciseImageRequester()
@@ -105,6 +106,7 @@ class ExerciseManagementDialogModel final : public LtsWidgets::LtsAbstractTableM
std::shared_ptr<ExerciseManagement::Interface::Ftc> m_exmFtc;
std::shared_ptr<AssetManagement::Interface::Dtc> m_asmDtc;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
NGL::INGLLogger& m_logger;
QVector<int32_t> m_preloadImages;
QMap<int32_t, QByteArray> m_exerciseImages;
bool m_imagePreloadPending{false};
@@ -4,6 +4,7 @@
#include "exm_edit_adler_visible_parties_model.h"
#include <ParticipantManagement/ppm_translation.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <QtCore/QJsonArray>
#include <QtCore/QJsonObject>
@@ -58,9 +59,9 @@ QVariant ExerciseEditAdlerVisiblePartiesModel::data(const QModelIndex &index, in
switch (index.column())
{
case ColId:
return party.id();
return party.id;
case ColName:
return ParticipantManagement::trPartyName(party.name());
return ParticipantManagement::trPartyName(party.name);
}
return {};
}
@@ -78,7 +79,7 @@ void ExerciseEditAdlerVisiblePartiesModel::onPartiesChanged(const ParticipantMan
{
for (int i = 0; i < m_vecData.size(); ++i)
{
if (m_vecData.at(i).second.id() == data.id())
if (m_vecData.at(i).second.id == data.id)
{
removeRow(i);
return;
@@ -90,7 +91,7 @@ void ExerciseEditAdlerVisiblePartiesModel::onPartiesChanged(const ParticipantMan
{
for (int i = 0; i < m_vecData.size(); ++i)
{
if (m_vecData.at(i).second.id() == data.id())
if (m_vecData.at(i).second.id == data.id)
{
m_vecData[i].second = data;
const QModelIndex idx(index(i, ColName, QModelIndex()));
@@ -106,7 +107,7 @@ void ExerciseEditAdlerVisiblePartiesModel::onPartiesChanged(const ParticipantMan
bool ExerciseEditAdlerVisiblePartiesModel::isFiltered(const QPair<bool, ParticipantManagement::Party> &data, DataModification modType) const
{
if (data.second.id() <= 1 )
if (data.second.id <= 1 )
return true;
return LtsCheckableTableModel::isFiltered(data, modType);
@@ -114,30 +115,30 @@ bool ExerciseEditAdlerVisiblePartiesModel::isFiltered(const QPair<bool, Particip
bool ExerciseEditAdlerVisiblePartiesModel::hasAdlerParty(const ParticipantManagement::Party &party) const
{
const auto visiblePartiesByExercise = m_opmDtc->user(m_operatorId).visiblePartiesByExercise();
const auto visiblePartiesByExercise = m_opmDtc->user(m_operatorId).visiblePartiesByExercise;
bool partyVisible = false;
for (const auto &exerciseParties : visiblePartiesByExercise)
{
if (exerciseParties.exerciseId() != m_exerciseId)
if (exerciseParties.exerciseId != m_exerciseId)
continue;
if (!exerciseParties.visibleParties().is_set())
if (!exerciseParties.visibleParties.has_value())
return false;
for (const auto &partyId : exerciseParties.visibleParties().get())
if (partyId == party.id())
for (const auto &partyId : exerciseParties.visibleParties.get())
if (partyId == party.id)
partyVisible = true;
if (!partyVisible)
return false;
const QJsonObject properties(QJsonDocument::fromJson(QByteArray::fromStdString(exerciseParties.properties())).object());
const QJsonObject properties(QJsonDocument::fromJson(QByteArray::fromStdString(exerciseParties.properties)).object());
const QJsonArray arr(properties.value(QStringLiteral("adlerAllowed")).toArray());
for (const auto &partyId : arr)
if (partyId == party.id())
if (partyId == party.id)
return true;
return false;
}
@@ -148,7 +149,7 @@ int ExerciseEditAdlerVisiblePartiesModel::findRowForPartyId(int id) const
{
for (int i = 0; i < m_vecData.size(); ++i)
{
if (m_vecData.at(i).second.id() == id)
if (m_vecData.at(i).second.id == id)
return i;
}
return -1;
@@ -3,7 +3,7 @@
#pragma once
#include <OperatorManagement/opm_data_plugin.h>
#include <Plugins/OperatorManagement/Data/opm_data_plugin.h>
#include <ParticipantManagement/Data/ppm_data_plugin.h>
#include <LtsSession/lts_session_data_dds.h>
@@ -1,6 +1,7 @@
#include "exm_edit_dialog.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "exm_dialog_model.h"
#include "exm_edit_party_dialog.h"
@@ -12,7 +13,7 @@
#include <ExerciseManagement/exm_operator_rights.h>
#include <LtsSession/lts_session_data.h>
#include <LtsUtils/LtsUtilsCore/dds_vector.h>
#include <LtsUtils/dds_vector_to_pixmap.h>
#include <LtsUtilsCore/dds_vector_to_pixmap.h>
#include <LtsUtilsSettings/settings.h>
#include <LtsWidgets/lts_message_dialog.h>
#include <PluginInterfaces/gui_plugin_interface.h>
@@ -32,6 +33,7 @@ ExerciseManagementEditDialog::ExerciseManagementEditDialog(QWidget* parent)
: LtsWidgets::LtsDialog(parent, LtsWidgets::ButtonCombination::OkApplyCancel),
m_ui(new Ui::ExerciseManagementEditDialog), m_currentState(ExerciseState::Unknown), m_menuGroup(),
m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -108,7 +110,7 @@ bool ExerciseManagementEditDialog::init(LtsSession::LtsSessionDataDds* session,
return false;
ExerciseManagement::Exercise data = m_dtc->exercise(exerciseId);
m_currentState = data.state();
m_currentState = data.state;
m_ui->dtBegin->setRetrieveCurrentTimeCallback([this]() { return m_session->partitionTime(); });
m_ui->dtEnd->setRetrieveCurrentTimeCallback([this]() { return m_session->partitionTime(); });
@@ -120,18 +122,18 @@ bool ExerciseManagementEditDialog::init(LtsSession::LtsSessionDataDds* session,
m_operatorModel = new ExerciseOperatorModel(m_session, m_exerciseId, this);
connect(m_operatorModel, &ExerciseOperatorModel::dataChanged, this, &ExerciseManagementEditDialog::slotChangesMade);
if (data.id() > 0)
if (data.id > 0)
{
m_ui->leName->setText(QString::fromStdString(data.name()));
m_ui->dtBegin->setTimezone(data.defaultTimeZone());
m_ui->dtBegin->setMsecsSinceEpoch(data.beginTime());
m_ui->dtEnd->setTimezone(data.defaultTimeZone());
m_ui->dtEnd->setMsecsSinceEpoch(data.endTime());
m_ui->leName->setText(QString::fromStdString(data.name));
m_ui->dtBegin->setTimezone(data.defaultTimeZone);
m_ui->dtBegin->setMsecsSinceEpoch(data.beginTime);
m_ui->dtEnd->setTimezone(data.defaultTimeZone);
m_ui->dtEnd->setMsecsSinceEpoch(data.endTime);
m_ui->pteDescription->setPlainText(QString::fromStdString(data.description()));
m_ui->pteForces->setPlainText(QString::fromStdString(data.forces()));
m_ui->cbTimeZone->setCurrentIndex(m_ui->cbTimeZone->findData(data.defaultTimeZone()));
m_ui->cbStartHlaInterface->setChecked(data.hasHlaInterface());
m_ui->pteDescription->setPlainText(QString::fromStdString(data.description));
m_ui->pteForces->setPlainText(QString::fromStdString(data.forces));
m_ui->cbTimeZone->setCurrentIndex(m_ui->cbTimeZone->findData(data.defaultTimeZone));
m_ui->cbStartHlaInterface->setChecked(data.hasHlaInterface);
}
else
{
@@ -215,25 +217,25 @@ bool ExerciseManagementEditDialog::init(LtsSession::LtsSessionDataDds* session,
connect(m_dtc.get(), &Interface::Dtc::exercisePhaseChanged, this,
&ExerciseManagementEditDialog::onExercisePhaseChanged);
m_ui->cbActivePhase->setCurrentIndex(m_ui->cbActivePhase->findData(QVariant(data.activePhaseId())));
m_ui->cbActivePhase->setCurrentIndex(m_ui->cbActivePhase->findData(QVariant(data.activePhaseId)));
connect(m_dtc.get(), &Interface::Dtc::exerciseChanged, this, &ExerciseManagementEditDialog::onExerciseChanged);
m_initialRadioGroupId.clear();
if (data.radioGroupId().is_set())
if (data.radioGroupId.has_value())
{
int curIdx = m_ui->cbRadioGroup->findData(QVariant(data.radioGroupId().get()));
int curIdx = m_ui->cbRadioGroup->findData(QVariant(data.radioGroupId.get()));
if (curIdx < 0)
curIdx = 0;
else
m_initialRadioGroupId = data.radioGroupId().get();
m_initialRadioGroupId = data.radioGroupId.get();
m_ui->cbRadioGroup->setCurrentIndex(curIdx);
}
m_ui->cbVisibleInWarehouse->setChecked(data.sendToWMS());
m_ui->cbLinkedExercise->setCurrentIndex(m_ui->cbLinkedExercise->findData(data.linkedExerciseId()));
m_ui->cbVisibleInWarehouse->setChecked(data.sendToWMS);
m_ui->cbLinkedExercise->setCurrentIndex(m_ui->cbLinkedExercise->findData(data.linkedExerciseId));
if (data.trainingAreaId() > 0)
if (data.trainingAreaId > 0)
{
int idx = m_ui->cbTrainingArea->findData(QVariant(data.trainingAreaId()));
int idx = m_ui->cbTrainingArea->findData(QVariant(data.trainingAreaId));
m_ui->cbTrainingArea->setCurrentIndex(idx);
}
@@ -287,14 +289,14 @@ void ExerciseManagementEditDialog::requestImage()
void ExerciseManagementEditDialog::onGetExerciseImageReply(const GetExerciseImageReply& reply)
{
if (reply.errorString().empty())
if (reply.errorString.empty())
{
m_ui->imageEditor->setPixmap(LtsUtils::getPixmap(reply.imageData()));
m_ui->imageEditor->setPixmap(LtsUtils::getPixmap(reply.imageData));
return;
}
QString msg(QString::fromStdString(reply.errorString()));
for (const std::string& arg : std::as_const(reply.errorParams()))
QString msg(QString::fromStdString(reply.errorString));
for (const std::string& arg : std::as_const(reply.errorParams))
msg = msg.arg(QString::fromStdString(arg));
ERROR_LOG(m_logger) << "loading exercise image failed: " << msg;
@@ -319,10 +321,10 @@ bool ExerciseManagementEditDialog::hasVisibleParties(
{
for (const auto& pbe : vpbe)
{
if (pbe.exerciseId() != m_exerciseId)
if (pbe.exerciseId != m_exerciseId)
continue;
return pbe.visibleParties().is_set();
return pbe.visibleParties.has_value();
}
return false;
}
@@ -336,7 +338,7 @@ void ExerciseManagementEditDialog::enaDisaOperatorsButtons()
return;
}
const QPair<bool, OperatorManagement::User> row = m_operatorModel->getRowData(idx.row());
bool visibleParties = hasVisibleParties(row.second.visiblePartiesByExercise());
bool visibleParties = hasVisibleParties(row.second.visiblePartiesByExercise);
bool isChecked = row.first;
if (LtsSessionData::LtsSessionData::getInstance()->hasOperatorRight(OperatorRights::ExerciseOperatorEdit))
@@ -373,7 +375,7 @@ void ExerciseManagementEditDialog::onAddExercisePhase()
void ExerciseManagementEditDialog::onRemoveExercisePhase()
{
const int phId = m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id();
const int phId = m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id;
const int folderId = m_flmDtc->getPhaseFolderId(m_exerciseId, phId);
if (folderId > 0)
@@ -382,7 +384,7 @@ void ExerciseManagementEditDialog::onRemoveExercisePhase()
m_requestHelper->startSingleRequest([req, this]() { return m_flmFtc->folderRemoveRequest(req, this); });
}
Core::RemoveElementRequest req(m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id());
Core::RemoveElementRequest req(m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id);
m_requestHelper->startSingleRequest([req, this]() {
m_ftc->enableExercisePhaseRemove();
return m_ftc->exercisePhaseRemoveRequest(req, this);
@@ -396,9 +398,9 @@ void ExerciseManagementEditDialog::onEditVisibleParties()
const QModelIndex idx = m_ui->dvOperators->currentIndex();
const QPair<bool, OperatorManagement::User> row = m_operatorModel->getRowData(idx.row());
const int operatorId = row.second.id();
const int operatorId = row.second.id;
bool isChecked = row.first;
bool visibleParties = hasVisibleParties(row.second.visiblePartiesByExercise());
bool visibleParties = hasVisibleParties(row.second.visiblePartiesByExercise);
if (operatorId <= 0 || isChecked == false || !visibleParties)
return;
@@ -419,14 +421,14 @@ void ExerciseManagementEditDialog::onEditExercisePhase()
const QModelIndex idx = m_ui->dvPhases->currentIndex();
const ExercisePhase exPhase = m_phaseModel->getRowData(idx.row());
if (exPhase.id() <= 0)
if (exPhase.id <= 0)
return;
DEBUG_LOG(m_logger) << "current exPhase Id: " << exPhase.id();
DEBUG_LOG(m_logger) << "current exPhase Id: " << exPhase.id;
ExerciseManagementPhaseEditDialog* dialog = new ExerciseManagementPhaseEditDialog(this);
dialog->init(m_session, m_exerciseId, exPhase.id());
const QString identifier = QLatin1String("EditExercisePhase") + QString::number(exPhase.id());
dialog->init(m_session, m_exerciseId, exPhase.id);
const QString identifier = QLatin1String("EditExercisePhase") + QString::number(exPhase.id);
addDialog(dialog, m_menuGroup, identifier, LtsWidgets::LayoutArea::eDialogTab);
}
@@ -464,8 +466,8 @@ void ExerciseManagementEditDialog::onImport()
ExerciseModifyRequest req = jsonToExercise(content);
DEBUG_LOG(m_logger) << "Importing: " << req;
m_ui->pteForces->setPlainText(QString::fromStdString(req.forces()));
m_ui->pteDescription->setPlainText(QString::fromStdString(req.description()));
m_ui->pteForces->setPlainText(QString::fromStdString(req.forces));
m_ui->pteDescription->setPlainText(QString::fromStdString(req.description));
}
}
return;
@@ -522,14 +524,14 @@ void ExerciseManagementEditDialog::imageModifyError()
void ExerciseManagementEditDialog::onExerciseChanged(const ExerciseManagement::Exercise& data, DataModification modType)
{
Q_UNUSED(modType)
if (data.id() == m_exerciseId)
if (data.id == m_exerciseId)
{
const bool wasModified = hasUnsavedChanges();
m_currentState = data.state();
m_currentState = data.state;
enaDisa();
fillStateCbx();
m_ui->cbVisibleInWarehouse->setChecked(data.sendToWMS());
m_ui->cbLinkedExercise->setCurrentIndex(m_ui->cbLinkedExercise->findData(data.linkedExerciseId()));
m_ui->cbVisibleInWarehouse->setChecked(data.sendToWMS);
m_ui->cbLinkedExercise->setCurrentIndex(m_ui->cbLinkedExercise->findData(data.linkedExerciseId));
if (!wasModified)
__unchange__();
}
@@ -541,7 +543,7 @@ void ExerciseManagementEditDialog::onExercisePhaseChanged(const ExerciseManageme
DataModification modType)
{
Q_UNUSED(modType)
if (data.exerciseId() == m_exerciseId)
if (data.exerciseId == m_exerciseId)
fillActivePhaseCbx();
}
@@ -575,33 +577,33 @@ void ExerciseManagementEditDialog::fillStateCbx()
ps->value(QStringLiteral("exm"), QStringLiteral("enableExerciseTerminatedToStopped")).toBool();
m_ui->cbState->clear();
switch (m_currentState.underlying())
switch (m_currentState)
{
case ExerciseState::Created:
m_ui->cbState->addItem(tr("Created"), ExerciseState::Created);
m_ui->cbState->addItem(tr("Start"), ExerciseState::Started);
m_ui->cbState->addItem(tr("Created"), static_cast<int>(ExerciseState::Created));
m_ui->cbState->addItem(tr("Start"), static_cast<int>(ExerciseState::Started));
break;
case ExerciseState::Started:
m_ui->cbState->addItem(tr("Started"), ExerciseState::Started);
m_ui->cbState->addItem(tr("Pause"), ExerciseState::Paused);
m_ui->cbState->addItem(tr("Stop"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Started"), static_cast<int>(ExerciseState::Started));
m_ui->cbState->addItem(tr("Pause"), static_cast<int>(ExerciseState::Paused));
m_ui->cbState->addItem(tr("Stop"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Paused:
m_ui->cbState->addItem(tr("Paused"), ExerciseState::Paused);
m_ui->cbState->addItem(tr("Resume"), ExerciseState::Started);
m_ui->cbState->addItem(tr("Stop"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Paused"), static_cast<int>(ExerciseState::Paused));
m_ui->cbState->addItem(tr("Resume"), static_cast<int>(ExerciseState::Started));
m_ui->cbState->addItem(tr("Stop"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Stopped:
m_ui->cbState->addItem(tr("Stopped"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Terminated"), ExerciseState::Terminated);
m_ui->cbState->addItem(tr("Stopped"), static_cast<int>(ExerciseState::Stopped));
m_ui->cbState->addItem(tr("Terminated"), static_cast<int>(ExerciseState::Terminated));
break;
case ExerciseState::Terminated:
m_ui->cbState->addItem(tr("Terminated"), ExerciseState::Terminated);
m_ui->cbState->addItem(tr("Terminated"), static_cast<int>(ExerciseState::Terminated));
if (enableExerciseTerminatedToStopped)
m_ui->cbState->addItem(tr("Stopped"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Stopped"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Unknown:
m_ui->cbState->addItem(tr("Unknown"), ExerciseState::Unknown);
m_ui->cbState->addItem(tr("Unknown"), static_cast<int>(ExerciseState::Unknown));
break;
}
}
@@ -612,7 +614,7 @@ void ExerciseManagementEditDialog::fillTrainingAreaCbx()
int curIdxTa = m_ui->cbTrainingArea->currentIndex();
m_ui->cbTrainingArea->clear();
auto cb = [this](const AssetManagement::TrainingArea& ta) {
m_ui->cbTrainingArea->addItem(QString::fromStdString(ta.name()), QVariant(ta.id()));
m_ui->cbTrainingArea->addItem(QString::fromStdString(ta.name), QVariant(ta.id));
};
m_asmDtc->trainingAreas(cb);
m_ui->cbTrainingArea->model()->sort(0);
@@ -627,8 +629,8 @@ void ExerciseManagementEditDialog::fillActivePhaseCbx()
int curIdxActPh = m_ui->cbActivePhase->currentIndex();
m_ui->cbActivePhase->clear();
auto cb = [this](const ExerciseManagement::ExercisePhase& phase) {
if (m_exerciseId == phase.exerciseId())
m_ui->cbActivePhase->addItem(QString::fromStdString(phase.name()), QVariant(phase.id()));
if (m_exerciseId == phase.exerciseId)
m_ui->cbActivePhase->addItem(QString::fromStdString(phase.name), QVariant(phase.id));
};
m_dtc->exercisePhases(cb);
m_ui->cbActivePhase->setEnabled(m_ui->cbActivePhase->count() > 1);
@@ -649,15 +651,15 @@ void ExerciseManagementEditDialog::fillRadioGroupCbx()
const QMap<qint32, ExerciseManagement::Exercise> mapEx = m_dtc->exercises();
QMap<qint32, ProjectDataManagement::RadioGroup> mapRadioGrp = m_pdmDtc->radioGroups();
for (auto it = mapEx.begin(); it != mapEx.end(); ++it)
if (it.value().id() != m_exerciseId)
if (it.value().radioGroupId().is_set())
mapRadioGrp.remove(it.value().radioGroupId().get());
if (it.value().id != m_exerciseId)
if (it.value().radioGroupId.has_value())
mapRadioGrp.remove(it.value().radioGroupId.get());
for (auto it = mapRadioGrp.begin(); it != mapRadioGrp.end(); ++it)
{
const auto& radioGroup = it.value();
if (!radioGroup.base_group())
m_ui->cbRadioGroup->addItem(m_pdmDtc->trRadioGroupName(radioGroup.id()), radioGroup.id());
if (!radioGroup.base_group)
m_ui->cbRadioGroup->addItem(m_pdmDtc->trRadioGroupName(radioGroup.id), radioGroup.id);
}
m_ui->cbTrainingArea->model()->sort(0);
@@ -680,11 +682,11 @@ void ExerciseManagementEditDialog::fillLinkedExercisesCbx()
int curId = m_ui->cbLinkedExercise->currentData().toInt();
m_ui->cbLinkedExercise->clear();
auto cb = [this](const Exercise& ex) {
if (ex.state() != ExerciseManagement::ExerciseState::Created && ex.linkedExerciseId() != m_exerciseId)
if (ex.state != ExerciseManagement::ExerciseState::Created && ex.linkedExerciseId != m_exerciseId)
return;
if (ex.id() == m_exerciseId)
if (ex.id == m_exerciseId)
return;
m_ui->cbLinkedExercise->addItem(QString::fromStdString(ex.name()), ex.id());
m_ui->cbLinkedExercise->addItem(QString::fromStdString(ex.name), ex.id);
};
m_dtc->exercises(cb);
m_ui->cbLinkedExercise->addItem(tr("---"), 0);
@@ -729,7 +731,7 @@ bool ExerciseManagementEditDialog::apply()
{
ExerciseState state = static_cast<ExerciseState>(m_ui->cbState->currentData().toInt());
ExerciseManagement::Exercise data = m_dtc->exercise(m_exerciseId);
if (state == ExerciseState::Stopped && data.state() != ExerciseState::Stopped)
if (state == ExerciseState::Stopped && data.state != ExerciseState::Stopped)
{
if (LtsWidgets::LtsMessageDialog::showMessage(
this, QString(), tr("Are you sure you want to stop the exercise?"), LtsWidgets::Behaviour::Modal,
@@ -737,7 +739,7 @@ bool ExerciseManagementEditDialog::apply()
retVal = false;
}
else if (state == ExerciseState::Terminated && data.state() != ExerciseState::Terminated)
else if (state == ExerciseState::Terminated && data.state != ExerciseState::Terminated)
{
if (LtsWidgets::LtsMessageDialog::showMessage(
this, QString(), tr("Are you sure you want to terminate the exercise?"),
@@ -751,34 +753,34 @@ bool ExerciseManagementEditDialog::apply()
{
ExerciseModifyRequest request;
request.id(m_exerciseId);
request.beginTime(m_ui->dtBegin->msecsSinceEpoch());
request.endTime(m_ui->dtEnd->msecsSinceEpoch());
request.name(m_ui->leName->text().toStdString());
request.sendToWMS(m_ui->cbVisibleInWarehouse->isChecked());
request.linkedExerciseId(m_ui->cbLinkedExercise->currentData().toInt());
request.trainingAreaId(m_ui->cbTrainingArea->currentData().toInt());
request.id = m_exerciseId;
request.beginTime = m_ui->dtBegin->msecsSinceEpoch();
request.endTime = m_ui->dtEnd->msecsSinceEpoch();
request.name = m_ui->leName->text().toStdString();
request.sendToWMS = m_ui->cbVisibleInWarehouse->isChecked();
request.linkedExerciseId = m_ui->cbLinkedExercise->currentData().toInt();
request.trainingAreaId = m_ui->cbTrainingArea->currentData().toInt();
int radioGroup = m_ui->cbRadioGroup->currentData().toInt();
if (radioGroup != 0)
{
m_initialRadioGroupId = radioGroup;
request.radioGroupId(radioGroup);
request.radioGroupId = radioGroup;
}
request.symbolFillTypeId(0);
request.activePhaseId(m_ui->cbActivePhase->currentData().toInt());
request.defaultTimeZone(m_ui->cbTimeZone->currentData().toChar().toLatin1());
request.forces(m_ui->pteForces->toPlainText().toStdString());
request.description(m_ui->pteDescription->toPlainText().toStdString());
request.hasHlaInterface(m_ui->cbStartHlaInterface->isChecked());
request.newState(static_cast<ExerciseState>(m_ui->cbState->currentData().toInt()));
request.operatorId(LtsSessionData::LtsSessionData::getInstance()->getOperatorId());
request.workstationId(LtsSessionData::LtsSessionData::getInstance()->getWorkstationId());
request.symbolFillTypeId = 0;
request.activePhaseId = m_ui->cbActivePhase->currentData().toInt();
request.defaultTimeZone = m_ui->cbTimeZone->currentData().toChar().toLatin1();
request.forces = m_ui->pteForces->toPlainText().toStdString();
request.description = m_ui->pteDescription->toPlainText().toStdString();
request.hasHlaInterface = m_ui->cbStartHlaInterface->isChecked();
request.newState = static_cast<ExerciseState>(m_ui->cbState->currentData().toInt());
request.operatorId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
request.workstationId = LtsSessionData::LtsSessionData::getInstance()->getWorkstationId();
if (data.startTime() > 0)
request.startTime(data.startTime());
if (data.stopTime() > 0)
request.stopTime(data.stopTime());
if (data.startTime > 0)
request.startTime = data.startTime;
if (data.stopTime > 0)
request.stopTime = data.stopTime;
if (!m_requestHelper->startSingleRequest([this, request]() {
m_ftc->enableExerciseModify();
@@ -801,21 +803,21 @@ bool ExerciseManagementEditDialog::apply()
else
{
ExerciseCreateRequest request;
request.beginTime(m_ui->dtBegin->msecsSinceEpoch());
request.endTime(m_ui->dtEnd->msecsSinceEpoch());
request.name(m_ui->leName->text().toStdString());
request.sendToWMS(m_ui->cbVisibleInWarehouse->isChecked());
request.linkedExerciseId(m_ui->cbLinkedExercise->currentData().toInt());
request.trainingAreaId(m_ui->cbTrainingArea->currentData().toInt());
request.beginTime = m_ui->dtBegin->msecsSinceEpoch();
request.endTime = m_ui->dtEnd->msecsSinceEpoch();
request.name = m_ui->leName->text().toStdString();
request.sendToWMS = m_ui->cbVisibleInWarehouse->isChecked();
request.linkedExerciseId = m_ui->cbLinkedExercise->currentData().toInt();
request.trainingAreaId = m_ui->cbTrainingArea->currentData().toInt();
int radioGroup = m_ui->cbRadioGroup->currentData().toInt();
if (radioGroup != 0)
request.radioGroupId(radioGroup);
request.radioGroupId = radioGroup;
request.symbolFillTypeId(0);
request.defaultTimeZone(m_ui->cbTimeZone->currentData().toChar().toLatin1());
request.forces(m_ui->pteForces->toPlainText().toStdString());
request.description(m_ui->pteDescription->toPlainText().toStdString());
request.hasHlaInterface(m_ui->cbStartHlaInterface->isChecked());
request.symbolFillTypeId = 0;
request.defaultTimeZone = m_ui->cbTimeZone->currentData().toChar().toLatin1();
request.forces = m_ui->pteForces->toPlainText().toStdString();
request.description = m_ui->pteDescription->toPlainText().toStdString();
request.hasHlaInterface = m_ui->cbStartHlaInterface->isChecked();
if (!m_requestHelper->startSingleRequest([this, request]() {
m_ftc->enableExerciseCreate();
@@ -877,8 +879,8 @@ void ExerciseManagementEditDialog::sendModifiedOperators(int thisExerciseId)
{
const auto rowData = m_operatorModel->getRowData(row);
bool found = false;
OperatorManagement::User user = m_opmDtc->user(rowData.second.id());
for (auto ex : user.exerciseIds())
OperatorManagement::User user = m_opmDtc->user(rowData.second.id);
for (auto ex : user.exerciseIds)
if (ex == thisExerciseId)
found = true;
@@ -886,14 +888,14 @@ void ExerciseManagementEditDialog::sendModifiedOperators(int thisExerciseId)
continue;
if (rowData.first)
user.exerciseIds().resize(user.exerciseIds().size() + 1, thisExerciseId);
user.exerciseIds.resize(user.exerciseIds.size() + 1, thisExerciseId);
else
removeElement(user.exerciseIds(), thisExerciseId);
removeElement(user.exerciseIds, thisExerciseId);
OperatorManagement::OperatorCreateModifyRequest req;
req.id(user.id());
req.visibleExercises() = user.exerciseIds();
req.visiblePartiesByExercise() = user.visiblePartiesByExercise();
req.id = user.id;
req.visibleExercises = user.exerciseIds;
req.visiblePartiesByExercise = user.visiblePartiesByExercise;
DEBUG_LOG(m_logger) << "Adding request: " << req;
m_requestHelper->addRequest([this, req, opmFtc]() {
@@ -909,7 +911,7 @@ bool ExerciseManagementEditDialog::createFolders(int newExId)
{
QString folderName = m_flmDtc->getExerciseFolderName(newExId);
int folderId = createFolder(FileManagement::MainFolder::ExerciseDocuments, folderName);
int folderId = createFolder(static_cast<int>(FileManagement::MainFolder::ExerciseDocuments), folderName);
if (folderId <= 0)
return false;
@@ -943,7 +945,7 @@ bool ExerciseManagementEditDialog::createFolders(int newExId)
if (folderPhaseDocsId > 0)
{
int phId = m_dtc->exercise(newExId).activePhaseId();
int phId = m_dtc->exercise(newExId).activePhaseId;
const QString& phaseName = m_flmDtc->getPhaseFolderName(phId);
int folderPhaseId = createFolder(folderPhaseDocsId, phaseName);
DEBUG_LOG(m_logger) << "Phase Folder created with id = " << folderPhaseId;
@@ -955,22 +957,22 @@ bool ExerciseManagementEditDialog::createFolders(int newExId)
DEBUG_LOG(m_logger) << "Markers Folder created with id = " << subFolderId;
FileManagement::PathCreateRequest req;
req.parentId(folderId);
req.path({"Planning", "TNE Lists"});
req.isEditable(false);
req.isHidden(false);
req.operatorId(LtsSessionData::LtsSessionData::getInstance()->getOperatorId());
req.parentId = folderId;
req.path = {"Planning", "TNE Lists"};
req.isEditable = false;
req.isHidden = false;
req.operatorId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
bool success = m_flmFtc->pathCreateRequest(req);
if (!success)
ERROR_LOG(m_logger) << "Planning/TNE Lists could not be created";
req.path({"Tactical Plans", "BDA"});
req.path = {"Tactical Plans", "BDA"};
success = m_flmFtc->pathCreateRequest(req);
if (!success)
ERROR_LOG(m_logger) << "Tactical Plans/BDA could not be created";
req.path({"Tactical Plans", "HQ Data"});
req.path = {"Tactical Plans", "HQ Data"};
success = m_flmFtc->pathCreateRequest(req);
if (!success)
@@ -987,15 +989,15 @@ bool ExerciseManagementEditDialog::createFolders(int newExId)
int ExerciseManagementEditDialog::createFolder(int parentFolderId, const QString& folderName, bool isHidden)
{
FileManagement::Folder parentFolder = m_flmDtc->folder(parentFolderId);
const std::vector<int32_t>& parentPath = parentFolder.path();
const std::vector<int32_t>& parentPath = parentFolder.path;
FileManagement::FolderModifyRequest req;
req.name(folderName.toStdString());
req.path(parentPath);
req.isEditable(false);
req.isHidden(isHidden);
req.parentId(parentFolderId);
req.operatorId(LtsSessionData::LtsSessionData::getInstance()->getOperatorId());
req.name = folderName.toStdString();
req.path = parentPath;
req.isEditable = false;
req.isHidden = isHidden;
req.parentId = parentFolderId;
req.operatorId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
m_requestHelper->startSingleRequest([this, req]() { return m_flmFtc->folderModifyRequest(req, this); });
@@ -1007,18 +1009,18 @@ int ExerciseManagementEditDialog::createFolder(int parentFolderId, const QString
bool ExerciseManagementEditDialog::createExerciseFolders(int parentFolderId, const QStringList& folderNames)
{
FileManagement::Folder parentFolder = m_flmDtc->folder(parentFolderId);
const std::vector<int32_t>& parentPath = parentFolder.path();
const std::vector<int32_t>& parentPath = parentFolder.path;
FileManagement::FolderModifyRequest req;
req.path(parentPath);
req.isEditable(false);
req.isHidden(false);
req.parentId(parentFolderId);
req.operatorId(LtsSessionData::LtsSessionData::getInstance()->getOperatorId());
req.path = parentPath;
req.isEditable = false;
req.isHidden = false;
req.parentId = parentFolderId;
req.operatorId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
for (const QString& folderName : folderNames)
{
req.name(folderName.toStdString());
req.name = folderName.toStdString();
m_requestHelper->addRequest([this, req]() { return m_flmFtc->folderModifyRequest(req, this); });
}
@@ -1050,8 +1052,8 @@ ExerciseModifyRequest ExerciseManagementEditDialog::setRequestContent() const
{
ExerciseModifyRequest req;
req.forces(m_ui->pteForces->toPlainText().toStdString());
req.description(m_ui->pteDescription->toPlainText().toStdString());
req.forces = m_ui->pteForces->toPlainText().toStdString();
req.description = m_ui->pteDescription->toPlainText().toStdString();
const ExerciseModifyRequest out = req;
return out;
@@ -1066,23 +1068,23 @@ QByteArray ExerciseManagementEditDialog::exerciseToJson() const
obj[JsonKeys::XMLTYPE()] = JsonKeys::XMLTYPEVALUE();
obj[JsonKeys::FORCES()] = QString::fromStdString(req.forces());
obj[JsonKeys::DESCRIPTION()] = QString::fromStdString(req.description());
obj[JsonKeys::FORCES()] = QString::fromStdString(req.forces);
obj[JsonKeys::DESCRIPTION()] = QString::fromStdString(req.description);
QJsonArray phases;
for (int row = 0; row < m_phaseModel->rowCount(); ++row)
{
QJsonObject phase;
phase.insert(JsonKeys::PID(), m_phaseModel->getRowData(row).id());
phase.insert(JsonKeys::PNAME(), QString::fromStdString(m_phaseModel->getRowData(row).name()));
phase.insert(JsonKeys::PISDELETED(), m_phaseModel->getRowData(row).isDeleted());
phase.insert(JsonKeys::PISUSED(), m_phaseModel->getRowData(row).isUsed());
long long beginTime = m_phaseModel->getRowData(row).beginTime() - startExercise;
long long endTime = m_phaseModel->getRowData(row).endTime() - startExercise;
phase.insert(JsonKeys::PID(), m_phaseModel->getRowData(row).id);
phase.insert(JsonKeys::PNAME(), QString::fromStdString(m_phaseModel->getRowData(row).name));
phase.insert(JsonKeys::PISDELETED(), m_phaseModel->getRowData(row).isDeleted);
phase.insert(JsonKeys::PISUSED(), m_phaseModel->getRowData(row).isUsed);
long long beginTime = m_phaseModel->getRowData(row).beginTime - startExercise;
long long endTime = m_phaseModel->getRowData(row).endTime - startExercise;
phase.insert(JsonKeys::PBEGINTIME(), beginTime);
phase.insert(JsonKeys::PENDTIME(), endTime);
phase.insert(JsonKeys::PDESCRIPTION(), QString::fromStdString(m_phaseModel->getRowData(row).description()));
phase.insert(JsonKeys::PEXERCISEID(), m_phaseModel->getRowData(row).exerciseId());
phase.insert(JsonKeys::PDESCRIPTION(), QString::fromStdString(m_phaseModel->getRowData(row).description));
phase.insert(JsonKeys::PEXERCISEID(), m_phaseModel->getRowData(row).exerciseId);
phases.append(phase);
}
obj[JsonKeys::PHASES()] = phases;
@@ -1104,8 +1106,8 @@ ExerciseModifyRequest ExerciseManagementEditDialog::jsonToExercise(const QByteAr
const QJsonDocument doc(QJsonDocument::fromJson(content));
const QJsonObject obj(doc.object());
result.forces(obj[JsonKeys::FORCES()].toString().toStdString());
result.description(obj[JsonKeys::DESCRIPTION()].toString().toStdString());
result.forces = obj[JsonKeys::FORCES()].toString().toStdString();
result.description = obj[JsonKeys::DESCRIPTION()].toString().toStdString();
QJsonArray phasesArray = obj[JsonKeys::PHASES()].toArray();
QVector<ExerciseManagement::ExercisePhase> phases;
@@ -1114,15 +1116,15 @@ ExerciseModifyRequest ExerciseManagementEditDialog::jsonToExercise(const QByteAr
{
QJsonObject phaseObj = (*it).toObject();
ExerciseManagement::ExercisePhase phase;
phase.id(phaseObj[JsonKeys::PID()].toInt());
phase.name(phaseObj[JsonKeys::PNAME()].toString().toStdString());
phase.isDeleted(phaseObj[JsonKeys::PISDELETED()].toBool());
phase.isUsed(phaseObj[JsonKeys::PISUSED()].toBool());
phase.description(phaseObj[JsonKeys::PDESCRIPTION()].toString().toStdString());
phase.id = phaseObj[JsonKeys::PID()].toInt();
phase.name = phaseObj[JsonKeys::PNAME()].toString().toStdString();
phase.isDeleted = phaseObj[JsonKeys::PISDELETED()].toBool();
phase.isUsed = phaseObj[JsonKeys::PISUSED()].toBool();
phase.description = phaseObj[JsonKeys::PDESCRIPTION()].toString().toStdString();
phase.beginTime(phaseObj[JsonKeys::PBEGINTIME()].toInt() + m_ui->dtBegin->msecsSinceEpoch());
phase.endTime(phaseObj[JsonKeys::PENDTIME()].toInt() + m_ui->dtBegin->msecsSinceEpoch());
phase.exerciseId(phaseObj[JsonKeys::PEXERCISEID()].toInt());
phase.beginTime = phaseObj[JsonKeys::PBEGINTIME()].toInt() + m_ui->dtBegin->msecsSinceEpoch();
phase.endTime = phaseObj[JsonKeys::PENDTIME()].toInt() + m_ui->dtBegin->msecsSinceEpoch();
phase.exerciseId = phaseObj[JsonKeys::PEXERCISEID()].toInt();
phases.append(phase);
}
m_phaseModel->setData(phases);
@@ -11,7 +11,7 @@
#include <LtsWidgets/lts_dialog.h>
#include <ParticipantManagement/ppm_data_plugin_interface.h>
#include <AssetManagement/asm_data_plugin_interface.h>
#include <flm_data_plugin_interface.h>
#include <Plugins/FileManagement/flm_data_plugin_interface.h>
#include <FileManagement/flm_explorer_gui_plugin_interface.h>
#include <OperatorManagement/opm_data_plugin_interface.h>
#include <ProjectDataManagement/pdm_data_plugin_interface.h>
@@ -267,7 +267,7 @@ void InterfaceImpl::slotSelectExercise(int partitionId)
ExerciseManagement::Exercise exc = m_dtc->exercise(partitionId);
int excId = exc.id();
int excId = exc.id;
if (excId == 0)
{
@@ -325,16 +325,16 @@ void InterfaceImpl::checkNeedRecalcMgrsSquares(const ExerciseManagement::Exercis
{
if (!LtsCoordTrans::defaultMgrsSquares().isEmpty())
return;
AssetManagement::TrainingArea ta = m_asmDtc->trainingArea(exc.trainingAreaId());
AssetManagement::TrainingArea ta = m_asmDtc->trainingArea(exc.trainingAreaId);
if (ta.id() != exc.trainingAreaId())
if (ta.id != exc.trainingAreaId)
{
qWarning() << "Could not fetch Training Area with id " << exc.trainingAreaId();
qWarning() << "Could not fetch Training Area with id " << exc.trainingAreaId;
abort();
}
LtsCoordTrans::UtmCoordinate bottomLeft = LtsCoordTrans::UtmCoordinate::fromGeographic(ta.bottomLeft().lon(), ta.bottomLeft().lat());
LtsCoordTrans::getMgrsSquares(QRectF(bottomLeft.geographic(0, ta.height()), bottomLeft.geographic(ta.width(), 0)), true, true);
LtsCoordTrans::UtmCoordinate bottomLeft = LtsCoordTrans::UtmCoordinate::fromGeographic(ta.bottomLeft.lon, ta.bottomLeft.lat);
LtsCoordTrans::getMgrsSquares(QRectF(bottomLeft.geographic(0, ta.height), bottomLeft.geographic(ta.width, 0)), true, true);
}
}
@@ -1,6 +1,7 @@
#include "exm_edit_party_dialog.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ui_exm_edit_party_dialog.h"
@@ -8,7 +9,7 @@
#include <LtsWidgets/lts_frameless_dialog.h>
#include <LtsWidgets/lts_message_dialog.h>
#include <ParticipantManagement/Data/ppm_data_plugin.h>
#include <ExerciseManagement/exm_data_plugin.h>
#include <Plugins/ExerciseManagement/Data/exm_data_plugin.h>
#include <QtCore/QJsonArray>
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>
@@ -23,6 +24,7 @@ ExerciseEditPartyDialog::ExerciseEditPartyDialog(const int operatorId, const int
m_exerciseId(exerciseId), m_visiblePartiesChanged(false), m_adlerVisiblePartiesChanged(false),
m_menuGroup(menuGroup), m_visiblePartiesModel(nullptr), m_adlerVisiblePartiesModel(nullptr), m_opmDtc(nullptr),
m_opmFtc(nullptr), m_ui(new Ui::ExerciseEditPartyDialog), m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
setNoTopicLock();
m_ui->setupUi(this);
@@ -145,13 +147,14 @@ bool ExerciseEditPartyDialog::apply()
return true;
OperatorManagement::OperatorUpdateVisiblePartiesByExerciseRequest req;
req.id(m_operatorId);
req.exerciseId(m_exerciseId);
req.id = m_operatorId;
req.exerciseId = m_exerciseId;
if (!m_visiblePartiesChanged && !m_adlerVisiblePartiesChanged)
return false;
QSet<int> visiblePartyIds = m_visiblePartiesModel->getCheckedIds().toList().toSet();
const QVector<int> &checkedPartyIds = m_visiblePartiesModel->getCheckedIds();
QSet<int> visiblePartyIds(checkedPartyIds.begin(), checkedPartyIds.end());
visiblePartyIds.insert(0);
visiblePartyIds.insert(1);
@@ -161,16 +164,16 @@ bool ExerciseEditPartyDialog::apply()
DEBUG_LOG(m_logger) << "visible party: " << visible;
for (const int hidden : hiddenPartyIds)
DEBUG_LOG(m_logger) << "hidden party: " << hidden;
req.hiddenParties().set({});
req.visibleParties().set({});
std::copy(hiddenPartyIds.begin(), hiddenPartyIds.end(), std::back_inserter(req.hiddenParties().get()));
std::copy(visiblePartyIds.begin(), visiblePartyIds.end(), std::back_inserter(req.visibleParties().get()));
req.hiddenParties.set({});
req.visibleParties.set({});
std::copy(hiddenPartyIds.begin(), hiddenPartyIds.end(), std::back_inserter(req.hiddenParties.get()));
std::copy(visiblePartyIds.begin(), visiblePartyIds.end(), std::back_inserter(req.visibleParties.get()));
req.properties(adlerVisiblePartiesToJson().toStdString());
req.properties = adlerVisiblePartiesToJson().toStdString();
DEBUG_LOG(m_logger) << "----------------- opId: " << req.id() << ", exId:" << req.exerciseId()
DEBUG_LOG(m_logger) << "----------------- opId: " << req.id << ", exId:" << req.exerciseId
<< ", req.hiddenParties.size:" << hiddenPartyIds.size()
<< "adlerVisibleParties: " << req.properties();
<< "adlerVisibleParties: " << req.properties;
return operatorUpdateVisiblePartiesByExercise(req);
}
@@ -2,9 +2,10 @@
#include "exm_edit_phase_dialog.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ui_exm_edit_phase_dialog.h"
#include <ExerciseManagement/exm_data_plugin_interface.h>
#include <flm_data_plugin_interface.h>
#include <Plugins/FileManagement/flm_data_plugin_interface.h>
#include <LtsSession/lts_session_data.h>
namespace ExerciseManagement
@@ -13,6 +14,7 @@ ExerciseManagementPhaseEditDialog::ExerciseManagementPhaseEditDialog(QWidget *pa
: LtsWidgets::LtsDialog(parent, LtsWidgets::ButtonCombination::OkApplyCancel)
, m_ui(new Ui::ExerciseManagementPhaseEditDialog)
, m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -44,18 +46,18 @@ bool ExerciseManagementPhaseEditDialog::init(LtsSession::LtsSessionDataDds *sess
ExerciseManagement::ExercisePhase data = m_dtc->exercisePhase(phaseId);
m_ui->leName->setText(QString::fromUtf8(data.name().c_str()));
m_ui->pteDescription->setPlainText(QString::fromStdString(data.description()));
m_ui->dtStart->setMsecsSinceEpoch(data.beginTime());
m_ui->dtEnd->setMsecsSinceEpoch(data.endTime());
m_ui->leName->setText(QString::fromUtf8(data.name.c_str()));
m_ui->pteDescription->setPlainText(QString::fromStdString(data.description));
m_ui->dtStart->setMsecsSinceEpoch(data.beginTime);
m_ui->dtEnd->setMsecsSinceEpoch(data.endTime);
m_ui->dtStart->setRetrieveCurrentTimeCallback([this]() { return m_session->partitionTime(); });
m_ui->dtEnd->setRetrieveCurrentTimeCallback([this]() { return m_session->partitionTime(); });
if (m_exercisePhaseId <= 0)
{
m_ui->dtStart->setMsecsSinceEpoch(m_dtc->exercise(exerciseId).beginTime());
m_ui->dtEnd->setMsecsSinceEpoch(m_dtc->exercise(exerciseId).endTime());
m_ui->dtStart->setMsecsSinceEpoch(m_dtc->exercise(exerciseId).beginTime);
m_ui->dtEnd->setMsecsSinceEpoch(m_dtc->exercise(exerciseId).endTime);
}
setOnlineHelpFilename(QStringLiteral("Situation-Exercise_Phases"));
@@ -83,12 +85,12 @@ bool ExerciseManagementPhaseEditDialog::apply()
qint64 end = m_ui->dtEnd->msecsSinceEpoch();
ExercisePhaseModifyRequest req;
req.name(name);
req.description(description);
req.beginTime(start);
req.endTime(end);
req.exerciseId(m_exerciseId);
req.id(m_exercisePhaseId);
req.name = name;
req.description = description;
req.beginTime = start;
req.endTime = end;
req.exerciseId = m_exerciseId;
req.id = m_exercisePhaseId;
m_ftc->enableExercisePhaseModify();
return m_ftc->exercisePhaseModifyRequest(req, this);
});
@@ -115,11 +117,11 @@ bool ExerciseManagementPhaseEditDialog::apply()
int folderPhaseDocsId = m_flmDtc->findFolder(exeFolderId, folderName);
FileManagement::FolderModifyRequest req;
req.name(m_flmDtc->getPhaseFolderName(phaseId).toStdString());
req.isEditable(false);
req.isHidden(false);
req.parentId(folderPhaseDocsId);
req.operatorId(LtsSessionData::LtsSessionData::getInstance()->getOperatorId());
req.name = m_flmDtc->getPhaseFolderName(phaseId).toStdString();
req.isEditable = false;
req.isHidden = false;
req.parentId = folderPhaseDocsId;
req.operatorId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
m_requestHelper->startSingleRequest([this, req]()
{
@@ -4,6 +4,7 @@
#include "exm_edit_visible_parties_model.h"
#include <ParticipantManagement/ppm_translation.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
namespace ExerciseManagement
{
@@ -54,9 +55,9 @@ QVariant ExerciseEditVisiblePartiesModel::data(const QModelIndex &index, int rol
switch (index.column())
{
case ColId:
return party.id();
return party.id;
case ColName:
return ParticipantManagement::trPartyName(party.name());
return ParticipantManagement::trPartyName(party.name);
}
return {};
}
@@ -74,7 +75,7 @@ void ExerciseEditVisiblePartiesModel::onPartiesChanged(const ParticipantManageme
{
for (int i = 0; i < m_vecData.size(); ++i)
{
if (m_vecData.at(i).second.id() == data.id())
if (m_vecData.at(i).second.id == data.id)
{
removeRow(i);
return;
@@ -86,7 +87,7 @@ void ExerciseEditVisiblePartiesModel::onPartiesChanged(const ParticipantManageme
{
for (int i = 0; i < m_vecData.size(); ++i)
{
if (m_vecData.at(i).second.id() == data.id())
if (m_vecData.at(i).second.id == data.id)
{
m_vecData[i].second = data;
const QModelIndex idx(index(i, ColName, QModelIndex()));
@@ -102,7 +103,7 @@ void ExerciseEditVisiblePartiesModel::onPartiesChanged(const ParticipantManageme
bool ExerciseEditVisiblePartiesModel::isFiltered(const QPair<bool, ParticipantManagement::Party> &data, DataModification modType) const
{
if (data.second.id() <= 1 )
if (data.second.id <= 1 )
return true;
return LtsCheckableTableModel::isFiltered(data, modType);
@@ -110,16 +111,16 @@ bool ExerciseEditVisiblePartiesModel::isFiltered(const QPair<bool, ParticipantMa
bool ExerciseEditVisiblePartiesModel::hasParty(const ParticipantManagement::Party &party) const
{
const auto visiblePartiesByExercise = m_opmDtc->user(m_operatorId).visiblePartiesByExercise();
const auto visiblePartiesByExercise = m_opmDtc->user(m_operatorId).visiblePartiesByExercise;
for (const auto &exerciseParties : visiblePartiesByExercise)
{
if (exerciseParties.exerciseId() != m_exerciseId)
if (exerciseParties.exerciseId != m_exerciseId)
continue;
if (!exerciseParties.visibleParties().is_set())
if (!exerciseParties.visibleParties.has_value())
return false;
for (const auto &partyId : exerciseParties.visibleParties().get())
if (partyId == party.id())
for (const auto &partyId : exerciseParties.visibleParties.get())
if (partyId == party.id)
return true;
return false;
}
@@ -128,16 +129,16 @@ bool ExerciseEditVisiblePartiesModel::hasParty(const ParticipantManagement::Part
bool ExerciseEditVisiblePartiesModel::isPartyHidden(const ParticipantManagement::Party &party) const
{
const auto visiblePartiesByExercise = m_opmDtc->user(m_operatorId).visiblePartiesByExercise();
const auto visiblePartiesByExercise = m_opmDtc->user(m_operatorId).visiblePartiesByExercise;
for (const auto &exerciseParties : visiblePartiesByExercise)
{
if (exerciseParties.exerciseId() != m_exerciseId)
if (exerciseParties.exerciseId != m_exerciseId)
continue;
if (!exerciseParties.hiddenParties().is_set())
if (!exerciseParties.hiddenParties.has_value())
return false;
for (const auto &partyId : exerciseParties.hiddenParties().get())
if (partyId == party.id())
for (const auto &partyId : exerciseParties.hiddenParties.get())
if (partyId == party.id)
return true;
return false;
}
@@ -3,7 +3,7 @@
#pragma once
#include <OperatorManagement/opm_data_plugin.h>
#include <Plugins/OperatorManagement/Data/opm_data_plugin.h>
#include <ParticipantManagement/Data/ppm_data_plugin.h>
#include <LtsSession/lts_session_data_dds.h>
@@ -2,6 +2,7 @@
#include "exm_exercise_purpose.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ui_exm_exercise_purpose.h"
#include <ExerciseManagement/exm_data_plugin_interface.h>
@@ -18,6 +19,7 @@ ExerciseManagementExercisePurpose::ExerciseManagementExercisePurpose(const QStri
, m_exercise()
, m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -43,8 +45,8 @@ bool ExerciseManagementExercisePurpose::init(LtsSession::LtsSessionDataDds *sess
m_exercise = m_dtc->exercise(m_session->exerciseId());
m_ui->pteForces->setPlainText(QString::fromStdString(m_exercise.forces()));
m_ui->pteDescription->setPlainText(QString::fromStdString(m_exercise.description()));
m_ui->pteForces->setPlainText(QString::fromStdString(m_exercise.forces));
m_ui->pteDescription->setPlainText(QString::fromStdString(m_exercise.description));
return true;
}
@@ -57,24 +59,24 @@ void ExerciseManagementExercisePurpose::retranslate()
bool ExerciseManagementExercisePurpose::apply()
{
if (m_exercise.id() > 0)
if (m_exercise.id > 0)
{
ExerciseModifyRequest request;
request.id(m_exercise.id());
request.beginTime(m_exercise.beginTime());
request.endTime(m_exercise.endTime());
request.name(m_exercise.name());
request.sendToWMS(m_exercise.sendToWMS());
request.linkedExerciseId(m_exercise.linkedExerciseId());
request.trainingAreaId(m_exercise.trainingAreaId());
request.radioGroupId(m_exercise.radioGroupId());
request.symbolFillTypeId(m_exercise.symbolFillTypeId());
request.activePhaseId(m_exercise.activePhaseId());
request.defaultTimeZone(m_exercise.defaultTimeZone());
request.forces(m_ui->pteForces->toPlainText().toStdString());
request.description(m_ui->pteDescription->toPlainText().toStdString());
request.newState(m_exercise.state());
request.id = m_exercise.id;
request.beginTime = m_exercise.beginTime;
request.endTime = m_exercise.endTime;
request.name = m_exercise.name;
request.sendToWMS = m_exercise.sendToWMS;
request.linkedExerciseId = m_exercise.linkedExerciseId;
request.trainingAreaId = m_exercise.trainingAreaId;
request.radioGroupId = m_exercise.radioGroupId;
request.symbolFillTypeId = m_exercise.symbolFillTypeId;
request.activePhaseId = m_exercise.activePhaseId;
request.defaultTimeZone = m_exercise.defaultTimeZone;
request.forces = m_ui->pteForces->toPlainText().toStdString();
request.description = m_ui->pteDescription->toPlainText().toStdString();
request.newState = m_exercise.state;
if(!m_requestHelper->startSingleRequest(
[this, request]()
@@ -1,6 +1,7 @@
#include "exm_operator_edit.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ui_exm_operator_edit.h"
@@ -13,6 +14,7 @@ ExerciseManagementOperatorEdit::ExerciseManagementOperatorEdit(const QString& me
: LtsWidgets::LtsDialog(parent, LtsWidgets::ButtonCombination::OkApplyCancel),
m_ui(new Ui::ExerciseManagementOperatorEdit), m_opmDtc(nullptr), m_session(nullptr), m_operatorModel(nullptr),
m_menuGroup(menuGroup), m_exercise(), m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -42,7 +44,7 @@ bool ExerciseManagementOperatorEdit::init(LtsSession::LtsSessionDataDds* session
return false;
m_exercise = dtc->exercise(m_session->exerciseId());
m_operatorModel = new ExerciseOperatorModel(m_session, m_exercise.id(), this);
m_operatorModel = new ExerciseOperatorModel(m_session, m_exercise.id, this);
m_ui->dvOperators->setModel(m_operatorModel);
m_ui->dvOperators->seamless();
connect(m_operatorModel, &ExerciseOperatorModel::dataChanged, this,
@@ -78,9 +80,9 @@ void ExerciseManagementOperatorEdit::retranslate()
bool ExerciseManagementOperatorEdit::apply()
{
if (m_exercise.id() > 0)
if (m_exercise.id > 0)
{
sendModifiedOperators(m_exercise.id());
sendModifiedOperators(m_exercise.id);
return true;
}
@@ -114,8 +116,8 @@ void ExerciseManagementOperatorEdit::sendModifiedOperators(int thisExerciseId)
{
const auto rowData = m_operatorModel->getRowData(row);
bool found = false;
OperatorManagement::User user = m_opmDtc->user(rowData.second.id());
for (auto ex : user.exerciseIds())
OperatorManagement::User user = m_opmDtc->user(rowData.second.id);
for (auto ex : user.exerciseIds)
if (ex == thisExerciseId)
found = true;
@@ -123,14 +125,14 @@ void ExerciseManagementOperatorEdit::sendModifiedOperators(int thisExerciseId)
continue;
if (rowData.first)
user.exerciseIds().resize(user.exerciseIds().size() + 1, thisExerciseId);
user.exerciseIds.resize(user.exerciseIds.size() + 1, thisExerciseId);
else
removeElement(user.exerciseIds(), thisExerciseId);
removeElement(user.exerciseIds, thisExerciseId);
OperatorManagement::OperatorCreateModifyRequest req;
req.id(user.id());
req.visibleExercises() = user.exerciseIds();
req.visiblePartiesByExercise() = user.visiblePartiesByExercise();
req.id = user.id;
req.visibleExercises = user.exerciseIds;
req.visiblePartiesByExercise = user.visiblePartiesByExercise;
m_requestHelper->startSingleRequest(
[this, req, opmFtc]() { return opmFtc->operatorCreateModifyRequest(req, this); });
@@ -27,7 +27,7 @@ ExerciseOperatorModel::ExerciseOperatorModel(LtsSession::LtsSessionDataDds *sess
auto cb = [this](const OperatorManagement::User &user)
{
if (user.id() != s_OrganisatorId)
if (user.id != s_OrganisatorId)
insertRow(qMakePair(hasMembership(user), user));
};
m_opmDtc->users(cb);
@@ -44,14 +44,14 @@ QVariant ExerciseOperatorModel::data(const QModelIndex &index, int role) const
return LtsCheckableTableModel::data(index, role);
const auto &entry = m_vecData.at(index.row()).second;
std::vector<OperatorManagement::PartiesByExercise> vpbe = entry.visiblePartiesByExercise();
std::vector<OperatorManagement::PartiesByExercise> vpbe = entry.visiblePartiesByExercise;
switch (index.column())
{
case Name:
return QString::fromStdString(entry.name());
return QString::fromStdString(entry.name);
case Description:
return QString::fromStdString(entry.description());
return QString::fromStdString(entry.description);
case VisibleParties:
{
return hasVisibleParties(vpbe);
@@ -66,16 +66,16 @@ QString ExerciseOperatorModel::hasVisibleParties(const std::vector<OperatorManag
: 0 ;
for (const auto &pbe : vpbe)
{
if (pbe.exerciseId() != exerciseId)
if (pbe.exerciseId != exerciseId)
continue;
std::vector<int32_t> hiddenParties = {};
if (pbe.hiddenParties().is_set())
hiddenParties = pbe.hiddenParties().get();
if (pbe.hiddenParties.has_value())
hiddenParties = pbe.hiddenParties.get();
if(pbe.visibleParties().is_set())
if(pbe.visibleParties.has_value())
{
return visibleParties(pbe.visibleParties().get(),
return visibleParties(pbe.visibleParties.get(),
hiddenParties);
}
}
@@ -98,7 +98,7 @@ QString ExerciseOperatorModel::visibleParties(const std::vector<int32_t> &visibl
isHidden = true;
}
if (!isHidden)
result.append(ParticipantManagement::trPartyName(m_ppmDtc->party(partyId).name()));
result.append(ParticipantManagement::trPartyName(m_ppmDtc->party(partyId).name));
}
return result.join(QStringLiteral(", "));
@@ -116,7 +116,7 @@ void ExerciseOperatorModel::onOperatorChanged(const OperatorManagement::User &da
case DataModification::eRemoved:
{
for (int i = 0; i < m_vecData.size(); ++i)
if (m_vecData[i].second.id() == data.id())
if (m_vecData[i].second.id == data.id)
{
removeRow(i);
break;
@@ -126,7 +126,7 @@ void ExerciseOperatorModel::onOperatorChanged(const OperatorManagement::User &da
case DataModification::eModified:
{
for (int i = 0; i < m_vecData.size(); ++i)
if (m_vecData[i].second.id() == data.id())
if (m_vecData[i].second.id == data.id)
{
m_vecData[i].second = data;
break;
@@ -138,7 +138,7 @@ void ExerciseOperatorModel::onOperatorChanged(const OperatorManagement::User &da
bool ExerciseOperatorModel::hasMembership(const OperatorManagement::User &user) const
{
for (const auto exerciseId : user.exerciseIds())
for (const auto exerciseId : user.exerciseIds)
if (exerciseId == m_exerciseId)
return true;
return false;
@@ -3,7 +3,7 @@
#pragma once
#include <OperatorManagement/opm_data_plugin.h>
#include <Plugins/OperatorManagement/Data/opm_data_plugin.h>
#include <ParticipantManagement/Data/ppm_data_plugin.h>
#include <LtsSession/lts_session_data_dds.h>
@@ -1,6 +1,7 @@
#include "exm_phase_edit.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "exm_edit_phase_dialog.h"
#include "exm_phase_model.h"
@@ -16,6 +17,7 @@ ExerciseManagementPhaseEdit::ExerciseManagementPhaseEdit(const QString& menuGrou
m_ui(new Ui::ExerciseManagementPhaseEdit), m_dtc(nullptr), m_ftc(nullptr), m_flmDtc(nullptr), m_flmFtc(nullptr),
m_session(nullptr), m_phaseModel(nullptr), m_menuGroup(menuGroup), m_exercise(),
m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -43,7 +45,7 @@ bool ExerciseManagementPhaseEdit::init(LtsSession::LtsSessionDataDds* session)
m_exercise = m_dtc->exercise(m_session->exerciseId());
m_phaseModel = new ExercisePhaseModel(this);
m_phaseModel->initModel(m_exercise.id(), m_dtc);
m_phaseModel->initModel(m_exercise.id, m_dtc);
m_ui->dvPhases->setModel(m_phaseModel);
m_ui->dvPhases->hideColumn(3);
@@ -75,7 +77,7 @@ void ExerciseManagementPhaseEdit::enaDisaPhaseButtons()
void ExerciseManagementPhaseEdit::onAddExercisePhase()
{
ExerciseManagementPhaseEditDialog* dialog = new ExerciseManagementPhaseEditDialog(this);
dialog->init(m_session, m_exercise.id(), -1);
dialog->init(m_session, m_exercise.id, -1);
addDialog(dialog, m_menuGroup, QLatin1String("NewExercisePhase"), LtsWidgets::LayoutArea::eDialogTab);
}
@@ -85,22 +87,22 @@ void ExerciseManagementPhaseEdit::onEditExercisePhase()
const QModelIndex idx = m_ui->dvPhases->currentIndex();
const ExercisePhase exPhase = m_phaseModel->getRowData(idx.row());
if (exPhase.id() <= 0)
if (exPhase.id <= 0)
return;
DEBUG_LOG(m_logger) << "current exPhase Id: " << exPhase.id();
DEBUG_LOG(m_logger) << "current exPhase Id: " << exPhase.id;
ExerciseManagementPhaseEditDialog* dialog = new ExerciseManagementPhaseEditDialog(this);
dialog->init(m_session, m_exercise.id(), exPhase.id());
const QString identifier = QLatin1String("EditExercisePhase") + QString::number(exPhase.id());
dialog->init(m_session, m_exercise.id, exPhase.id);
const QString identifier = QLatin1String("EditExercisePhase") + QString::number(exPhase.id);
addDialog(dialog, m_menuGroup, identifier, LtsWidgets::LayoutArea::eDialogTab);
}
void ExerciseManagementPhaseEdit::onRemoveExercisePhase()
{
const int phId = m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id();
int exeFolderId = m_flmDtc->getExerciseFolderId(m_exercise.id());
const int phId = m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id;
int exeFolderId = m_flmDtc->getExerciseFolderId(m_exercise.id);
const int folderId = m_flmDtc->getPhaseFolderId(exeFolderId, phId);
if (folderId > 0)
@@ -109,7 +111,7 @@ void ExerciseManagementPhaseEdit::onRemoveExercisePhase()
m_requestHelper->startSingleRequest([req, this]() { return m_flmFtc->folderRemoveRequest(req, this); });
}
Core::RemoveElementRequest req(m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id());
Core::RemoveElementRequest req(m_phaseModel->getRowData(m_ui->dvPhases->currentIndex().row()).id);
m_requestHelper->startSingleRequest([req, this]() {
m_ftc->enableExercisePhaseRemove();
return m_ftc->exercisePhaseRemoveRequest(req, this);
@@ -9,7 +9,7 @@
#include <LtsWidgets/lts_dialog.h>
#include <LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h>
#include <LtsSession/lts_session_data_dds.h>
#include <flm_data_plugin_interface.h>
#include <Plugins/FileManagement/flm_data_plugin_interface.h>
namespace Ui {
class ExerciseManagementPhaseEdit;
@@ -1,6 +1,7 @@
#include "exm_phase_model.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
namespace ExerciseManagement
{
@@ -9,6 +10,7 @@ ExercisePhaseModel::ExercisePhaseModel(QObject* parent)
: LtsWidgets::LtsAbstractTableModel<ExerciseManagement::ExercisePhase>(
{tr("Phase"), tr("Start"), tr("End"), tr("Description"), tr("Exercise-Id")}, parent),
m_exmDtc(nullptr)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
}
@@ -37,15 +39,15 @@ QVariant ExercisePhaseModel::data(const QModelIndex& index, int role) const
switch (index.column())
{
case Name:
return QString::fromStdString(exPhase.name());
return QString::fromStdString(exPhase.name);
case Start:
return QDateTime::fromMSecsSinceEpoch(exPhase.beginTime());
return QDateTime::fromMSecsSinceEpoch(exPhase.beginTime);
case End:
return QDateTime::fromMSecsSinceEpoch(exPhase.endTime());
return QDateTime::fromMSecsSinceEpoch(exPhase.endTime);
case Description:
return QString::fromStdString(exPhase.description());
return QString::fromStdString(exPhase.description);
case ExerciseId:
return (exPhase.exerciseId());
return (exPhase.exerciseId);
}
}
@@ -68,9 +70,9 @@ bool ExercisePhaseProxyModel::lessThan(const QModelIndex& source_left, const QMo
switch (source_left.column())
{
case ExercisePhaseModel::Start:
return dataLeft.beginTime() < dataRight.beginTime();
return dataLeft.beginTime < dataRight.beginTime;
case ExercisePhaseModel::End:
return dataLeft.endTime() < dataRight.endTime();
return dataLeft.endTime < dataRight.endTime;
case ExercisePhaseModel::Name:
case ExercisePhaseModel::Description:
case ExercisePhaseModel::ExerciseId:
@@ -28,7 +28,7 @@ class ExercisePhaseModel final : public LtsWidgets::LtsAbstractTableModel<Exerci
bool isFiltered(const ExercisePhase& data, DataModification modType) const override
{
if (data.exerciseId() != m_exerciseId)
if (data.exerciseId != m_exerciseId)
return true;
return LtsWidgets::LtsAbstractTableModel<ExerciseManagement::ExercisePhase>::isFiltered(data, modType);
}
@@ -2,6 +2,7 @@
#include "exm_state_edit.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ui_exm_state_edit.h"
#include <ExerciseManagement/exm_data_plugin_interface.h>
@@ -20,6 +21,7 @@ ExerciseManagementStateEdit::ExerciseManagementStateEdit(const QString &menuGrou
, m_exercise()
, m_currentState(ExerciseState::Unknown)
, m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -53,7 +55,7 @@ bool ExerciseManagementStateEdit::init(LtsSession::LtsSessionDataDds *session)
return false;
m_exercise = m_dtc->exercise(m_session->exerciseId());
m_currentState = m_exercise.state();
m_currentState = m_exercise.state;
fillStateCbx();
@@ -69,7 +71,7 @@ bool ExerciseManagementStateEdit::init(LtsSession::LtsSessionDataDds *session)
connect(m_dtc.get(), &Interface::Dtc::exercisePhaseChanged, this, &ExerciseManagementStateEdit::onExercisePhaseChanged);
m_ui->cbActivePhase->setCurrentIndex(m_ui->cbActivePhase->findData(QVariant(m_exercise.activePhaseId())));
m_ui->cbActivePhase->setCurrentIndex(m_ui->cbActivePhase->findData(QVariant(m_exercise.activePhaseId)));
return true;
}
@@ -83,32 +85,32 @@ void ExerciseManagementStateEdit::fillStateCbx()
m_ui->cbState->clear();
switch (m_currentState.underlying())
switch (m_currentState)
{
case ExerciseState::Created:
m_ui->cbState->addItem(tr("Created"), ExerciseState::Created);
m_ui->cbState->addItem(tr("Start"), ExerciseState::Started);
m_ui->cbState->addItem(tr("Created"), static_cast<int>(ExerciseState::Created));
m_ui->cbState->addItem(tr("Start"), static_cast<int>(ExerciseState::Started));
break;
case ExerciseState::Started:
m_ui->cbState->addItem(tr("Started"), ExerciseState::Started);
m_ui->cbState->addItem(tr("Pause"), ExerciseState::Paused);
m_ui->cbState->addItem(tr("Stop"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Started"), static_cast<int>(ExerciseState::Started));
m_ui->cbState->addItem(tr("Pause"), static_cast<int>(ExerciseState::Paused));
m_ui->cbState->addItem(tr("Stop"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Paused:
m_ui->cbState->addItem(tr("Paused"), ExerciseState::Paused);
m_ui->cbState->addItem(tr("Resume"), ExerciseState::Started);
m_ui->cbState->addItem(tr("Stop"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Paused"), static_cast<int>(ExerciseState::Paused));
m_ui->cbState->addItem(tr("Resume"), static_cast<int>(ExerciseState::Started));
m_ui->cbState->addItem(tr("Stop"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Stopped:
m_ui->cbState->addItem(tr("Stopped"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Stopped"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Terminated:
m_ui->cbState->addItem(tr("Terminated"), ExerciseState::Terminated);
m_ui->cbState->addItem(tr("Terminated"), static_cast<int>(ExerciseState::Terminated));
if (enableExerciseTerminatedToStopped)
m_ui->cbState->addItem(tr("Stopped"), ExerciseState::Stopped);
m_ui->cbState->addItem(tr("Stopped"), static_cast<int>(ExerciseState::Stopped));
break;
case ExerciseState::Unknown:
m_ui->cbState->addItem(tr("Unknown"), ExerciseState::Unknown);
m_ui->cbState->addItem(tr("Unknown"), static_cast<int>(ExerciseState::Unknown));
break;
}
}
@@ -121,8 +123,8 @@ void ExerciseManagementStateEdit::fillActivePhaseCbx()
auto cb = [this](const ExerciseManagement::ExercisePhase &phase)
{
if (m_exercise.id() == phase.exerciseId())
m_ui->cbActivePhase->addItem(QString::fromStdString(phase.name()), QVariant(phase.id()));
if (m_exercise.id == phase.exerciseId)
m_ui->cbActivePhase->addItem(QString::fromStdString(phase.name), QVariant(phase.id));
};
m_dtc->exercisePhases(cb);
m_ui->cbActivePhase->setEnabled(m_ui->cbActivePhase->count() > 1);
@@ -134,7 +136,7 @@ void ExerciseManagementStateEdit::fillActivePhaseCbx()
void ExerciseManagementStateEdit::onExercisePhaseChanged(const ExerciseManagement::ExercisePhase &data, DataModification modType)
{
Q_UNUSED(modType)
if (data.exerciseId() == m_exercise.id())
if (data.exerciseId == m_exercise.id)
fillActivePhaseCbx();
}
@@ -146,7 +148,7 @@ void ExerciseManagementStateEdit::retranslate()
bool ExerciseManagementStateEdit::apply()
{
ExerciseState exState = static_cast<ExerciseState>(m_ui->cbState->currentData().toInt());
if (exState.underlying() == ExerciseState::Stopped &&
if (exState == ExerciseState::Stopped &&
LtsWidgets::LtsMessageDialog::showMessage(this,
tr("Are you sure you want to stop the exercise?"),
tr("Stop Exercise"),
@@ -154,30 +156,30 @@ bool ExerciseManagementStateEdit::apply()
LtsWidgets::Button::Yes | LtsWidgets::Button::No)
== LtsWidgets::Button::No)
{
m_ui->cbState->setCurrentIndex(m_ui->cbState->findData(m_currentState.underlying()));
m_ui->cbState->setCurrentIndex(m_ui->cbState->findData(static_cast<int>(m_currentState)));
return true;
}
if (m_exercise.id() > 0)
if (m_exercise.id > 0)
{
ExerciseModifyRequest request;
request.id(m_exercise.id());
request.beginTime(m_exercise.beginTime());
request.endTime(m_exercise.endTime());
request.startTime(m_exercise.startTime());
request.stopTime(m_exercise.stopTime());
request.name(m_exercise.name());
request.sendToWMS(m_exercise.sendToWMS());
request.linkedExerciseId(m_exercise.linkedExerciseId());
request.trainingAreaId(m_exercise.trainingAreaId());
request.radioGroupId(m_exercise.radioGroupId());
request.symbolFillTypeId(m_exercise.symbolFillTypeId());
request.activePhaseId(m_ui->cbActivePhase->currentData().toInt());
request.defaultTimeZone(m_exercise.defaultTimeZone());
request.forces(m_exercise.forces());
request.description(m_exercise.description());
request.newState(static_cast<ExerciseState>(m_ui->cbState->currentData().toInt()));
request.id = m_exercise.id;
request.beginTime = m_exercise.beginTime;
request.endTime = m_exercise.endTime;
request.startTime = m_exercise.startTime;
request.stopTime = m_exercise.stopTime;
request.name = m_exercise.name;
request.sendToWMS = m_exercise.sendToWMS;
request.linkedExerciseId = m_exercise.linkedExerciseId;
request.trainingAreaId = m_exercise.trainingAreaId;
request.radioGroupId = m_exercise.radioGroupId;
request.symbolFillTypeId = m_exercise.symbolFillTypeId;
request.activePhaseId = m_ui->cbActivePhase->currentData().toInt();
request.defaultTimeZone = m_exercise.defaultTimeZone;
request.forces = m_exercise.forces;
request.description = m_exercise.description;
request.newState = static_cast<ExerciseState>(m_ui->cbState->currentData().toInt());
if(!m_requestHelper->startSingleRequest(
[this, request]() {