diff --git a/src/blackgui/components/interpolationlogdisplay.cpp b/src/blackgui/components/interpolationlogdisplay.cpp
index d3b1bfb3e..ba0c70c4d 100644
--- a/src/blackgui/components/interpolationlogdisplay.cpp
+++ b/src/blackgui/components/interpolationlogdisplay.cpp
@@ -47,6 +47,7 @@ namespace BlackGui
ui->led_Situation->setValues(CLedWidget::Yellow, CLedWidget::Black, shape, "Situation received", "", 14);
ui->led_Elevation->setValues(CLedWidget::Yellow, CLedWidget::Black, shape, "Elevation received", "", 14);
ui->led_Running->setValues(CLedWidget::Yellow, CLedWidget::Black, shape, "Running", "Stopped", 14);
+ ui->led_Updating->setValues(CLedWidget::Yellow, CLedWidget::Black, shape, "Just updating", "Idle", 14);
m_callsign = ui->comp_CallsignCompleter->getCallsign();
@@ -100,7 +101,12 @@ namespace BlackGui
void CInterpolationLogDisplay::updateLog()
{
- if (!this->checkLogPrerequisites()) { return; }
+ ui->led_Updating->blink(250);
+ if (!this->checkLogPrerequisites())
+ {
+ ui->le_SimulatorSpecific->setText(m_simulatorCommon->getStatisticsSimulatorSpecific());
+ return;
+ }
// only display visible tab
if (ui->tw_LogTabs->currentWidget() == ui->tb_TextLog)
diff --git a/src/blackgui/components/interpolationlogdisplay.ui b/src/blackgui/components/interpolationlogdisplay.ui
index 7c635f4da..63d8abb47 100644
--- a/src/blackgui/components/interpolationlogdisplay.ui
+++ b/src/blackgui/components/interpolationlogdisplay.ui
@@ -72,6 +72,16 @@
-
+ -
+
+
+ Updating
+
+
+
+ -
+
+
-
@@ -235,13 +245,6 @@
- -
-
-
- Upd.#:
-
-
-
-
@@ -252,30 +255,10 @@
- -
-
-
- true
-
-
-
- -
-
-
- true
-
-
- limited?
-
-
-
- -
-
-
- true
-
-
- elevation
+
-
+
+
+ Upd.#:
@@ -289,6 +272,26 @@
+ -
+
+
+ true
+
+
+ elevation
+
+
+
+ -
+
+
+ true
+
+
+ limited?
+
+
+
-
@@ -299,6 +302,13 @@
+ -
+
+
+ true
+
+
+
-
@@ -320,23 +330,6 @@
- -
-
-
- Req/rec:
-
-
-
- -
-
-
- true
-
-
- offset from changes
-
-
-
-
@@ -347,13 +340,6 @@
- -
-
-
- Off-CG:
-
-
-
-
@@ -364,13 +350,34 @@
- -
-
+
-
+
true
- time min, max, ..
+ offset from changes
+
+
+
+ -
+
+
+ Req/rec:
+
+
+
+ -
+
+
+ Off-CG:
+
+
+
+ -
+
+
+ Req. time:
@@ -384,13 +391,6 @@
- -
-
-
- Offset:
-
-
-
-
@@ -398,27 +398,20 @@
- -
-
-
- Req. time:
-
-
-
- -
-
-
- Elevation:
-
-
-
- -
-
+
-
+
true
- gnd.flag?
+ time min, max, ..
+
+
+
+ -
+
+
+ Offset:
@@ -429,16 +422,6 @@
- -
-
-
- true
-
-
- parts?
-
-
-
-
@@ -452,6 +435,33 @@
+ -
+
+
+ true
+
+
+ gnd.flag?
+
+
+
+ -
+
+
+ Elevation:
+
+
+
+ -
+
+
+ true
+
+
+ parts?
+
+
+
diff --git a/src/blackgui/models/aircraftsituationchangelistmodel..cpp b/src/blackgui/models/aircraftsituationchangelistmodel..cpp
index 9fefb1a53..a82066a99 100644
--- a/src/blackgui/models/aircraftsituationchangelistmodel..cpp
+++ b/src/blackgui/models/aircraftsituationchangelistmodel..cpp
@@ -28,20 +28,22 @@ namespace BlackGui
{
this->addTimestampOffsetColumns();
- m_columns.addColumn(CColumn::standardString("situations", CAircraftSituationChange::IndexSituationsCount));
+ m_columns.addColumn(CColumn::standardString("s#", "situations", CAircraftSituationChange::IndexSituationsCount));
+
+ m_columns.addColumn(CColumn("alt.mean", CAircraftSituationChange::IndexAltitudeMean, new CAltitudeFormatter()));
+ m_columns.addColumn(CColumn("alt.dev.", CAircraftSituationChange::IndexAltitudeStdDev, new CAltitudeFormatter()));
+ m_columns.addColumn(CColumn("elv.mean", CAircraftSituationChange::IndexElevationMean, new CAltitudeFormatter()));
+ m_columns.addColumn(CColumn("elv.dev.", CAircraftSituationChange::IndexElevationStdDev, new CAltitudeFormatter()));
+
m_columns.addColumn(CColumn("null", CAircraftSituationChange::IndexIsNull, new CBoolIconFormatter("null", "not null")));
m_columns.addColumn(CColumn("gnd.", CAircraftSituationChange::IndexConstOnGround, new CBoolIconFormatter("const on gnd.", "not const on gnd.")));
- m_columns.addColumn(CColumn("not gnd.", CAircraftSituationChange::IndexConstNotOnGround, new CBoolIconFormatter("const not on gnd.", "not const not on gnd.")));
+ m_columns.addColumn(CColumn("n.g.", CAircraftSituationChange::IndexConstNotOnGround, new CBoolIconFormatter("const not on gnd.", "not const not on gnd.")));
m_columns.addColumn(CColumn("asc.", CAircraftSituationChange::IndexConstAscending, new CBoolIconFormatter("const ascending", "not const ascending")));
m_columns.addColumn(CColumn("desc", CAircraftSituationChange::IndexConstDescending, new CBoolIconFormatter("const decending", "not const decending")));
m_columns.addColumn(CColumn("push", CAircraftSituationChange::IndexContainsPushBack, new CBoolIconFormatter("contains pushback", "no pushback")));
m_columns.addColumn(CColumn("to.", CAircraftSituationChange::IndexJustTakingOff, new CBoolIconFormatter("just takeoff", "no takeoff")));
m_columns.addColumn(CColumn("td.", CAircraftSituationChange::IndexJustTouchingDown, new CBoolIconFormatter("just touching down", "no touchdown")));
- m_columns.addColumn(CColumn("alt.mean", CAircraftSituationChange::IndexAltitudeMean, new CAltitudeFormatter()));
- m_columns.addColumn(CColumn("alt.dev.", CAircraftSituationChange::IndexAltitudeStdDev, new CAltitudeFormatter()));
- m_columns.addColumn(CColumn("elv.mean", CAircraftSituationChange::IndexElevationMean, new CAltitudeFormatter()));
- m_columns.addColumn(CColumn("elv.dev.", CAircraftSituationChange::IndexElevationStdDev, new CAltitudeFormatter()));
}
} // namespace
} // namespace
diff --git a/src/blackgui/models/aircraftsituationchangelistmodel.h b/src/blackgui/models/aircraftsituationchangelistmodel.h
index 3a6429e1d..91806311b 100644
--- a/src/blackgui/models/aircraftsituationchangelistmodel.h
+++ b/src/blackgui/models/aircraftsituationchangelistmodel.h
@@ -15,7 +15,6 @@
#include "blackgui/blackguiexport.h"
#include "blackgui/models/listmodeltimestampobjects.h"
#include "blackmisc/aviation/aircraftsituationchangelist.h"
-
#include
class QModelIndex;
diff --git a/src/blackgui/views/simulatedaircraftview.cpp b/src/blackgui/views/simulatedaircraftview.cpp
index 1ae41a297..486f047a4 100644
--- a/src/blackgui/views/simulatedaircraftview.cpp
+++ b/src/blackgui/views/simulatedaircraftview.cpp
@@ -57,6 +57,7 @@ namespace BlackGui
if (m_withMenuEnableAircraft)
{
menuActions.addAction(CIcons::appAircraft16(), "Enable all aircraft", CMenuAction::pathClientSimulation(), { this, &CSimulatedAircraftView::enableAllDisabledAircraft });
+ menuActions.addAction(CIcons::appAircraft16(), "Disable all aircraft", CMenuAction::pathClientSimulation(), { this, &CSimulatedAircraftView::disableAllEnabledAircraft });
menuActions.addAction(CIcons::appAircraft16(), "Re-enable unrendered aircraft", CMenuAction::pathClientSimulation(), { this, &CSimulatedAircraftView::reEnableAllUnrenderedAircraft });
}
@@ -152,26 +153,25 @@ namespace BlackGui
{
if (!sGui || sGui->isShuttingDown()) { return; }
const CSimulatedAircraftList aircraft = this->container().findByEnabled(false);
- if (aircraft.isEmpty()) { return; }
+ this->enableOrDisableAircraft(aircraft, true);
+ }
- const QPointer myself(this);
- for (const CSimulatedAircraft &sa : aircraft)
- {
- QTimer::singleShot(10, this, [ = ]
- {
- if (!myself) { return; }
- if (!sGui || sGui->isShuttingDown()) { return; }
- CSimulatedAircraft enabledAircraft(sa);
- enabledAircraft.setEnabled(true);
- emit this->requestEnableAircraft(enabledAircraft);
- });
- }
+ void CSimulatedAircraftView::disableAllEnabledAircraft()
+ {
+ if (!sGui || sGui->isShuttingDown()) { return; }
+ const CSimulatedAircraftList aircraft = this->container().findByEnabled(true);
+ this->enableOrDisableAircraft(aircraft, false);
}
void CSimulatedAircraftView::reEnableAllUnrenderedAircraft()
{
if (!sGui || sGui->isShuttingDown()) { return; }
const CSimulatedAircraftList aircraft = this->container().findByRendered(false);
+ this->enableOrDisableAircraft(aircraft, true);
+ }
+
+ void CSimulatedAircraftView::enableOrDisableAircraft(const CSimulatedAircraftList &aircraft, bool newEnabled)
+ {
if (aircraft.isEmpty()) { return; }
const QPointer myself(this);
@@ -182,7 +182,7 @@ namespace BlackGui
if (!myself) { return; }
if (!sGui || sGui->isShuttingDown()) { return; }
CSimulatedAircraft enabledAircraft(sa);
- enabledAircraft.setEnabled(true);
+ enabledAircraft.setEnabled(newEnabled);
emit this->requestEnableAircraft(enabledAircraft);
});
}
diff --git a/src/blackgui/views/simulatedaircraftview.h b/src/blackgui/views/simulatedaircraftview.h
index 765bb0874..054177c0d 100644
--- a/src/blackgui/views/simulatedaircraftview.h
+++ b/src/blackgui/views/simulatedaircraftview.h
@@ -99,9 +99,15 @@ namespace BlackGui
//! Enable all disabled aircraft
void enableAllDisabledAircraft();
+ //! Disable all enabled aircraft
+ void disableAllEnabledAircraft();
+
//! Enable all unrendered aircraft
void reEnableAllUnrenderedAircraft();
+ //! Enable or disable aircraft
+ void enableOrDisableAircraft(const BlackMisc::Simulation::CSimulatedAircraftList &aircraft, bool newEnabled);
+
bool m_withMenuHighlightAndFollow = true;
bool m_withMenuEnableAircraft = true;
bool m_withMenuEnableGndFlag = true;