mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-26 02:35:38 +08:00
refs #534 use cached data / settings
* models * vPilot rules * DBus address
This commit is contained in:
@@ -42,12 +42,17 @@ namespace BlackCore
|
|||||||
|
|
||||||
this->connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, this, &CRuntime::gracefulShutdown);
|
this->connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, this, &CRuntime::gracefulShutdown);
|
||||||
|
|
||||||
// upfront reading of settings, as DBus server already relies on settings
|
// either use explicit setting or last value
|
||||||
QString dbusAddress;
|
QString dbusAddress;
|
||||||
|
if (config.hasDBusAddress())
|
||||||
//! \todo Change when settings ready RW: I wonder if this can be done cleaner.
|
{
|
||||||
if (config.hasDBusAddress()) { dbusAddress = config.getDBusAddress(); } // bootstrap / explicit
|
dbusAddress = config.getDBusAddress();
|
||||||
else { dbusAddress = m_dbusServerAddress.get(); }
|
m_dbusServerAddress.set(dbusAddress);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dbusAddress = m_dbusServerAddress.get();
|
||||||
|
}
|
||||||
|
|
||||||
// DBus
|
// DBus
|
||||||
if (config.requiresDBusSever()) { this->initDBusServer(dbusAddress); }
|
if (config.requiresDBusSever()) { this->initDBusServer(dbusAddress); }
|
||||||
|
|||||||
55
src/blackcore/data/aircraftmodels.h
Normal file
55
src/blackcore/data/aircraftmodels.h
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
/* Copyright (C) 2015
|
||||||
|
* swift project community / contributors
|
||||||
|
*
|
||||||
|
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||||
|
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||||
|
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||||
|
* contained in the LICENSE file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
//! \file
|
||||||
|
|
||||||
|
#ifndef BLACKCORE_DATA_AIRCRAFTMODELS_H
|
||||||
|
#define BLACKCORE_DATA_AIRCRAFTMODELS_H
|
||||||
|
|
||||||
|
#include "blackcore/blackcoreexport.h"
|
||||||
|
#include "blackcore/datacache.h"
|
||||||
|
#include "blackmisc/simulation/aircraftmodellist.h"
|
||||||
|
#include "blackmisc/variant.h"
|
||||||
|
|
||||||
|
namespace BlackCore
|
||||||
|
{
|
||||||
|
namespace Data
|
||||||
|
{
|
||||||
|
//! Trait for own simulator models
|
||||||
|
struct OwnSimulatorAircraftModels : public BlackCore::CDataTrait<BlackMisc::Simulation::CAircraftModelList>
|
||||||
|
{
|
||||||
|
//! Key in data cache
|
||||||
|
static const char *key() { return "simulator/models"; }
|
||||||
|
|
||||||
|
//! Default value
|
||||||
|
static const BlackMisc::Simulation::CAircraftModelList &defaultValue()
|
||||||
|
{
|
||||||
|
static const BlackMisc::Simulation::CAircraftModelList defaultValue;
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//! Trait for vPilot derived models
|
||||||
|
struct VPilotAircraftModels : public BlackCore::CDataTrait<BlackMisc::Simulation::CAircraftModelList>
|
||||||
|
{
|
||||||
|
//! Key in data cache
|
||||||
|
static const char *key() { return "vpilot/models"; }
|
||||||
|
|
||||||
|
//! Default value
|
||||||
|
static const BlackMisc::Simulation::CAircraftModelList &defaultValue()
|
||||||
|
{
|
||||||
|
static const BlackMisc::Simulation::CAircraftModelList defaultValue;
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
} // ns
|
||||||
|
} // ns
|
||||||
|
|
||||||
|
#endif // guard
|
||||||
@@ -54,7 +54,8 @@ CSwiftLauncher::CSwiftLauncher(QWidget *parent) :
|
|||||||
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_L), this, SLOT(ps_showLogPage()));
|
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_L), this, SLOT(ps_showLogPage()));
|
||||||
this->ui->le_DBusServerPort->setValidator(new QIntValidator(0, 65535, this));
|
this->ui->le_DBusServerPort->setValidator(new QIntValidator(0, 65535, this));
|
||||||
|
|
||||||
// QTimer::singleShot(5000, this, &CSwiftLauncher::ps_loadedSetup); //deferred init of setup
|
// default from settings
|
||||||
|
this->ui->cb_DBusServerAddress->setCurrentText(this->m_dbusServerAddress.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
CSwiftLauncher::~CSwiftLauncher()
|
CSwiftLauncher::~CSwiftLauncher()
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
#include "blackcore/data/globalsetup.h"
|
#include "blackcore/data/globalsetup.h"
|
||||||
#include "blackcore/data/updateinfo.h"
|
#include "blackcore/data/updateinfo.h"
|
||||||
|
#include "blackcore/settings/network.h"
|
||||||
#include "blackgui/enableforframelesswindow.h"
|
#include "blackgui/enableforframelesswindow.h"
|
||||||
#include "blackgui/overlaymessagesframe.h"
|
#include "blackgui/overlaymessagesframe.h"
|
||||||
#include "swiftguistandard/guimodeenums.h"
|
#include "swiftguistandard/guimodeenums.h"
|
||||||
@@ -59,10 +60,11 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CSwiftLauncher> ui;
|
QScopedPointer<Ui::CSwiftLauncher> ui;
|
||||||
BlackCore::CData<BlackCore::Data::GlobalSetup> m_setup { this, &CSwiftLauncher::ps_changedCache }; //!< setup cache
|
BlackCore::CData<BlackCore::Data::GlobalSetup> m_setup { this, &CSwiftLauncher::ps_changedCache }; //!< setup cache
|
||||||
BlackCore::CData<BlackCore::Data::UpdateInfo> m_updateInfo { this, &CSwiftLauncher::ps_changedCache }; //!< version cache
|
BlackCore::CData<BlackCore::Data::UpdateInfo> m_updateInfo { this, &CSwiftLauncher::ps_changedCache }; //!< version cache
|
||||||
QString m_executable;
|
QString m_executable;
|
||||||
QStringList m_executableArgs;
|
QStringList m_executableArgs;
|
||||||
|
BlackCore::CSetting<BlackCore::Settings::Network::DBusServerAddress> m_dbusServerAddress { this };
|
||||||
|
|
||||||
//! Get core mode
|
//! Get core mode
|
||||||
GuiModes::CoreMode getCoreMode() const;
|
GuiModes::CoreMode getCoreMode() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user