Ref T681, UI to set CG from DB plus settings improvements for simulator settings

This commit is contained in:
Klaus Basan
2019-06-10 02:40:35 +02:00
committed by Mat Sutcliffe
parent a447c054ca
commit b7fd1fa777
7 changed files with 545 additions and 273 deletions

View File

@@ -0,0 +1,55 @@
/* Copyright (C) 2019
* 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. 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.
*/
#include "cgsourceselector.h"
#include "ui_cgsourceselector.h"
using namespace BlackMisc::Simulation::Settings;
namespace BlackGui
{
namespace Components
{
CCGSourceSelector::CCGSourceSelector(QWidget *parent) :
QFrame(parent),
ui(new Ui::CCGSourceSelector)
{
ui->setupUi(this);
this->initComboBox();
}
CCGSourceSelector::~CCGSourceSelector()
{ }
CSimulatorSettings::CGSource CCGSourceSelector::getValue() const
{
const int d = ui->cb_CGSourceSelector->currentData().toInt();
return static_cast<CSimulatorSettings::CGSource>(d);
}
void CCGSourceSelector::setValue(const CSimulatorSettings &settings)
{
this->setValue(settings.getCGSource());
}
void CCGSourceSelector::setValue(CSimulatorSettings::CGSource source)
{
ui->cb_CGSourceSelector->setCurrentText(CSimulatorSettings::cgSourceAsString(source));
}
void CCGSourceSelector::initComboBox()
{
ui->cb_CGSourceSelector->clear();
ui->cb_CGSourceSelector->addItem(CSimulatorSettings::cgSourceAsString(CSimulatorSettings::CGFromSimulatorFirst), CSimulatorSettings::CGFromSimulatorFirst);
ui->cb_CGSourceSelector->addItem(CSimulatorSettings::cgSourceAsString(CSimulatorSettings::CGFromDBFirst), CSimulatorSettings::CGFromDBFirst);
ui->cb_CGSourceSelector->addItem(CSimulatorSettings::cgSourceAsString(CSimulatorSettings::CGFromSimulatorOnly), CSimulatorSettings::CGFromSimulatorOnly);
ui->cb_CGSourceSelector->addItem(CSimulatorSettings::cgSourceAsString(CSimulatorSettings::CGFromDBOnly), CSimulatorSettings::CGFromDBOnly);
this->setValue(CSimulatorSettings::CGFromSimulatorFirst);
}
} // ns
} // ns

View File

