mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 23:25:53 +08:00
Move FGSwiftBus settings to own class
This commit is contained in:
@@ -334,7 +334,7 @@ namespace BlackSimPlugin::Flightgear
|
||||
bool CSimulatorFlightgear::connectTo()
|
||||
{
|
||||
if (isConnected()) { return true; }
|
||||
QString dbusAddress = m_fgswiftbusServerSetting.getThreadLocal();
|
||||
QString dbusAddress = m_fgswiftbusServerSetting.getThreadLocal().getDBusServerAddress();
|
||||
|
||||
if (CDBusServer::isSessionOrSystemAddress(dbusAddress))
|
||||
{
|
||||
@@ -1060,7 +1060,7 @@ namespace BlackSimPlugin::Flightgear
|
||||
if (this->isShuttingDown()) { return; }
|
||||
Q_ASSERT_X(!CThreadUtils::thisIsMainThread(), Q_FUNC_INFO, "Expect to run in background");
|
||||
|
||||
QString dbusAddress = m_fgSswiftBusServerSetting.getThreadLocal();
|
||||
QString dbusAddress = m_fgSswiftBusServerSetting.getThreadLocal().getDBusServerAddress();
|
||||
if (CDBusServer::isSessionOrSystemAddress(dbusAddress))
|
||||
{
|
||||
checkConnectionViaSessionBus();
|
||||
|
||||
@@ -6,15 +6,17 @@
|
||||
* or distributed except according to the terms contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "ui_simulatorflightgearconfigwindow.h"
|
||||
#include "simulatorflightgearconfigwindow.h"
|
||||
#include "blackcore/application.h"
|
||||
#include "ui_simulatorflightgearconfigwindow.h"
|
||||
#include "blackgui/guiapplication.h"
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QDialogButtonBox>
|
||||
|
||||
using namespace BlackGui;
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Simulation::Settings;
|
||||
//using namespace BlackMisc::Simulation::Flightgear;
|
||||
|
||||
namespace BlackSimPlugin::Flightgear
|
||||
@@ -25,8 +27,8 @@ namespace BlackSimPlugin::Flightgear
|
||||
{
|
||||
ui->setupUi(this);
|
||||
CGuiUtility::disableMinMaxCloseButtons(this);
|
||||
ui->comp_SettingsFGSwiftBus->setDefaultP2PAddress(m_fgswiftbusServerSetting.getDefault());
|
||||
ui->comp_SettingsFGSwiftBus->set(m_fgswiftbusServerSetting.getThreadLocal());
|
||||
ui->comp_SettingsFGSwiftBus->setDefaultP2PAddress(m_fgswiftbusServerSetting.getDefault().getDBusServerAddress());
|
||||
ui->comp_SettingsFGSwiftBus->set(m_fgswiftbusServerSetting.getThreadLocal().getDBusServerAddress());
|
||||
|
||||
connect(ui->bb_OkCancel, &QDialogButtonBox::accepted, this, &CSimulatorFlightgearConfigWindow::onSettingsAccepted);
|
||||
connect(ui->bb_OkCancel, &QDialogButtonBox::rejected, this, &CSimulatorFlightgearConfigWindow::close);
|
||||
@@ -35,13 +37,28 @@ namespace BlackSimPlugin::Flightgear
|
||||
CSimulatorFlightgearConfigWindow::~CSimulatorFlightgearConfigWindow()
|
||||
{ }
|
||||
|
||||
CFGSwiftBusSettings CSimulatorFlightgearConfigWindow::getSettingsFromUI() const
|
||||
{
|
||||
CFGSwiftBusSettings s = m_fgswiftbusServerSetting.getThreadLocal();
|
||||
s.setDBusServerAddress(ui->comp_SettingsFGSwiftBus->getDBusAddress());
|
||||
return s;
|
||||
}
|
||||
|
||||
void CSimulatorFlightgearConfigWindow::onSettingsChanged()
|
||||
{
|
||||
ui->comp_SettingsFGSwiftBus->set(m_fgswiftbusServerSetting.getThreadLocal().getDBusServerAddress());
|
||||
}
|
||||
|
||||
void CSimulatorFlightgearConfigWindow::onSettingsAccepted()
|
||||
{
|
||||
const QString currentAddress = m_fgswiftbusServerSetting.getThreadLocal();
|
||||
const QString updatedAddress = ui->comp_SettingsFGSwiftBus->getDBusAddress();
|
||||
if (currentAddress != ui->comp_SettingsFGSwiftBus->getDBusAddress())
|
||||
if (!sGui || sGui->isShuttingDown()) { return; }
|
||||
|
||||
const CFGSwiftBusSettings s = m_fgswiftbusServerSetting.getThreadLocal();
|
||||
CFGSwiftBusSettings changed = getSettingsFromUI();
|
||||
|
||||
if (s != changed)
|
||||
{
|
||||
m_fgswiftbusServerSetting.set(updatedAddress);
|
||||
m_fgswiftbusServerSetting.set(changed);
|
||||
}
|
||||
close();
|
||||
}
|
||||
|
||||
@@ -38,8 +38,14 @@ namespace BlackSimPlugin::Flightgear
|
||||
//! Settings have been accepted
|
||||
void onSettingsAccepted();
|
||||
|
||||
//! Settings changed
|
||||
void onSettingsChanged();
|
||||
|
||||
//! Get settings object with values from UI
|
||||
BlackMisc::Simulation::Settings::CFGSwiftBusSettings getSettingsFromUI() const;
|
||||
|
||||
QScopedPointer<Ui::CSimulatorFlightgearConfigWindow> ui;
|
||||
BlackMisc::CSetting<BlackMisc::Simulation::Settings::TFGSwiftBusServer> m_fgswiftbusServerSetting { this };
|
||||
BlackMisc::CSetting<BlackMisc::Simulation::Settings::TFGSwiftBusServer> m_fgswiftbusServerSetting { this, &CSimulatorFlightgearConfigWindow::onSettingsChanged };
|
||||
};
|
||||
} // ns
|
||||
|
||||
|
||||
Reference in New Issue
Block a user