Refactoring code of FG plugin

This commit is contained in:
Lars Toenning
2019-02-27 22:16:06 +01:00
committed by Mat Sutcliffe
parent 9363bf3b1f
commit 1b273a36dc
17 changed files with 619 additions and 558 deletions

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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

View File

@@ -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>