mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-15 01:05:35 +08:00
refs #227, changes for user component in GUI
This commit is contained in:
@@ -30,7 +30,7 @@ MainWindow::MainWindow(GuiModes::WindowMode windowMode, QWidget *parent) :
|
|||||||
m_coreAvailable(false), m_contextNetworkAvailable(false), m_contextAudioAvailable(false),
|
m_coreAvailable(false), m_contextNetworkAvailable(false), m_contextAudioAvailable(false),
|
||||||
|
|
||||||
// timers
|
// timers
|
||||||
m_timerUpdateAtcStationsOnline(nullptr), m_timerUpdateAircraftsInRange(nullptr), m_timerUpdateUsers(nullptr),
|
m_timerUpdateAtcStationsOnline(nullptr), m_timerUpdateAircraftsInRange(nullptr),
|
||||||
m_timerCollectedCockpitUpdates(nullptr), m_timerContextWatchdog(nullptr),
|
m_timerCollectedCockpitUpdates(nullptr), m_timerContextWatchdog(nullptr),
|
||||||
m_timerStatusBar(nullptr), m_timerAudioTests(nullptr), m_timerSimulator(nullptr),
|
m_timerStatusBar(nullptr), m_timerAudioTests(nullptr), m_timerSimulator(nullptr),
|
||||||
// context menus
|
// context menus
|
||||||
@@ -334,12 +334,6 @@ void MainWindow::timerBasedUpdates()
|
|||||||
this->m_timerUpdateAircraftsInRange->start(t);
|
this->m_timerUpdateAircraftsInRange->start(t);
|
||||||
this->reloadAircraftsInRange();
|
this->reloadAircraftsInRange();
|
||||||
}
|
}
|
||||||
else if (sender == this->m_timerUpdateUsers)
|
|
||||||
{
|
|
||||||
int t = this->ui->hs_SettingsGuiUserRefreshTime->value() * 1000;
|
|
||||||
this->m_timerUpdateUsers->start(t);
|
|
||||||
this->reloadAllUsers();
|
|
||||||
}
|
|
||||||
else if (sender == this->m_timerContextWatchdog)
|
else if (sender == this->m_timerContextWatchdog)
|
||||||
{
|
{
|
||||||
this->setContextAvailability();
|
this->setContextAvailability();
|
||||||
@@ -485,15 +479,6 @@ void MainWindow::displayOverlayInfo(const CStatusMessage &message)
|
|||||||
// further code goes here, such as marking errors as red ...
|
// further code goes here, such as marking errors as red ...
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Read users
|
|
||||||
*/
|
|
||||||
void MainWindow::reloadAllUsers()
|
|
||||||
{
|
|
||||||
if (!this->isContextNetworkAvailableCheck()) return;
|
|
||||||
this->ui->tvp_AllUsers->update(this->getIContextNetwork()->getUsers());
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::updateSimulatorData()
|
void MainWindow::updateSimulatorData()
|
||||||
{
|
{
|
||||||
if (this->getIContextSimulator()->isConnected())
|
if (this->getIContextSimulator()->isConnected())
|
||||||
|
|||||||
@@ -104,7 +104,6 @@ private:
|
|||||||
BlackMisc::Aviation::CAircraft m_ownAircraft; /*!< own aircraft's state */
|
BlackMisc::Aviation::CAircraft m_ownAircraft; /*!< own aircraft's state */
|
||||||
QTimer *m_timerUpdateAtcStationsOnline; /*!< timer for update of stations */
|
QTimer *m_timerUpdateAtcStationsOnline; /*!< timer for update of stations */
|
||||||
QTimer *m_timerUpdateAircraftsInRange; /*!< timer for update of aircrafts */
|
QTimer *m_timerUpdateAircraftsInRange; /*!< timer for update of aircrafts */
|
||||||
QTimer *m_timerUpdateUsers; /*!< timer for update of users */
|
|
||||||
QTimer *m_timerCollectedCockpitUpdates; /*!< collect cockpit updates over a short period before sending */
|
QTimer *m_timerCollectedCockpitUpdates; /*!< collect cockpit updates over a short period before sending */
|
||||||
QTimer *m_timerContextWatchdog; /*!< core available? */
|
QTimer *m_timerContextWatchdog; /*!< core available? */
|
||||||
QTimer *m_timerStatusBar; /*!< cleaning up status bar */
|
QTimer *m_timerStatusBar; /*!< cleaning up status bar */
|
||||||
@@ -265,9 +264,6 @@ private slots:
|
|||||||
//! Reload aircrafts in range
|
//! Reload aircrafts in range
|
||||||
void reloadAircraftsInRange();
|
void reloadAircraftsInRange();
|
||||||
|
|
||||||
//! Reload all (online) users
|
|
||||||
void reloadAllUsers();
|
|
||||||
|
|
||||||
//! Reload own aircraft
|
//! Reload own aircraft
|
||||||
bool reloadOwnAircraft();
|
bool reloadOwnAircraft();
|
||||||
|
|
||||||
|
|||||||
@@ -1039,17 +1039,7 @@ QStatusBar QLabel {
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="BlackGui::CUserView" name="tvp_AllUsers">
|
<widget class="BlackGui::CUserComponent" name="twp_Users"/>
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::SingleSelection</enum>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -1803,7 +1793,7 @@ QStatusBar QLabel {
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tw_Settings">
|
<widget class="QTabWidget" name="tw_Settings">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>3</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tb_SettingsTrafficNetwork">
|
<widget class="QWidget" name="tb_SettingsTrafficNetwork">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
@@ -2028,38 +2018,49 @@ QStatusBar QLabel {
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="lbl_SettingsIcaoTypeDesignator">
|
<widget class="QLabel" name="lbl_SettingsIcaoAircraftDesignator">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>ICAO type (e.g. A320)</string>
|
<string>ICAO type (e.g. A320)</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLineEdit" name="le_SettingsIcaoTypeDesignator">
|
<widget class="QLineEdit" name="le_SettingsIcaoAircraftDesignator">
|
||||||
<property name="inputMethodHints">
|
<property name="inputMethodHints">
|
||||||
<set>Qt::ImhUppercaseOnly</set>
|
<set>Qt::ImhUppercaseOnly</set>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>C172</string>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="lbl_SettingsIcaoAirline">
|
<widget class="QLabel" name="lbl_SettingsIcaoAirlineDesignator">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>ICAO airline (e.g.DLH)</string>
|
<string>ICAO airline (e.g.DLH)</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QLineEdit" name="le_SettingsIcaoAirline"/>
|
<widget class="QLineEdit" name="le_SettingsIcaoAirlineDesignator">
|
||||||
|
<property name="text">
|
||||||
|
<string>SGN</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="lbl_SettingsIcaoType">
|
<widget class="QLabel" name="lbl_SettingsIcaoCombinedType">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Aircraft type (e.g. L2J)</string>
|
<string>Aircraft type (e.g. L2J)</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QLineEdit" name="le_SettingsIcaoType"/>
|
<widget class="QLineEdit" name="le_SettingsIcaoCombinedType">
|
||||||
|
<property name="text">
|
||||||
|
<string>L1P</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="lbl_SettingsModes">
|
<widget class="QLabel" name="lbl_SettingsModes">
|
||||||
@@ -3162,6 +3163,11 @@ QStatusBar QLabel {
|
|||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>BlackGui::CUserView</class>
|
||||||
|
<extends>QTableView</extends>
|
||||||
|
<header>blackgui/userview.h</header>
|
||||||
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>BlackGui::CTransponderModeSelector</class>
|
<class>BlackGui::CTransponderModeSelector</class>
|
||||||
<extends>QComboBox</extends>
|
<extends>QComboBox</extends>
|
||||||
@@ -3177,11 +3183,6 @@ QStatusBar QLabel {
|
|||||||
<extends>QTableView</extends>
|
<extends>QTableView</extends>
|
||||||
<header>blackgui/atcstationview.h</header>
|
<header>blackgui/atcstationview.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
|
||||||
<class>BlackGui::CUserView</class>
|
|
||||||
<extends>QTableView</extends>
|
|
||||||
<header>blackgui/userview.h</header>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>BlackGui::CAircraftView</class>
|
<class>BlackGui::CAircraftView</class>
|
||||||
<extends>QTableView</extends>
|
<extends>QTableView</extends>
|
||||||
@@ -3209,6 +3210,12 @@ QStatusBar QLabel {
|
|||||||
<header>blackgui/settingsfsxcomponent.h</header>
|
<header>blackgui/settingsfsxcomponent.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>BlackGui::CUserComponent</class>
|
||||||
|
<extends>QTabWidget</extends>
|
||||||
|
<header>blackgui/usercomponent.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>cb_StatusWithDBus</tabstop>
|
<tabstop>cb_StatusWithDBus</tabstop>
|
||||||
@@ -3225,7 +3232,6 @@ QStatusBar QLabel {
|
|||||||
<tabstop>tvp_AtcStationsBooked</tabstop>
|
<tabstop>tvp_AtcStationsBooked</tabstop>
|
||||||
<tabstop>pb_ReloadAtcStationsBooked</tabstop>
|
<tabstop>pb_ReloadAtcStationsBooked</tabstop>
|
||||||
<tabstop>tvp_AircraftsInRange</tabstop>
|
<tabstop>tvp_AircraftsInRange</tabstop>
|
||||||
<tabstop>tvp_AllUsers</tabstop>
|
|
||||||
<tabstop>pb_CockpitToggleCom1</tabstop>
|
<tabstop>pb_CockpitToggleCom1</tabstop>
|
||||||
<tabstop>ds_CockpitCom1Active</tabstop>
|
<tabstop>ds_CockpitCom1Active</tabstop>
|
||||||
<tabstop>ds_CockpitCom1Standby</tabstop>
|
<tabstop>ds_CockpitCom1Standby</tabstop>
|
||||||
@@ -3263,9 +3269,9 @@ QStatusBar QLabel {
|
|||||||
<tabstop>pb_SettingsTnRemoveServer</tabstop>
|
<tabstop>pb_SettingsTnRemoveServer</tabstop>
|
||||||
<tabstop>pb_SettingsTnCurrentServer</tabstop>
|
<tabstop>pb_SettingsTnCurrentServer</tabstop>
|
||||||
<tabstop>le_SettingsAircraftCallsign</tabstop>
|
<tabstop>le_SettingsAircraftCallsign</tabstop>
|
||||||
<tabstop>le_SettingsIcaoTypeDesignator</tabstop>
|
<tabstop>le_SettingsIcaoAircraftDesignator</tabstop>
|
||||||
<tabstop>le_SettingsIcaoAirline</tabstop>
|
<tabstop>le_SettingsIcaoAirlineDesignator</tabstop>
|
||||||
<tabstop>le_SettingsIcaoType</tabstop>
|
<tabstop>le_SettingsIcaoCombinedType</tabstop>
|
||||||
<tabstop>cb_SettingsAudioInputDevice</tabstop>
|
<tabstop>cb_SettingsAudioInputDevice</tabstop>
|
||||||
<tabstop>cb_SettingsAudioOutputDevice</tabstop>
|
<tabstop>cb_SettingsAudioOutputDevice</tabstop>
|
||||||
<tabstop>hs_SettingsGuiOpacity</tabstop>
|
<tabstop>hs_SettingsGuiOpacity</tabstop>
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ void MainWindow::init(const CRuntimeConfig &runtimeConfig)
|
|||||||
// timers
|
// timers
|
||||||
if (this->m_timerUpdateAircraftsInRange == nullptr) this->m_timerUpdateAircraftsInRange = new QTimer(this);
|
if (this->m_timerUpdateAircraftsInRange == nullptr) this->m_timerUpdateAircraftsInRange = new QTimer(this);
|
||||||
if (this->m_timerUpdateAtcStationsOnline == nullptr) this->m_timerUpdateAtcStationsOnline = new QTimer(this);
|
if (this->m_timerUpdateAtcStationsOnline == nullptr) this->m_timerUpdateAtcStationsOnline = new QTimer(this);
|
||||||
if (this->m_timerUpdateUsers == nullptr) this->m_timerUpdateUsers = new QTimer(this);
|
|
||||||
if (this->m_timerContextWatchdog == nullptr) this->m_timerContextWatchdog = new QTimer(this);
|
if (this->m_timerContextWatchdog == nullptr) this->m_timerContextWatchdog = new QTimer(this);
|
||||||
if (this->m_timerCollectedCockpitUpdates == nullptr) this->m_timerCollectedCockpitUpdates = new QTimer(this);
|
if (this->m_timerCollectedCockpitUpdates == nullptr) this->m_timerCollectedCockpitUpdates = new QTimer(this);
|
||||||
if (this->m_timerAudioTests == nullptr) this->m_timerAudioTests = new QTimer(this);
|
if (this->m_timerAudioTests == nullptr) this->m_timerAudioTests = new QTimer(this);
|
||||||
@@ -119,12 +118,15 @@ void MainWindow::init(const CRuntimeConfig &runtimeConfig)
|
|||||||
this->connect(this->getIContextSimulator(), &IContextSimulator::connectionChanged, this, &MainWindow::simulatorConnectionChanged);
|
this->connect(this->getIContextSimulator(), &IContextSimulator::connectionChanged, this, &MainWindow::simulatorConnectionChanged);
|
||||||
this->connect(this->m_timerUpdateAircraftsInRange, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
this->connect(this->m_timerUpdateAircraftsInRange, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
||||||
this->connect(this->m_timerUpdateAtcStationsOnline, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
this->connect(this->m_timerUpdateAtcStationsOnline, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
||||||
this->connect(this->m_timerUpdateUsers, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
|
||||||
this->connect(this->m_timerContextWatchdog, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
this->connect(this->m_timerContextWatchdog, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
||||||
this->connect(this->m_timerCollectedCockpitUpdates, &QTimer::timeout, this, &MainWindow::sendCockpitUpdates);
|
this->connect(this->m_timerCollectedCockpitUpdates, &QTimer::timeout, this, &MainWindow::sendCockpitUpdates);
|
||||||
this->connect(this->m_timerAudioTests, &QTimer::timeout, this, &MainWindow::audioTestUpdate);
|
this->connect(this->m_timerAudioTests, &QTimer::timeout, this, &MainWindow::audioTestUpdate);
|
||||||
this->connect(this->m_timerSimulator, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
this->connect(this->m_timerSimulator, &QTimer::timeout, this, &MainWindow::timerBasedUpdates);
|
||||||
connect = this->connect(this->getIContextAudio(), &IContextAudio::audioTestCompleted, this, &MainWindow::audioTestUpdate);
|
connect = this->connect(this->getIContextAudio(), &IContextAudio::audioTestCompleted, this, &MainWindow::audioTestUpdate);
|
||||||
|
|
||||||
|
// sliders
|
||||||
|
this->connect(this->ui->hs_SettingsGuiUserRefreshTime, &QSlider::valueChanged, this->ui->twp_Users, &BlackGui::CUserComponent::setUpdateIntervalSeconds);
|
||||||
|
|
||||||
Q_ASSERT(connect);
|
Q_ASSERT(connect);
|
||||||
Q_UNUSED(connect); // suppress GCC warning in release build
|
Q_UNUSED(connect); // suppress GCC warning in release build
|
||||||
|
|
||||||
@@ -300,9 +302,9 @@ void MainWindow::initialDataReads()
|
|||||||
{
|
{
|
||||||
// connection is already established
|
// connection is already established
|
||||||
this->reloadAircraftsInRange();
|
this->reloadAircraftsInRange();
|
||||||
this->reloadAllUsers();
|
|
||||||
this->reloadAtcStationsOnline();
|
this->reloadAtcStationsOnline();
|
||||||
this->updateGuiStatusInformation();
|
this->updateGuiStatusInformation();
|
||||||
|
this->ui->twp_Users->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
this->displayStatusMessage(CStatusMessage(CStatusMessage::TypeGui, CStatusMessage::SeverityInfo, "initial data read"));
|
this->displayStatusMessage(CStatusMessage(CStatusMessage::TypeGui, CStatusMessage::SeverityInfo, "initial data read"));
|
||||||
@@ -315,7 +317,7 @@ void MainWindow::startUpdateTimers()
|
|||||||
{
|
{
|
||||||
this->m_timerUpdateAircraftsInRange->start(this->ui->hs_SettingsGuiAircraftRefreshTime->value() * 1000);
|
this->m_timerUpdateAircraftsInRange->start(this->ui->hs_SettingsGuiAircraftRefreshTime->value() * 1000);
|
||||||
this->m_timerUpdateAtcStationsOnline->start(this->ui->hs_SettingsGuiAtcRefreshTime->value() * 1000);
|
this->m_timerUpdateAtcStationsOnline->start(this->ui->hs_SettingsGuiAtcRefreshTime->value() * 1000);
|
||||||
this->m_timerUpdateUsers->start(this->ui->hs_SettingsGuiUserRefreshTime->value() * 1000);
|
this->ui->twp_Users->setUpdateIntervalSeconds(this->ui->hs_SettingsGuiUserRefreshTime->value());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -325,11 +327,10 @@ void MainWindow::stopUpdateTimers(bool disconnect)
|
|||||||
{
|
{
|
||||||
this->m_timerUpdateAircraftsInRange->stop();
|
this->m_timerUpdateAircraftsInRange->stop();
|
||||||
this->m_timerUpdateAtcStationsOnline->stop();
|
this->m_timerUpdateAtcStationsOnline->stop();
|
||||||
this->m_timerUpdateUsers->stop();
|
this->ui->twp_Users->setUpdateInterval(-1);
|
||||||
if (!disconnect) return;
|
if (!disconnect) return;
|
||||||
this->disconnect(this->m_timerUpdateAircraftsInRange);
|
this->disconnect(this->m_timerUpdateAircraftsInRange);
|
||||||
this->disconnect(this->m_timerUpdateAtcStationsOnline);
|
this->disconnect(this->m_timerUpdateAtcStationsOnline);
|
||||||
this->disconnect(this->m_timerUpdateUsers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::stopAllTimers(bool disconnect)
|
void MainWindow::stopAllTimers(bool disconnect)
|
||||||
|
|||||||
Reference in New Issue
Block a user