mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 16:56:53 +08:00
Refactoring code of FG plugin
This commit is contained in:
committed by
Mat Sutcliffe
parent
9363bf3b1f
commit
1b273a36dc
@@ -13,16 +13,16 @@ class QWidget;
|
||||
|
||||
namespace BlackSimPlugin
|
||||
{
|
||||
namespace XPlane
|
||||
namespace Flightgear
|
||||
{
|
||||
CSimulatorXPlaneConfig::CSimulatorXPlaneConfig(QObject *parent) : QObject(parent)
|
||||
CSimulatorFlightgearConfig::CSimulatorFlightgearConfig(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
BlackGui::CPluginConfigWindow *CSimulatorXPlaneConfig::createConfigWindow(QWidget *parent)
|
||||
BlackGui::CPluginConfigWindow *CSimulatorFlightgearConfig::createConfigWindow(QWidget *parent)
|
||||
{
|
||||
CSimulatorXPlaneConfigWindow* w = new CSimulatorXPlaneConfigWindow(parent);
|
||||
CSimulatorFlightgearConfigWindow* w = new CSimulatorFlightgearConfigWindow(parent);
|
||||
return w;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKSIMPLUGIN_SIMULATOR_XPLANE_CONFIG_H
|
||||
#define BLACKSIMPLUGIN_SIMULATOR_XPLANE_CONFIG_H
|
||||
#ifndef BLACKSIMPLUGIN_SIMULATOR_FLIGHTGEAR_CONFIG_H
|
||||
#define BLACKSIMPLUGIN_SIMULATOR_FLIGHTGEAR_CONFIG_H
|
||||
|
||||
#include "blackgui/pluginconfig.h"
|
||||
#include "blackmisc/settingscache.h"
|
||||
@@ -22,12 +22,12 @@ class QWidget;
|
||||
namespace BlackGui { class CPluginConfigWindow; }
|
||||
namespace BlackSimPlugin
|
||||
{
|
||||
namespace XPlane
|
||||
namespace Flightgear
|
||||
{
|
||||
/*!
|
||||
* Config plugin for the X-Plane plugin.
|
||||
* Config plugin for the Flightgear plugin.
|
||||
*/
|
||||
class CSimulatorXPlaneConfig : public QObject, public BlackGui::IPluginConfig
|
||||
class CSimulatorFlightgearConfig : public QObject, public BlackGui::IPluginConfig
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.swift-project.blackgui.pluginconfiginterface" FILE "simulatorflightgearconfig.json")
|
||||
@@ -35,10 +35,10 @@ namespace BlackSimPlugin
|
||||
|
||||
public:
|
||||
//! Ctor
|
||||
CSimulatorXPlaneConfig(QObject *parent = nullptr);
|
||||
CSimulatorFlightgearConfig(QObject *parent = nullptr);
|
||||
|
||||
//! Dtor
|
||||
virtual ~CSimulatorXPlaneConfig() {}
|
||||
virtual ~CSimulatorFlightgearConfig() {}
|
||||
|
||||
//! \copydoc BlackGui::IPluginConfig::createConfigWindow()
|
||||
BlackGui::CPluginConfigWindow *createConfigWindow(QWidget *parent) override;
|
||||
|
||||
@@ -9,44 +9,44 @@
|
||||
#include "simulatorflightgearconfigwindow.h"
|
||||
#include "blackcore/application.h"
|
||||
#include "ui_simulatorflightgearconfigwindow.h"
|
||||
#include "blackmisc/simulation/xplane/xswiftbusconfigwriter.h"
|
||||
#include "blackmisc/simulation/flightgear/fgswiftbusconfigwriter.h"
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QDialogButtonBox>
|
||||
|
||||
using namespace BlackGui;
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Simulation::XPlane;
|
||||
using namespace BlackMisc::Simulation::Flightgear;
|
||||
|
||||
namespace BlackSimPlugin
|
||||
{
|
||||
namespace XPlane
|
||||
namespace Flightgear
|
||||
{
|
||||
CSimulatorXPlaneConfigWindow::CSimulatorXPlaneConfigWindow(QWidget *parent) :
|
||||
CSimulatorFlightgearConfigWindow::CSimulatorFlightgearConfigWindow(QWidget *parent) :
|
||||
CPluginConfigWindow(parent),
|
||||
ui(new Ui::CSimulatorXPlaneConfigWindow)
|
||||
ui(new Ui::CSimulatorFlightgearConfigWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->comp_SettingsXSwiftBus->setDefaultP2PAddress(m_xswiftbusServerSetting.getDefault());
|
||||
ui->comp_SettingsXSwiftBus->set(m_xswiftbusServerSetting.getThreadLocal());
|
||||
ui->comp_SettingsFGSwiftBus->setDefaultP2PAddress(m_fgswiftbusServerSetting.getDefault());
|
||||
ui->comp_SettingsFGSwiftBus->set(m_fgswiftbusServerSetting.getThreadLocal());
|
||||
|
||||
connect(ui->bb_OkCancel, &QDialogButtonBox::accepted, this, &CSimulatorXPlaneConfigWindow::onSettingsAccepted);
|
||||
connect(ui->bb_OkCancel, &QDialogButtonBox::rejected, this, &CSimulatorXPlaneConfigWindow::close);
|
||||
connect(ui->bb_OkCancel, &QDialogButtonBox::accepted, this, &CSimulatorFlightgearConfigWindow::onSettingsAccepted);
|
||||
connect(ui->bb_OkCancel, &QDialogButtonBox::rejected, this, &CSimulatorFlightgearConfigWindow::close);
|
||||
}
|
||||
|
||||
CSimulatorXPlaneConfigWindow::~CSimulatorXPlaneConfigWindow()
|
||||
CSimulatorFlightgearConfigWindow::~CSimulatorFlightgearConfigWindow()
|
||||
{ }
|
||||
|
||||
void CSimulatorXPlaneConfigWindow::onSettingsAccepted()
|
||||
void CSimulatorFlightgearConfigWindow::onSettingsAccepted()
|
||||
{
|
||||
const QString currentAddress = m_xswiftbusServerSetting.getThreadLocal();
|
||||
const QString updatedAddress = ui->comp_SettingsXSwiftBus->getDBusAddress();
|
||||
if (currentAddress != ui->comp_SettingsXSwiftBus->getDBusAddress())
|
||||
const QString currentAddress = m_fgswiftbusServerSetting.getThreadLocal();
|
||||
const QString updatedAddress = ui->comp_SettingsFGSwiftBus->getDBusAddress();
|
||||
if (currentAddress != ui->comp_SettingsFGSwiftBus->getDBusAddress())
|
||||
{
|
||||
m_xswiftbusServerSetting.set(updatedAddress);
|
||||
CXSwiftBusConfigWriter xswiftbusConfigWriter;
|
||||
xswiftbusConfigWriter.setDBusAddress(updatedAddress);
|
||||
xswiftbusConfigWriter.updateInAllXPlaneVersions();
|
||||
m_fgswiftbusServerSetting.set(updatedAddress);
|
||||
CFGSwiftBusConfigWriter fgswiftbusConfigWriter;
|
||||
fgswiftbusConfigWriter.setDBusAddress(updatedAddress);
|
||||
fgswiftbusConfigWriter.updateInAllXPlaneVersions();
|
||||
}
|
||||
close();
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKSIMPLUGIN_SIMULATOR_XPLANE_CONFIG_WINDOW_H
|
||||
#define BLACKSIMPLUGIN_SIMULATOR_XPLANE_CONFIG_WINDOW_H
|
||||
#ifndef BLACKSIMPLUGIN_SIMULATOR_FLIGHTGEAR_CONFIG_WINDOW_H
|
||||
#define BLACKSIMPLUGIN_SIMULATOR_FLIGHTGEAR_CONFIG_WINDOW_H
|
||||
|
||||
#include "blackgui/pluginconfigwindow.h"
|
||||
#include "blackmisc/simulation/settings/fgsettings.h"
|
||||
@@ -17,31 +17,31 @@
|
||||
#include <QObject>
|
||||
#include <QScopedPointer>
|
||||
|
||||
namespace Ui { class CSimulatorXPlaneConfigWindow; }
|
||||
namespace Ui { class CSimulatorFlightgearConfigWindow; }
|
||||
namespace BlackSimPlugin
|
||||
{
|
||||
namespace XPlane
|
||||
namespace Flightgear
|
||||
{
|
||||
/**
|
||||
* A window that shows all the X-Plane plugin options.
|
||||
* A window that shows all the Flightgear plugin options.
|
||||
*/
|
||||
class CSimulatorXPlaneConfigWindow : public BlackGui::CPluginConfigWindow
|
||||
class CSimulatorFlightgearConfigWindow : public BlackGui::CPluginConfigWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
//! Ctor.
|
||||
CSimulatorXPlaneConfigWindow(QWidget *parent);
|
||||
CSimulatorFlightgearConfigWindow(QWidget *parent);
|
||||
|
||||
//! Dtor.
|
||||
virtual ~CSimulatorXPlaneConfigWindow();
|
||||
virtual ~CSimulatorFlightgearConfigWindow();
|
||||
|
||||
private:
|
||||
//! Settings have been accepted
|
||||
void onSettingsAccepted();
|
||||
|
||||
QScopedPointer<Ui::CSimulatorXPlaneConfigWindow> ui;
|
||||
BlackMisc::CSetting<BlackMisc::Simulation::Settings::TXSwiftBusServer> m_xswiftbusServerSetting { this };
|
||||
QScopedPointer<Ui::CSimulatorFlightgearConfigWindow> ui;
|
||||
BlackMisc::CSetting<BlackMisc::Simulation::Settings::TFGSwiftBusServer> m_fgswiftbusServerSetting { this };
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CSimulatorXPlaneConfigWindow</class>
|
||||
<widget class="QWidget" name="CSimulatorXPlaneConfigWindow">
|
||||
<class>CSimulatorFlightgearConfigWindow</class>
|
||||
<widget class="QWidget" name="CSimulatorFlightgearConfigWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
@@ -17,7 +17,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>X-Plane plugin settings</string>
|
||||
<string>Flightgear plugin settings</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gl_ConfigWindow">
|
||||
<property name="leftMargin">
|
||||
@@ -46,7 +46,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" alignment="Qt::AlignTop">
|
||||
<widget class="BlackGui::Components::CDBusServerAddressSelector" name="comp_SettingsXSwiftBus">
|
||||
<widget class="BlackGui::Components::CDBusServerAddressSelector" name="comp_SettingsFGSwiftBus">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
|
||||
Reference in New Issue
Block a user