mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 02:45:33 +08:00
refs #892, init plugin info also after startup
* fixes issue when plugin is already loaded * plus some formatting/renaming
This commit is contained in:
committed by
Mathew Sutcliffe
parent
7203655a05
commit
d504bfbee0
@@ -55,6 +55,9 @@ namespace BlackGui
|
|||||||
ui(new Ui::CSettingsSimulatorComponent),
|
ui(new Ui::CSettingsSimulatorComponent),
|
||||||
m_plugins(new CPluginManagerSimulator(this))
|
m_plugins(new CPluginManagerSimulator(this))
|
||||||
{
|
{
|
||||||
|
Q_ASSERT_X(sGui, Q_FUNC_INFO, "Missing sGui");
|
||||||
|
Q_ASSERT_X(sGui->getIContextSimulator(), Q_FUNC_INFO, "Missing context");
|
||||||
|
|
||||||
m_plugins->collectPlugins();
|
m_plugins->collectPlugins();
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
CLedWidget::LedShape shape = CLedWidget::Circle;
|
CLedWidget::LedShape shape = CLedWidget::Circle;
|
||||||
@@ -66,9 +69,9 @@ namespace BlackGui
|
|||||||
|
|
||||||
// connects
|
// connects
|
||||||
connect(sGui->getIContextSimulator(), &IContextSimulator::simulatorPluginChanged, this, &CSettingsSimulatorComponent::ps_simulatorPluginChanged);
|
connect(sGui->getIContextSimulator(), &IContextSimulator::simulatorPluginChanged, this, &CSettingsSimulatorComponent::ps_simulatorPluginChanged);
|
||||||
connect(ui->ps_EnabledSimulators, &CPluginSelector::pluginStateChanged, this, &CSettingsSimulatorComponent::ps_pluginStateChanged);
|
connect(ui->pluginSelector_EnabledSimulators, &CPluginSelector::pluginStateChanged, this, &CSettingsSimulatorComponent::ps_pluginStateChanged);
|
||||||
connect(ui->ps_EnabledSimulators, &CPluginSelector::pluginDetailsRequested, this, &CSettingsSimulatorComponent::ps_showPluginDetails);
|
connect(ui->pluginSelector_EnabledSimulators, &CPluginSelector::pluginDetailsRequested, this, &CSettingsSimulatorComponent::ps_showPluginDetails);
|
||||||
connect(ui->ps_EnabledSimulators, &CPluginSelector::pluginConfigRequested, this, &CSettingsSimulatorComponent::ps_showPluginConfig);
|
connect(ui->pluginSelector_EnabledSimulators, &CPluginSelector::pluginConfigRequested, this, &CSettingsSimulatorComponent::ps_showPluginConfig);
|
||||||
connect(ui->pb_ApplyMaxAircraft, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::ps_onApplyMaxRenderedAircraft);
|
connect(ui->pb_ApplyMaxAircraft, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::ps_onApplyMaxRenderedAircraft);
|
||||||
connect(ui->pb_ApplyTimeSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::ps_onApplyTimeSync);
|
connect(ui->pb_ApplyTimeSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::ps_onApplyTimeSync);
|
||||||
connect(ui->pb_ApplyMaxDistance, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::ps_onApplyMaxRenderedDistance);
|
connect(ui->pb_ApplyMaxDistance, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::ps_onApplyMaxRenderedDistance);
|
||||||
@@ -83,11 +86,14 @@ namespace BlackGui
|
|||||||
for (const auto &p : getAvailablePlugins())
|
for (const auto &p : getAvailablePlugins())
|
||||||
{
|
{
|
||||||
const QString config = m_plugins->getPluginConfigId(p.getIdentifier());
|
const QString config = m_plugins->getPluginConfigId(p.getIdentifier());
|
||||||
ui->ps_EnabledSimulators->addPlugin(p.getIdentifier(), p.getName(), !config.isEmpty(), false);
|
ui->pluginSelector_EnabledSimulators->addPlugin(p.getIdentifier(), p.getName(), !config.isEmpty(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// config
|
// config
|
||||||
ps_reloadPluginConfig();
|
ps_reloadPluginConfig();
|
||||||
|
|
||||||
|
// init
|
||||||
|
ps_simulatorPluginChanged(sGui->getIContextSimulator()->getSimulatorPluginInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
CSettingsSimulatorComponent::~CSettingsSimulatorComponent()
|
CSettingsSimulatorComponent::~CSettingsSimulatorComponent()
|
||||||
@@ -115,9 +121,9 @@ namespace BlackGui
|
|||||||
|
|
||||||
if (m_pluginLoaded)
|
if (m_pluginLoaded)
|
||||||
{
|
{
|
||||||
bool timeSynced = sGui->getIContextSimulator()->isTimeSynchronized();
|
const bool timeSynced = sGui->getIContextSimulator()->isTimeSynchronized();
|
||||||
ui->cb_TimeSync->setChecked(timeSynced);
|
ui->cb_TimeSync->setChecked(timeSynced);
|
||||||
CTime timeOffset = sGui->getIContextSimulator()->getTimeSynchronizationOffset();
|
const CTime timeOffset = sGui->getIContextSimulator()->getTimeSynchronizationOffset();
|
||||||
ui->le_TimeSyncOffset->setText(timeOffset.formattedHrsMin());
|
ui->le_TimeSyncOffset->setText(timeOffset.formattedHrsMin());
|
||||||
|
|
||||||
const int maxAircraft = setup.getMaxRenderedAircraft();
|
const int maxAircraft = setup.getMaxRenderedAircraft();
|
||||||
@@ -151,7 +157,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
if (selected->isUnspecified())
|
if (selected->isUnspecified())
|
||||||
{
|
{
|
||||||
CLogMessage(this).error("Simulator plugin does not exist: %1") << identifier;
|
CLogMessage(this).error("Simulator plugin does not exist: '%1'") << identifier;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,8 +264,8 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CSettingsSimulatorComponent::ps_simulatorPluginChanged(const CSimulatorPluginInfo &info)
|
void CSettingsSimulatorComponent::ps_simulatorPluginChanged(const CSimulatorPluginInfo &info)
|
||||||
{
|
{
|
||||||
// I intentionally to not set the selected plugin combobox here
|
// I intentionally do not set the selected plugin combobox here
|
||||||
// as this would cause undesired rountrips
|
// as this would cause undesired roundtrips
|
||||||
|
|
||||||
// other GUI values
|
// other GUI values
|
||||||
if (!info.isUnspecified())
|
if (!info.isUnspecified())
|
||||||
@@ -322,7 +328,7 @@ namespace BlackGui
|
|||||||
auto enabledSimulators = m_enabledSimulators.getThreadLocal();
|
auto enabledSimulators = m_enabledSimulators.getThreadLocal();
|
||||||
for (const auto &p : getAvailablePlugins())
|
for (const auto &p : getAvailablePlugins())
|
||||||
{
|
{
|
||||||
ui->ps_EnabledSimulators->setEnabled(p.getIdentifier(), enabledSimulators.contains(p.getIdentifier()));
|
ui->pluginSelector_EnabledSimulators->setEnabled(p.getIdentifier(), enabledSimulators.contains(p.getIdentifier()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ namespace BlackGui
|
|||||||
BlackMisc::Simulation::CSimulatorPluginInfoList getAvailablePlugins() const;
|
BlackMisc::Simulation::CSimulatorPluginInfoList getAvailablePlugins() const;
|
||||||
|
|
||||||
QScopedPointer<Ui::CSettingsSimulatorComponent> ui; //!< UI
|
QScopedPointer<Ui::CSettingsSimulatorComponent> ui; //!< UI
|
||||||
bool m_pluginLoaded = false; //!< plugin loaded
|
bool m_pluginLoaded = false; //!< plugin loaded?
|
||||||
BlackCore::CPluginManagerSimulator* m_plugins = nullptr;
|
BlackCore::CPluginManagerSimulator* m_plugins = nullptr;
|
||||||
BlackMisc::CSetting<BlackCore::Application::TEnabledSimulators> m_enabledSimulators { this, &CSettingsSimulatorComponent::ps_reloadPluginConfig };
|
BlackMisc::CSetting<BlackCore::Application::TEnabledSimulators> m_enabledSimulators { this, &CSettingsSimulatorComponent::ps_reloadPluginConfig };
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>377</width>
|
<width>261</width>
|
||||||
<height>346</height>
|
<height>248</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -234,7 +234,7 @@
|
|||||||
<item alignment="Qt::AlignRight">
|
<item alignment="Qt::AlignRight">
|
||||||
<widget class="QLabel" name="lbl_RestrictionText">
|
<widget class="QLabel" name="lbl_RestrictionText">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>rest.text goes here</string>
|
<string>restriction info</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -358,7 +358,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0" colspan="2">
|
||||||
<widget class="BlackGui::CPluginSelector" name="ps_EnabledSimulators" native="true"/>
|
<widget class="BlackGui::CPluginSelector" name="pluginSelector_EnabledSimulators" native="true"/>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
|||||||
Reference in New Issue
Block a user