Mapping tool: improved setting of simulator

* problem: tab was not updated
* use "setSimulator" to reload from context menu
* forced "setSimulator" possible
This commit is contained in:
Klaus Basan
2019-02-05 00:31:54 +01:00
committed by Mat Sutcliffe
parent 286b03602f
commit f55db48cef
2 changed files with 9 additions and 8 deletions

View File

@@ -137,10 +137,10 @@ namespace BlackGui
return ui->comp_SimulatorSelector->getValue(); return ui->comp_SimulatorSelector->getValue();
} }
void CDbOwnModelsComponent::setSimulator(const CSimulatorInfo &simulator) bool CDbOwnModelsComponent::setSimulator(const CSimulatorInfo &simulator, bool forced)
{ {
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Need single simulator"); Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Need single simulator");
if (m_simulator == simulator) { return; } if (!forced && m_simulator == simulator) { return false; }
// changed simulator // changed simulator
m_simulator = simulator; m_simulator = simulator;
@@ -148,6 +148,7 @@ namespace BlackGui
ui->comp_SimulatorSelector->setValue(simulator); ui->comp_SimulatorSelector->setValue(simulator);
ui->le_Simulator->setText(simulator.toQString()); ui->le_Simulator->setText(simulator.toQString());
ui->tvp_OwnAircraftModels->setSimulatorForLoading(simulator); ui->tvp_OwnAircraftModels->setSimulatorForLoading(simulator);
return true;
} }
void CDbOwnModelsComponent::setSimulatorSelectorMode(CSimulatorSelector::Mode mode) void CDbOwnModelsComponent::setSimulatorSelectorMode(CSimulatorSelector::Mode mode)
@@ -271,7 +272,7 @@ namespace BlackGui
{ {
if (!ownModelsComp) { return; } if (!ownModelsComp) { return; }
Q_UNUSED(checked); Q_UNUSED(checked);
ownModelsComp->requestSimulatorModelsWithCacheInBackground(CSimulatorInfo::fsx()); ownModelsComp->setSimulator(CSimulatorInfo::fsx(), true);
}); });
} }
menuActions.addAction(m_loadActions[0], CMenuAction::pathSimulator()); menuActions.addAction(m_loadActions[0], CMenuAction::pathSimulator());
@@ -285,7 +286,7 @@ namespace BlackGui
{ {
if (!ownModelsComp) { return; } if (!ownModelsComp) { return; }
Q_UNUSED(checked); Q_UNUSED(checked);
ownModelsComp->requestSimulatorModelsWithCacheInBackground(CSimulatorInfo::p3d()); ownModelsComp->setSimulator(CSimulatorInfo::p3d(), true);
}); });
} }
menuActions.addAction(m_loadActions[1], CMenuAction::pathSimulator()); menuActions.addAction(m_loadActions[1], CMenuAction::pathSimulator());
@@ -299,7 +300,7 @@ namespace BlackGui
{ {
if (!ownModelsComp) { return; } if (!ownModelsComp) { return; }
Q_UNUSED(checked); Q_UNUSED(checked);
ownModelsComp->requestSimulatorModelsWithCacheInBackground(CSimulatorInfo::fs9()); ownModelsComp->setSimulator(CSimulatorInfo::fs9(), true);
}); });
} }
menuActions.addAction(m_loadActions[2], CMenuAction::pathSimulator()); menuActions.addAction(m_loadActions[2], CMenuAction::pathSimulator());
@@ -313,7 +314,7 @@ namespace BlackGui
{ {
if (!ownModelsComp) { return; } if (!ownModelsComp) { return; }
Q_UNUSED(checked); Q_UNUSED(checked);
ownModelsComp->requestSimulatorModelsWithCacheInBackground(CSimulatorInfo::xplane()); ownModelsComp->setSimulator(CSimulatorInfo::xplane(), true);
}); });
} }
menuActions.addAction(m_loadActions[3], CMenuAction::pathSimulator()); menuActions.addAction(m_loadActions[3], CMenuAction::pathSimulator());
@@ -327,7 +328,7 @@ namespace BlackGui
{ {
if (!ownModelsComp) { return; } if (!ownModelsComp) { return; }
Q_UNUSED(checked); Q_UNUSED(checked);
ownModelsComp->requestSimulatorModelsWithCacheInBackground(CSimulatorInfo::fg()); ownModelsComp->setSimulator(CSimulatorInfo::fg(), true);
}); });
} }
menuActions.addAction(m_loadActions[4], CMenuAction::pathSimulator()); menuActions.addAction(m_loadActions[4], CMenuAction::pathSimulator());

View File

@@ -84,7 +84,7 @@ namespace BlackGui
const BlackMisc::Simulation::CSimulatorInfo getOwnModelsSimulator() const; const BlackMisc::Simulation::CSimulatorInfo getOwnModelsSimulator() const;
//! Change current simulator for own models //! Change current simulator for own models
void setSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator); bool setSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator, bool forced = false);
//! \copydoc BlackGui::Components::CSimulatorSelector::setMode //! \copydoc BlackGui::Components::CSimulatorSelector::setMode
void setSimulatorSelectorMode(CSimulatorSelector::Mode mode); void setSimulatorSelectorMode(CSimulatorSelector::Mode mode);