@@ -0,0 +1,50 @@
/* Copyright (C) 2013
* 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. 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 BLACKGUI_COMPONENTS_CGSOURCESELECTOR_H
#define BLACKGUI_COMPONENTS_CGSOURCESELECTOR_H
#include "blackmisc/simulation/settings/simulatorsettings.h"
#include <QFrame>
#include <QScopedPointer>
namespace Ui { class CCGSourceSelector; }
namespace BlackGui
{
namespace Components
{
//! CG (aka vertical offset) selector
class CCGSourceSelector : public QFrame
{
Q_OBJECT
public:
//! Ctor
explicit CCGSourceSelector(QWidget *parent = nullptr);
//! Dtor
virtual ~CCGSourceSelector() override;
//! Get/set value @{
BlackMisc::Simulation::Settings::CSimulatorSettings::CGSource getValue() const;
void setValue(const BlackMisc::Simulation::Settings::CSimulatorSettings &settings);
void setValue(BlackMisc::Simulation::Settings::CSimulatorSettings::CGSource source);
//! @}
private:
//! Init the combobox
void initComboBox();
QScopedPointer<Ui::CCGSourceSelector> ui;
};
} // ns
} // ns
#endif // guard

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CCGSourceSelector</class>
<widget class="QFrame" name="CCGSourceSelector">
<property name="windowTitle">
<string>CG selector</string>
</property>
<layout class="QVBoxLayout" name="vl_CGSourceSelector">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QComboBox" name="cb_CGSourceSelector">
<item>
<property name="text">
<string>Simulator first</string>
</property>
</item>
<item>
<property name="text">
<string>DB first</string>
</property>
</item>
<item>
<property name="text">
<string>Simulator only</string>
</property>
</item>
<item>
<property name="text">
<string>DB only</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -2,11 +2,19 @@
<ui version="4.0">
<class>CSettingsComponent</class>
<widget class="QTabWidget" name="CSettingsComponent">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>211</width>
<height>378</height>
</rect>
</property>
<property name="windowTitle">
<string>Settings</string>
</property>
<property name="currentIndex">
<number>0</number>
<number>7</number>
</property>
<widget class="QWidget" name="tb_SettingsOverview">
<attribute name="title">
@@ -479,7 +487,7 @@
<property name="bottomMargin">
<number>1</number>
</property>
<item alignment="Qt::AlignTop">
<item>
<widget class="BlackGui::Components::CSettingsSimulatorComponent" name="comp_SettingsSimulator">
<property name="minimumSize">
<size>

View File

@@ -18,11 +18,11 @@
#include "blackgui/pluginselector.h"
#include "blackmisc/simulation/simulatorplugininfo.h"
#include "blackmisc/simulation/simulatorplugininfolist.h"
#include "blackmisc/iterator.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/pq/length.h"
#include "blackmisc/pq/time.h"
#include "blackmisc/pq/units.h"
#include "blackmisc/iterator.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/statusmessage.h"
#include "blackmisc/verify.h"
#include "ui_settingssimulatorcomponent.h"
@@ -74,9 +74,11 @@ namespace BlackGui
connect(ui->pluginSelector_EnabledSimulators, &CPluginSelector::pluginConfigRequested, this, &CSettingsSimulatorComponent::showPluginConfig);
connect(ui->pb_ApplyMaxAircraft, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyMaxRenderedAircraft, Qt::QueuedConnection);
connect(ui->pb_ApplyTimeSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyTimeSync, Qt::QueuedConnection);
connect(ui->pb_ApplyTimeSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyTimeSync, Qt::QueuedConnection);
connect(ui->pb_ApplyMaxDistance, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyMaxRenderedDistance, Qt::QueuedConnection);
connect(ui->pb_ApplyComSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyComSync, Qt::QueuedConnection);
connect(ui->pb_ApplyCGSource, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyCGSource, Qt::QueuedConnection);
connect(ui->pb_ApplyRecordOwnAircraftGnd, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyRecordGnd, Qt::QueuedConnection);
connect(ui->pb_ClearRestrictedRendering, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::clearRestricedRendering);
connect(ui->pb_DisableRendering, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyDisableRendering);
@@ -120,6 +122,13 @@ namespace BlackGui
ui->pb_ApplyComSync->setEnabled(m_pluginLoaded);
ui->cb_ComSync->setEnabled(m_pluginLoaded);
// CG
ui->comp_CGSourceSelector->setEnabled(m_pluginLoaded);
// record GND
ui->pb_ApplyRecordOwnAircraftGnd->setEnabled(m_pluginLoaded);
ui->cb_RecordOwnGndPositions->setEnabled(m_pluginLoaded);
// led
ui->led_RestrictedRendering->setOn(m_pluginLoaded ? setup.isRenderingRestricted() : false);
ui->lbl_RestrictionText->setText(m_pluginLoaded ? setup.getRenderRestrictionText() : "");
@@ -131,6 +140,7 @@ namespace BlackGui
ui->pb_ClearRestrictedRendering->setEnabled((m_pluginLoaded));
ui->pb_DisableRendering->setEnabled(m_pluginLoaded);
ui->pb_Check->setEnabled(!m_pluginLoaded);
ui->pb_ApplyCGSource->setEnabled(m_pluginLoaded);
if (m_pluginLoaded)
{
@@ -144,6 +154,9 @@ namespace BlackGui
const CSimulatorSettings settings = sim->getSimulatorSettings();
ui->cb_ComSync->setChecked(settings.isComIntegrated());
// CG
ui->comp_CGSourceSelector->setValue(settings);
// rendering
const int maxAircraft = setup.getMaxRenderedAircraft();
ui->le_MaxAircraft->setText(setup.isMaxAircraftRestricted() ? QString::number(maxAircraft) : "");
@@ -278,19 +291,51 @@ namespace BlackGui
}
}
void CSettingsSimulatorComponent::onApplyComSync()
CSimulatorSettings CSettingsSimulatorComponent::getSimulatorSettings(bool &ok)
{
ok = false;
if (!sGui || sGui->isShuttingDown() || !sGui->getIContextSimulator()) { return {}; }
const IContextSimulator *sim = sGui->getIContextSimulator();
const CSimulatorInfo simulator = sim->getSimulatorPluginInfo().getSimulatorInfo();
if (!simulator.isSingleSimulator()) { return {}; }
ok = true;
const CSimulatorSettings settings = sim->getSimulatorSettings();
return settings;
}
void CSettingsSimulatorComponent::setSimulatorSettings(CSimulatorSettings &settings)
{
if (!sGui || sGui->isShuttingDown() || !sGui->getIContextSimulator()) { return; }
IContextSimulator *sim = sGui->getIContextSimulator();
const CSimulatorInfo simulator = sim->getSimulatorPluginInfo().getSimulatorInfo();
if (!simulator.isSingleSimulator()) { return; }
CSimulatorSettings settings = sim->getSimulatorSettings();
if (settings.isComIntegrated() == ui->cb_ComSync->isChecked()) { return; }
settings.setComIntegrated(ui->cb_ComSync->isChecked());
sim->setSimulatorSettings(settings, simulator);
}
void CSettingsSimulatorComponent::onApplyComSync()
{
bool ok = false;
CSimulatorSettings settings = getSimulatorSettings(ok);
if (!ok || !settings.setComIntegrated(ui->cb_ComSync->isChecked())) { return; }
setSimulatorSettings(settings);
}
void CSettingsSimulatorComponent::onApplyCGSource()
{
bool ok = false;
const CSimulatorSettings::CGSource source = ui->comp_CGSourceSelector->getValue();
CSimulatorSettings settings = getSimulatorSettings(ok);
if (!ok || !settings.setCGSource(source)) { return; }
setSimulatorSettings(settings);
}
void CSettingsSimulatorComponent::onApplyRecordGnd()
{
bool ok = false;
CSimulatorSettings settings = getSimulatorSettings(ok);
if (!ok || !settings.setRecordOwnAircraftGnd(ui->cb_RecordOwnGndPositions->isChecked())) { return; }
setSimulatorSettings(settings);
}
void CSettingsSimulatorComponent::clearRestricedRendering()
{
if (!sGui || sGui->isShuttingDown() || !sGui->getIContextSimulator()) { return; }

View File

@@ -13,8 +13,9 @@
#include "blackcore/application/applicationsettings.h"
#include "blackgui/blackguiexport.h"
#include "blackmisc/settingscache.h"
#include "blackmisc/simulation/settings/simulatorsettings.h"
#include "blackmisc/simulation/simulatorplugininfolist.h"
#include "blackmisc/settingscache.h"
#include <QFrame>
#include <QObject>
@@ -59,6 +60,12 @@ namespace BlackGui
//! Apply COM sync
void onApplyComSync();
//! Apply CG source
void onApplyCGSource();
//! Record GND
void onApplyRecordGnd();
//! Clear restricted rendering
void clearRestricedRendering();
@@ -83,6 +90,12 @@ namespace BlackGui
//! Available plugins, auto pseudo plugin added
BlackMisc::Simulation::CSimulatorPluginInfoList getAvailablePlugins() const;
//! Get the simulator settings
static BlackMisc::Simulation::Settings::CSimulatorSettings getSimulatorSettings(bool &ok);
//! Get the simulator settings
static void setSimulatorSettings(BlackMisc::Simulation::Settings::CSimulatorSettings &settings);
QScopedPointer<Ui::CSettingsSimulatorComponent> ui; //!< UI
bool m_pluginLoaded = false; //!< plugin loaded?
BlackCore::CPluginManagerSimulator *m_plugins = nullptr;

View File

@@ -2,10 +2,18 @@
<ui version="4.0">
<class>CSettingsSimulatorComponent</class>
<widget class="QFrame" name="CSettingsSimulatorComponent">
<property name="windowTitle">
<string>Frame</string>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>352</width>
<height>343</height>
</rect>
</property>
<layout class="QGridLayout" name="gl_SettingsSimulator" columnstretch="0,3,1" columnminimumwidth="0,0,60">
<property name="windowTitle">
<string>Simulator settings</string>
</property>
<layout class="QGridLayout" name="gl_SettingsSimulator" columnstretch="0,0,0">
<property name="leftMargin">
<number>2</number>
</property>
@@ -18,58 +26,7 @@
<property name="bottomMargin">
<number>2</number>
</property>
<item row="8" column="1">
<layout class="QHBoxLayout" name="hl_RestrictedRendering">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="BlackGui::CLedWidget" name="led_RestrictedRendering" native="true"/>
</item>
<item alignment="Qt::AlignLeft">
<widget class="QLabel" name="lbl_RestrictionText">
<property name="text">
<string>restriction info</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="9" column="1">
<layout class="QHBoxLayout" name="hl_MaxAircraft">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="QLineEdit" name="le_MaxAircraft">
<property name="placeholderText">
<string>no restrictions</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="8" column="0">
<widget class="QLabel" name="lbl_RestrictedRendering">
<property name="toolTip">
<string>Current rendering restrictions (if any)</string>
</property>
<property name="text">
<string>Restrictions</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="BlackGui::CLedWidget" name="led_RenderingEnabled" native="true">
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<item row="1" column="0" colspan="2">
<widget class="QLabel" name="lbl_PluginInfo">
<property name="text">
<string>Simulator info will go here</string>
@@ -79,213 +36,17 @@
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="lbl_TimeSync">
<property name="toolTip">
<string>Time synchronization</string>
</property>
<property name="text">
<string>Time synch.</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QWidget" name="wi_TimeSync" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="cb_TimeSync">
<property name="toolTip">
<string>Enable time syncronization</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="le_TimeSyncOffset">
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>offset +/-hh:mm</string>
</property>
<property name="inputMask">
<string>#99:99</string>
</property>
<property name="text">
<string>+00:00</string>
</property>
<property name="maxLength">
<number>6</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="9" column="2">
<widget class="QPushButton" name="pb_ApplyMaxAircraft">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="lbl_RenderingEnabled">
<property name="toolTip">
<string>Rendering enabled</string>
</property>
<property name="text">
<string>Rendering enabled</string>
</property>
</widget>
</item>
<item row="10" column="2">
<widget class="QPushButton" name="pb_ApplyMaxDistance">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="lbl_MaxDistance">
<property name="text">
<string>Max.dist.(NM)</string>
</property>
</widget>
</item>
<item row="8" column="2">
<widget class="QPushButton" name="pb_ClearRestrictedRendering">
<property name="text">
<string>clear</string>
</property>
</widget>
</item>
<item row="10" column="1">
<layout class="QHBoxLayout" name="hl_MaxDistance">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="QLineEdit" name="le_MaxDistance">
<property name="placeholderText">
<string>no restrictions</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="pb_ApplyTimeSync">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="BlackGui::CPluginSelector" name="pluginSelector_EnabledSimulators" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
<height>40</height>
</size>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="cb_ComSync">
<property name="text">
<string>use COM sync.</string>
</property>
</widget>
</item>
<item row="3" column="1">
<spacer name="vs_Top">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lbl_LoadedPlugin">
<property name="text">
<string>Loaded</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="lbl_MaxAircraft">
<property name="text">
<string>Max.aircraft</string>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QPushButton" name="pb_DisableRendering">
<property name="text">
<string>disable</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="pb_ApplyComSync">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="lb_ComSync">
<property name="toolTip">
<string>Synchronize COM unit with simulator</string>
</property>
<property name="text">
<string>COM synch.</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="3" alignment="Qt::AlignRight">
<item row="1" column="2">
<widget class="QPushButton" name="pb_Check">
<property name="minimumSize">
<size>
@@ -298,6 +59,299 @@
</property>
</widget>
</item>
<item row="3" column="0" colspan="3">
<widget class="QScrollArea" name="sa_Settings">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="wi_Settings">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>346</width>
<height>269</height>
</rect>
</property>
<layout class="QGridLayout" name="gl_SimulatorSettings" columnstretch="0,10,3">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="7" column="2">
<widget class="QPushButton" name="pb_ApplyMaxDistance">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="pb_ApplyTimeSync">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pb_ApplyCGSource">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="pb_ApplyMaxAircraft">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="BlackGui::CLedWidget" name="led_RenderingEnabled" native="true">
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="lbl_RestrictedRendering">
<property name="toolTip">
<string>Current rendering restrictions (if any)</string>
</property>
<property name="text">
<string>Restrictions</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="lbl_RecordOwnGndPositions">
<property name="text">
<string>Record gnd.</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="lbl_MaxDistance">
<property name="text">
<string>Max.dist.(NM)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="BlackGui::Components::CCGSourceSelector" name="comp_CGSourceSelector"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lbl_CGSource">
<property name="text">
<string>CG (vert offset):</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="cb_RecordOwnGndPositions">
<property name="text">
<string>record own gnd positions</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="pb_DisableRendering">
<property name="text">
<string>disable</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="cb_ComSync">
<property name="text">
<string>use COM sync.</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="pb_ApplyComSync">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QWidget" name="wi_TimeSync" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="cb_TimeSync">
<property name="toolTip">
<string>Enable time syncronization</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="le_TimeSyncOffset">
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>offset +/-hh:mm</string>
</property>
<property name="inputMask">
<string>#99:99</string>
</property>
<property name="text">
<string>+00:00</string>
</property>
<property name="maxLength">
<number>6</number>
</property>
</widget>
</item>
<item>
<spacer name="hs_TimeSync">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="pb_ClearRestrictedRendering">
<property name="text">
<string>clear</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lbl_TimeSync">
<property name="toolTip">
<string>Time synchronization</string>
</property>
<property name="text">
<string>Time synch.</string>
</property>
</widget>
</item>
<item row="5" column="1">
<layout class="QHBoxLayout" name="hl_RestrictedRendering">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="BlackGui::CLedWidget" name="led_RestrictedRendering" native="true"/>
</item>
<item alignment="Qt::AlignLeft">
<widget class="QLabel" name="lbl_RestrictionText">
<property name="text">
<string>restriction info</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="6" column="0">
<widget class="QLabel" name="lbl_MaxAircraft">
<property name="text">
<string>Max.aircraft</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lbl_ComSync">
<property name="toolTip">
<string>Synchronize COM unit with simulator</string>
</property>
<property name="text">
<string>COM synch.</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="pb_ApplyRecordOwnAircraftGnd">
<property name="text">
<string>apply</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lbl_RenderingEnabled">
<property name="toolTip">
<string>Rendering enabled</string>
</property>
<property name="text">
<string>Rendering enabled</string>
</property>
</widget>
</item>
<item row="6" column="1">
<layout class="QHBoxLayout" name="hl_MaxAircraft">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="QLineEdit" name="le_MaxAircraft">
<property name="placeholderText">
<string>no restrictions</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="1">
<layout class="QHBoxLayout" name="hl_MaxDistance">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="QLineEdit" name="le_MaxDistance">
<property name="placeholderText">
<string>no restrictions</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
@@ -313,20 +367,18 @@
<header>blackgui/pluginselector.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>BlackGui::Components::CCGSourceSelector</class>
<extends>QFrame</extends>
<header>blackgui/components/cgsourceselector.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>pb_Check</tabstop>
<tabstop>cb_TimeSync</tabstop>
<tabstop>le_TimeSyncOffset</tabstop>
<tabstop>pb_ApplyTimeSync</tabstop>
<tabstop>cb_ComSync</tabstop>
<tabstop>pb_ApplyComSync</tabstop>
<tabstop>pb_DisableRendering</tabstop>
<tabstop>pb_ClearRestrictedRendering</tabstop>
<tabstop>le_MaxAircraft</tabstop>
<tabstop>pb_ApplyMaxAircraft</tabstop>
<tabstop>le_MaxDistance</tabstop>
<tabstop>pb_ApplyMaxDistance</tabstop>
</tabstops>
<resources/>
<connections/>