mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
refs #195, updated GUI with new specialized views
As a result, all models for TableViews are gone, as well as the context menu for status messages
This commit is contained in:
@@ -26,10 +26,6 @@ MainWindow::MainWindow(GuiModes::WindowMode windowMode, QWidget *parent) :
|
||||
ui(new Ui::MainWindow),
|
||||
m_infoWindow(nullptr),
|
||||
m_init(false), m_windowMode(windowMode), m_audioTestRunning(NoAudioTest),
|
||||
// table view models
|
||||
m_statusMessageList(nullptr),
|
||||
m_modelAtcListOnline(nullptr), m_modelAtcListBooked(nullptr), m_modelTrafficServerList(nullptr), m_modelAircraftsInRange(nullptr),
|
||||
m_modelAllUsers(nullptr), m_modelUsersVoiceCom1(nullptr), m_modelUsersVoiceCom2(nullptr), m_modelSettingsHotKeys(nullptr),
|
||||
// contexts and runtime
|
||||
m_coreAvailable(false), m_contextNetworkAvailable(false), m_contextAudioAvailable(false),
|
||||
|
||||
@@ -263,9 +259,7 @@ void MainWindow::displayStatusMessage(const CStatusMessage &statusMessage)
|
||||
this->m_statusBarLabel->setText(statusMessage.getMessage());
|
||||
|
||||
// list
|
||||
this->m_statusMessageList->insert(statusMessage);
|
||||
this->ui->tv_StatusMessages->resizeColumnsToContents();
|
||||
this->ui->tv_StatusMessages->resizeRowsToContents();
|
||||
this->ui->tvp_StatusMessages->insert(statusMessage);
|
||||
if (statusMessage.getSeverity() == CStatusMessage::SeverityError) this->displayOverlayInfo(statusMessage);
|
||||
}
|
||||
|
||||
@@ -388,7 +382,7 @@ void MainWindow::middlePanelChanged(int /* index */)
|
||||
|
||||
if (this->ui->sw_MainMiddle->currentWidget() == this->ui->pg_AircraftsInRange)
|
||||
{
|
||||
if (this->m_modelAircraftsInRange->rowCount() < 1)
|
||||
if (this->ui->tvp_AircraftsInRange->rowCount() < 1)
|
||||
this->reloadAircraftsInRange();
|
||||
}
|
||||
}
|
||||
@@ -500,10 +494,7 @@ void MainWindow::displayOverlayInfo(const CStatusMessage &message)
|
||||
void MainWindow::reloadAllUsers()
|
||||
{
|
||||
if (!this->isContextNetworkAvailableCheck()) return;
|
||||
this->m_modelAllUsers->update(this->m_rt->getIContextNetwork()->getUsers());
|
||||
this->ui->tv_AllUsers->resizeColumnsToContents();
|
||||
this->ui->tv_AllUsers->resizeRowsToContents();
|
||||
this->ui->tv_AllUsers->horizontalHeader()->setStretchLastSection(true);
|
||||
this->ui->tvp_AllUsers->update(this->m_rt->getIContextNetwork()->getUsers());
|
||||
}
|
||||
|
||||
void MainWindow::updateSimulatorData()
|
||||
|
||||
@@ -99,18 +99,6 @@ private:
|
||||
GuiModes::WindowMode m_windowMode;
|
||||
AudioTest m_audioTestRunning;
|
||||
|
||||
// the table view models
|
||||
// normal pointers, as these will be deleted by parent
|
||||
BlackGui::CStatusMessageListModel *m_statusMessageList;
|
||||
BlackGui::CAtcListModel *m_modelAtcListOnline;
|
||||
BlackGui::CAtcListModel *m_modelAtcListBooked;
|
||||
BlackGui::CServerListModel *m_modelTrafficServerList;
|
||||
BlackGui::CAircraftListModel *m_modelAircraftsInRange;
|
||||
BlackGui::CUserListModel *m_modelAllUsers;
|
||||
BlackGui::CUserListModel *m_modelUsersVoiceCom1;
|
||||
BlackGui::CUserListModel *m_modelUsersVoiceCom2;
|
||||
BlackGui::CKeyboardKeyListModel *m_modelSettingsHotKeys;
|
||||
|
||||
// contexts
|
||||
bool m_coreAvailable;
|
||||
bool m_contextNetworkAvailable;
|
||||
@@ -412,9 +400,6 @@ private slots:
|
||||
//! Context menu for audio
|
||||
void audioIconContextMenu(const QPoint &position);
|
||||
|
||||
//! Context menu for message list
|
||||
void messageListContextMenu(const QPoint &position);
|
||||
|
||||
//! Test SELCAL (code valid? play tone)
|
||||
void testSelcal();
|
||||
|
||||
|
||||
@@ -554,7 +554,7 @@ QStatusBar QLabel {
|
||||
<item>
|
||||
<widget class="QToolBox" name="tb_StatusPage">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="tabSpacing">
|
||||
<number>3</number>
|
||||
@@ -588,7 +588,7 @@ QStatusBar QLabel {
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_StatusMessages">
|
||||
<widget class="BlackGui::CStatusMessageView" name="tvp_StatusMessages">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
@@ -735,7 +735,7 @@ QStatusBar QLabel {
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_AtcStationsOnline">
|
||||
<widget class="BlackGui::CAtcStationView" name="tvp_AtcStationsOnline">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -945,7 +945,7 @@ QStatusBar QLabel {
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_AtcStationsBooked">
|
||||
<widget class="BlackGui::CAtcStationView" name="tvp_AtcStationsBooked">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
@@ -1006,7 +1006,7 @@ QStatusBar QLabel {
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_AircraftsInRange">
|
||||
<widget class="BlackGui::CAircraftView" name="tvp_AircraftsInRange">
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
@@ -1032,7 +1032,7 @@ QStatusBar QLabel {
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_AllUsers">
|
||||
<widget class="BlackGui::CUserView" name="tvp_AllUsers">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
@@ -1559,7 +1559,7 @@ QStatusBar QLabel {
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QTableView" name="tv_CockpitVoiceRoom1">
|
||||
<widget class="BlackGui::CUserView" name="tvp_CockpitVoiceRoom1">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
@@ -1572,7 +1572,7 @@ QStatusBar QLabel {
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QTableView" name="tv_CockpitVoiceRoom2">
|
||||
<widget class="BlackGui::CUserView" name="tvp_CockpitVoiceRoom2">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
@@ -1793,7 +1793,7 @@ QStatusBar QLabel {
|
||||
<item>
|
||||
<widget class="QTabWidget" name="Simulator">
|
||||
<property name="currentIndex">
|
||||
<number>3</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tb_SettingsTrafficNetwork">
|
||||
<attribute name="title">
|
||||
@@ -1816,7 +1816,7 @@ QStatusBar QLabel {
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_SettingsTnServers">
|
||||
<widget class="BlackGui::CServerView" name="tvp_SettingsTnServers">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
||||
</property>
|
||||
@@ -2546,7 +2546,7 @@ QStatusBar QLabel {
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTableView" name="tv_SettingsMiscHotkeys">
|
||||
<widget class="BlackGui::CKeyboardKeyView" name="tvp_SettingsMiscHotkeys">
|
||||
<property name="cornerButtonEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -3256,23 +3256,53 @@ QStatusBar QLabel {
|
||||
<extends>QComboBox</extends>
|
||||
<header>blackgui/transpondermodeselector.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::CStatusMessageView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/statusmessageview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::CAtcStationView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/atcstationview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::CUserView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/userview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::CAircraftView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/aircraftview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::CKeyboardKeyView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/keyboardkeyview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::CServerView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/serverview.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>cb_StatusWithDBus</tabstop>
|
||||
<tabstop>le_StatusNetworkContext</tabstop>
|
||||
<tabstop>le_StatusAudioContext</tabstop>
|
||||
<tabstop>tv_StatusMessages</tabstop>
|
||||
<tabstop>tvp_StatusMessages</tabstop>
|
||||
<tabstop>le_CommandLineInput</tabstop>
|
||||
<tabstop>tw_AtcStations</tabstop>
|
||||
<tabstop>tv_AtcStationsOnline</tabstop>
|
||||
<tabstop>tvp_AtcStationsOnline</tabstop>
|
||||
<tabstop>te_AtcStationsOnlineInfo</tabstop>
|
||||
<tabstop>le_AtcStationsOnlineMetar</tabstop>
|
||||
<tabstop>pb_AtcStationsLoadMetar</tabstop>
|
||||
<tabstop>pb_AtcStationsAtisReload</tabstop>
|
||||
<tabstop>tv_AtcStationsBooked</tabstop>
|
||||
<tabstop>tvp_AtcStationsBooked</tabstop>
|
||||
<tabstop>pb_ReloadAtcStationsBooked</tabstop>
|
||||
<tabstop>tv_AircraftsInRange</tabstop>
|
||||
<tabstop>tv_AllUsers</tabstop>
|
||||
<tabstop>tvp_AircraftsInRange</tabstop>
|
||||
<tabstop>tvp_AllUsers</tabstop>
|
||||
<tabstop>pb_CockpitToggleCom1</tabstop>
|
||||
<tabstop>ds_CockpitCom1Active</tabstop>
|
||||
<tabstop>ds_CockpitCom1Standby</tabstop>
|
||||
@@ -3290,15 +3320,15 @@ QStatusBar QLabel {
|
||||
<tabstop>cb_CockpitVoiceRoom1Override</tabstop>
|
||||
<tabstop>le_CockpitVoiceRoomCom2</tabstop>
|
||||
<tabstop>cb_CockpitVoiceRoom2Override</tabstop>
|
||||
<tabstop>tv_CockpitVoiceRoom1</tabstop>
|
||||
<tabstop>tv_CockpitVoiceRoom2</tabstop>
|
||||
<tabstop>tvp_CockpitVoiceRoom1</tabstop>
|
||||
<tabstop>tvp_CockpitVoiceRoom2</tabstop>
|
||||
<tabstop>tw_TextMessages</tabstop>
|
||||
<tabstop>te_TextMessagesAll</tabstop>
|
||||
<tabstop>te_TextMessagesUnicom</tabstop>
|
||||
<tabstop>te_TextMessagesCOM1</tabstop>
|
||||
<tabstop>te_TextMessagesCOM2</tabstop>
|
||||
<tabstop>Simulator</tabstop>
|
||||
<tabstop>tv_SettingsTnServers</tabstop>
|
||||
<tabstop>tvp_SettingsTnServers</tabstop>
|
||||
<tabstop>le_SettingsTnCsName</tabstop>
|
||||
<tabstop>le_SettingsTnCsDescription</tabstop>
|
||||
<tabstop>le_SettingsTnCsAddress</tabstop>
|
||||
|
||||
@@ -20,9 +20,7 @@ using namespace BlackMisc::Audio;
|
||||
void MainWindow::reloadAircraftsInRange()
|
||||
{
|
||||
if (!this->isContextNetworkAvailableCheck()) return;
|
||||
this->m_modelAircraftsInRange->update(this->m_rt->getIContextNetwork()->getAircraftsInRange());
|
||||
this->ui->tv_AircraftsInRange->resizeColumnsToContents();
|
||||
this->ui->tv_AircraftsInRange->resizeRowsToContents();
|
||||
this->ui->tvp_AircraftsInRange->update(this->m_rt->getIContextNetwork()->getAircraftsInRange());
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -20,9 +20,7 @@ using namespace BlackMisc::Settings;
|
||||
void MainWindow::reloadAtcStationsBooked()
|
||||
{
|
||||
if (!this->isContextNetworkAvailableCheck()) return;
|
||||
this->m_modelAtcListBooked->update(this->m_rt->getIContextNetwork()->getAtcStationsBooked());
|
||||
this->ui->tv_AtcStationsBooked->resizeColumnsToContents();
|
||||
this->ui->tv_AtcStationsBooked->resizeRowsToContents();
|
||||
this->ui->tvp_AtcStationsBooked->update(this->m_rt->getIContextNetwork()->getAtcStationsBooked());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -31,10 +29,7 @@ void MainWindow::reloadAtcStationsBooked()
|
||||
void MainWindow::reloadAtcStationsOnline()
|
||||
{
|
||||
if (!this->isContextNetworkAvailableCheck()) return;
|
||||
this->m_modelAtcListOnline->update(this->m_rt->getIContextNetwork()->getAtcStationsOnline());
|
||||
this->ui->tv_AtcStationsOnline->resizeColumnsToContents();
|
||||
this->ui->tv_AtcStationsOnline->resizeRowsToContents();
|
||||
|
||||
this->ui->tvp_AtcStationsOnline->update(this->m_rt->getIContextNetwork()->getAtcStationsOnline());
|
||||
if (!this->m_rt->getIContextNetwork()->isConnected())
|
||||
{
|
||||
// clear metar/ATIS
|
||||
@@ -51,7 +46,7 @@ void MainWindow::reloadAtcStationsOnline()
|
||||
void MainWindow::onlineAtcStationSelected(QModelIndex index)
|
||||
{
|
||||
this->ui->te_AtcStationsOnlineInfo->setText(""); // reset
|
||||
const CAtcStation stationClicked = this->m_modelAtcListOnline->at(index);
|
||||
const CAtcStation stationClicked = this->ui->tvp_AtcStationsBooked->derivedModel()->at(index);
|
||||
QString infoMessage;
|
||||
|
||||
if (stationClicked.hasAtis())
|
||||
@@ -101,7 +96,7 @@ void MainWindow::atcStationTabChanged(int /** tabIndex **/)
|
||||
{
|
||||
if (this->ui->tw_AtcStations->currentWidget() == this->ui->tb_AtcStationsBooked)
|
||||
{
|
||||
if (this->m_modelAtcListBooked->rowCount() < 1)
|
||||
if (this->ui->tvp_AtcStationsBooked->rowCount() < 1)
|
||||
this->reloadAtcStationsBooked();
|
||||
}
|
||||
else if (this->ui->tw_AtcStations->currentWidget() == this->ui->tb_AtcStationsOnline)
|
||||
|
||||
@@ -118,8 +118,6 @@ void MainWindow::updateCockpitFromContext()
|
||||
// these are the ones featuring the real audio status
|
||||
CVoiceRoomList rooms = this->m_rt->getIContextAudio()->getComVoiceRoomsWithAudioStatus();
|
||||
Q_ASSERT(rooms.size() == 2);
|
||||
Q_ASSERT(this->m_modelUsersVoiceCom1);
|
||||
Q_ASSERT(this->m_modelUsersVoiceCom2);
|
||||
|
||||
CVoiceRoom room1 = rooms[0];
|
||||
CVoiceRoom room2 = rooms[1];
|
||||
@@ -127,15 +125,8 @@ void MainWindow::updateCockpitFromContext()
|
||||
bool com2Connected = room2.isConnected();
|
||||
|
||||
// update views
|
||||
this->m_modelUsersVoiceCom1->update(this->m_rt->getIContextAudio()->getCom1RoomUsers());
|
||||
this->ui->tv_CockpitVoiceRoom1->resizeColumnsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom1->resizeRowsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom1->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
this->m_modelUsersVoiceCom2->update(this->m_rt->getIContextAudio()->getCom2RoomUsers());
|
||||
this->ui->tv_CockpitVoiceRoom2->resizeColumnsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom2->resizeRowsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom2->horizontalHeader()->setStretchLastSection(true);
|
||||
this->ui->tvp_CockpitVoiceRoom1->update(this->m_rt->getIContextAudio()->getCom1RoomUsers());
|
||||
this->ui->tvp_CockpitVoiceRoom1->update(this->m_rt->getIContextAudio()->getCom1RoomUsers());
|
||||
|
||||
// highlite voice room according to status
|
||||
QString vrStyle1;
|
||||
|
||||
@@ -55,101 +55,10 @@ void MainWindow::init(const CRuntimeConfig &runtimeConfig)
|
||||
this->ui->sb_MainStatusBar->addPermanentWidget(grip);
|
||||
}
|
||||
|
||||
// init models, the delete allows to re-init
|
||||
if (this->m_statusMessageList != nullptr) this->m_statusMessageList->deleteLater();
|
||||
this->m_statusMessageList = new CStatusMessageListModel(this);
|
||||
|
||||
if (this->m_modelAtcListBooked != nullptr) this->m_modelAtcListBooked->deleteLater();
|
||||
this->m_modelAtcListBooked = new CAtcListModel(this);
|
||||
|
||||
if (this->m_modelAtcListOnline != nullptr) this->m_modelAtcListOnline->deleteLater();
|
||||
this->m_modelAtcListOnline = new CAtcListModel(this);
|
||||
|
||||
if (this->m_modelTrafficServerList != nullptr) this->m_modelTrafficServerList->deleteLater();
|
||||
this->m_modelTrafficServerList = new CServerListModel(this);
|
||||
|
||||
if (this->m_modelAircraftsInRange != nullptr) this->m_modelAircraftsInRange->deleteLater();
|
||||
this->m_modelAircraftsInRange = new CAircraftListModel(this);
|
||||
|
||||
if (this->m_modelAllUsers != nullptr) this->m_modelAllUsers->deleteLater();
|
||||
this->m_modelAllUsers = new CUserListModel(this);
|
||||
|
||||
if (this->m_modelUsersVoiceCom1 != nullptr) this->m_modelUsersVoiceCom1->deleteLater();
|
||||
this->m_modelUsersVoiceCom1 = new CUserListModel(this);
|
||||
|
||||
if (this->m_modelUsersVoiceCom2 != nullptr) this->m_modelUsersVoiceCom2->deleteLater();
|
||||
this->m_modelUsersVoiceCom2 = new CUserListModel(this);
|
||||
|
||||
if (this->m_modelSettingsHotKeys != nullptr) this->m_modelSettingsHotKeys->deleteLater();
|
||||
this->m_modelSettingsHotKeys = new CKeyboardKeyListModel(this);
|
||||
|
||||
// set sort order and models
|
||||
// enable sorting first, otherwise order in the model will be reset
|
||||
this->ui->tv_SettingsTnServers->setModel(this->m_modelTrafficServerList);
|
||||
this->ui->tv_SettingsTnServers->horizontalHeader()->setStretchLastSection(true);
|
||||
this->ui->tv_StatusMessages->setSortingEnabled(true);
|
||||
this->ui->tv_StatusMessages->setModel(this->m_statusMessageList);
|
||||
this->m_statusMessageList->setSortColumnByPropertyIndex(BlackMisc::CStatusMessage::IndexTimestamp);
|
||||
if (this->m_statusMessageList->hasValidSortColumn())
|
||||
this->ui->tv_StatusMessages->horizontalHeader()->setSortIndicator(this->m_statusMessageList->getSortColumn(), this->m_statusMessageList->getSortOrder());
|
||||
this->ui->tv_StatusMessages->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
this->ui->tv_AtcStationsOnline->setSortingEnabled(true);
|
||||
this->ui->tv_AtcStationsOnline->setModel(this->m_modelAtcListOnline);
|
||||
this->m_modelAtcListBooked->setSortColumnByPropertyIndex(BlackMisc::Aviation::CAtcStation::IndexDistance);
|
||||
if (this->m_modelAtcListOnline->hasValidSortColumn())
|
||||
this->ui->tv_AtcStationsOnline->horizontalHeader()->setSortIndicator(this->m_modelAtcListOnline->getSortColumn(), this->m_modelAtcListOnline->getSortOrder());
|
||||
|
||||
this->ui->tv_AtcStationsBooked->setSortingEnabled(true);
|
||||
this->ui->tv_AtcStationsBooked->setModel(this->m_modelAtcListBooked);
|
||||
this->m_modelAtcListBooked->setSortColumnByPropertyIndex(BlackMisc::Aviation::CAtcStation::IndexBookedFrom);
|
||||
if (this->m_modelAtcListBooked->hasValidSortColumn())
|
||||
this->ui->tv_AtcStationsBooked->horizontalHeader()->setSortIndicator(this->m_modelAtcListBooked->getSortColumn(), this->m_modelAtcListBooked->getSortOrder());
|
||||
|
||||
this->ui->tv_AircraftsInRange->setSortingEnabled(true);
|
||||
this->ui->tv_AircraftsInRange->setModel(this->m_modelAircraftsInRange);
|
||||
this->m_modelAtcListBooked->setSortColumnByPropertyIndex(BlackMisc::Aviation::CAircraft::IndexDistance);
|
||||
if (this->m_modelAircraftsInRange->hasValidSortColumn())
|
||||
this->ui->tv_AircraftsInRange->horizontalHeader()->setSortIndicator(this->m_modelAircraftsInRange->getSortColumn(), this->m_modelAircraftsInRange->getSortOrder());
|
||||
this->ui->tv_AircraftsInRange->resizeColumnsToContents();
|
||||
this->ui->tv_AircraftsInRange->resizeRowsToContents();
|
||||
|
||||
this->ui->tv_AllUsers->setSortingEnabled(true);
|
||||
this->ui->tv_AllUsers->setModel(this->m_modelAllUsers);
|
||||
this->m_modelAllUsers->setSortColumnByPropertyIndex(BlackMisc::Network::CUser::IndexRealName);
|
||||
if (this->m_modelAllUsers->hasValidSortColumn())
|
||||
this->ui->tv_AllUsers->horizontalHeader()->setSortIndicator(this->m_modelAllUsers->getSortColumn(), this->m_modelAllUsers->getSortOrder());
|
||||
this->ui->tv_AllUsers->resizeColumnsToContents();
|
||||
this->ui->tv_AllUsers->resizeRowsToContents();
|
||||
this->ui->tv_AllUsers->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
this->ui->tv_CockpitVoiceRoom1->setSortingEnabled(true);
|
||||
this->ui->tv_CockpitVoiceRoom1->setModel(this->m_modelUsersVoiceCom1);
|
||||
this->m_modelUsersVoiceCom1->setSortColumnByPropertyIndex(BlackMisc::Network::CUser::IndexRealName);
|
||||
if (this->m_modelUsersVoiceCom1->hasValidSortColumn())
|
||||
this->ui->tv_CockpitVoiceRoom1->horizontalHeader()->setSortIndicator(this->m_modelUsersVoiceCom1->getSortColumn(), this->m_modelUsersVoiceCom1->getSortOrder());
|
||||
this->ui->tv_CockpitVoiceRoom1->resizeColumnsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom1->resizeRowsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom1->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
this->ui->tv_CockpitVoiceRoom2->setSortingEnabled(true);
|
||||
this->ui->tv_CockpitVoiceRoom2->setModel(this->m_modelUsersVoiceCom2);
|
||||
this->m_modelUsersVoiceCom2->setSortColumnByPropertyIndex(BlackMisc::Network::CUser::IndexRealName);
|
||||
if (this->m_modelUsersVoiceCom1->hasValidSortColumn())
|
||||
this->ui->tv_CockpitVoiceRoom2->horizontalHeader()->setSortIndicator(this->m_modelUsersVoiceCom2->getSortColumn(), this->m_modelUsersVoiceCom2->getSortOrder());
|
||||
this->ui->tv_CockpitVoiceRoom2->resizeColumnsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom2->resizeRowsToContents();
|
||||
this->ui->tv_CockpitVoiceRoom2->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
this->ui->tv_SettingsMiscHotkeys->setSortingEnabled(true);
|
||||
this->ui->tv_SettingsMiscHotkeys->setModel(this->m_modelSettingsHotKeys);
|
||||
this->m_modelSettingsHotKeys->setSortColumnByPropertyIndex(BlackMisc::Hardware::CKeyboardKey::IndexFunctionAsString);
|
||||
if (this->m_modelSettingsHotKeys->hasValidSortColumn())
|
||||
this->ui->tv_SettingsMiscHotkeys->horizontalHeader()->setSortIndicator(this->m_modelSettingsHotKeys->getSortColumn(), this->m_modelSettingsHotKeys->getSortOrder());
|
||||
this->ui->tv_SettingsMiscHotkeys->resizeColumnsToContents();
|
||||
this->ui->tv_SettingsMiscHotkeys->resizeRowsToContents();
|
||||
this->ui->tv_SettingsMiscHotkeys->horizontalHeader()->setStretchLastSection(true);
|
||||
this->ui->tv_SettingsMiscHotkeys->setItemDelegate(new BlackGui::CKeyboardKeyItemDelegate(this->ui->tv_SettingsMiscHotkeys));
|
||||
// init models
|
||||
this->ui->tvp_AtcStationsBooked->setStationMode(CAtcStationListModel::StationsBooked);
|
||||
this->ui->tvp_CockpitVoiceRoom1->setUserMode(CUserListModel::UserShort);
|
||||
this->ui->tvp_CockpitVoiceRoom2->setUserMode(CUserListModel::UserShort);
|
||||
|
||||
// SELCAL pairs in cockpit
|
||||
this->ui->cb_CockpitSelcal1->clear();
|
||||
@@ -341,14 +250,14 @@ void MainWindow::initGuiSignals()
|
||||
Q_ASSERT(connected);
|
||||
this->connect(this->ui->tw_AtcStations, &QTabWidget::currentChanged, this, &MainWindow::atcStationTabChanged);
|
||||
this->connect(this->ui->pb_ReloadAtcStationsBooked, &QPushButton::clicked, this, &MainWindow::reloadAtcStationsBooked);
|
||||
this->connect(this->ui->tv_AtcStationsOnline, &QTableView::clicked, this, &MainWindow::onlineAtcStationSelected);
|
||||
this->connect(this->ui->tvp_AtcStationsOnline, &QTableView::clicked, this, &MainWindow::onlineAtcStationSelected);
|
||||
this->connect(this->ui->pb_AtcStationsAtisReload, &QPushButton::clicked, this, &MainWindow::requestAtis);
|
||||
|
||||
// Settings server
|
||||
this->connect(this->ui->pb_SettingsTnCurrentServer, &QPushButton::released, this, &MainWindow::alterTrafficServer);
|
||||
this->connect(this->ui->pb_SettingsTnRemoveServer, &QPushButton::released, this, &MainWindow::alterTrafficServer);
|
||||
this->connect(this->ui->pb_SettingsTnSaveServer, &QPushButton::released, this, &MainWindow::alterTrafficServer);
|
||||
this->connect(this->ui->tv_SettingsTnServers, &QTableView::clicked, this, &MainWindow::networkServerSelected);
|
||||
this->connect(this->ui->tvp_SettingsTnServers, &QTableView::clicked, this, &MainWindow::networkServerSelected);
|
||||
|
||||
// Settings
|
||||
this->connect(this->ui->hs_SettingsGuiOpacity, &QSlider::valueChanged, this, &MainWindow::changeWindowOpacity);
|
||||
|
||||
@@ -67,8 +67,6 @@ void MainWindow::initContextMenus()
|
||||
this->ui->lbl_CockpitVoiceStatus->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this->ui->lbl_StatusVoiceStatus, &QLabel::customContextMenuRequested, this, &MainWindow::audioIconContextMenu);
|
||||
connect(this->ui->lbl_CockpitVoiceStatus, &QLabel::customContextMenuRequested, this, &MainWindow::audioIconContextMenu);
|
||||
this->ui->tv_StatusMessages->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this->ui->tv_StatusMessages, &QTableView::customContextMenuRequested, this, &MainWindow::messageListContextMenu);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -87,6 +85,7 @@ void MainWindow::audioIconContextMenu(const QPoint &position)
|
||||
this->m_contextMenuAudio->addAction("Toogle mute");
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
// #if defined required? seems to be redundant
|
||||
if (QSysInfo::WindowsVersion && QSysInfo::WV_NT_based)
|
||||
{
|
||||
this->m_contextMenuAudio->addAction("Mixer");
|
||||
@@ -107,32 +106,3 @@ void MainWindow::audioIconContextMenu(const QPoint &position)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Message list context menu
|
||||
*/
|
||||
void MainWindow::messageListContextMenu(const QPoint &position)
|
||||
{
|
||||
// position for most widgets
|
||||
QPoint globalPosition = this->ui->tv_StatusMessages->mapToGlobal(position);
|
||||
|
||||
if (!this->m_contextMenuStatusMessageList)
|
||||
{
|
||||
this->m_contextMenuStatusMessageList = new QMenu(this);
|
||||
this->m_contextMenuStatusMessageList->addAction("Clear");
|
||||
}
|
||||
|
||||
QAction *selectedItem = this->m_contextMenuStatusMessageList->exec(globalPosition);
|
||||
if (selectedItem)
|
||||
{
|
||||
// http://forum.technical-assistance.co.uk/sndvol32exe-command-line-parameters-vt1348.html
|
||||
const QList<QAction *> actions = this->m_contextMenuStatusMessageList->actions();
|
||||
if (selectedItem == actions.at(0))
|
||||
{
|
||||
this->m_statusMessageList->clear();
|
||||
this->ui->tv_StatusMessages->resizeColumnsToContents();
|
||||
this->ui->tv_StatusMessages->horizontalHeader()->setStretchLastSection(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,15 +28,11 @@ void MainWindow::reloadSettings()
|
||||
CSettingsNetwork nws = this->m_rt->getIContextSettings()->getNetworkSettings();
|
||||
|
||||
// update servers
|
||||
this->m_modelTrafficServerList->setSelectedServer(nws.getCurrentTrafficNetworkServer());
|
||||
this->m_modelTrafficServerList->update(nws.getTrafficNetworkServers());
|
||||
this->ui->tv_SettingsTnServers->resizeColumnsToContents();
|
||||
this->ui->tv_SettingsTnServers->resizeRowsToContents();
|
||||
this->ui->tvp_SettingsTnServers->setSelectedServer(nws.getCurrentTrafficNetworkServer());
|
||||
this->ui->tvp_SettingsTnServers->update(nws.getTrafficNetworkServers());
|
||||
|
||||
// update hot keys
|
||||
this->m_modelSettingsHotKeys->update(this->m_rt->getIContextSettings()->getHotkeys());
|
||||
this->ui->tv_SettingsMiscHotkeys->resizeColumnsToContents();
|
||||
this->ui->tv_SettingsMiscHotkeys->resizeRowsToContents();
|
||||
this->ui->tvp_SettingsMiscHotkeys->update(this->m_rt->getIContextSettings()->getHotkeys());
|
||||
|
||||
// fake setting for sound notifications
|
||||
this->ui->cb_SettingsAudioPlayNotificationSounds->setChecked(true);
|
||||
@@ -48,7 +44,7 @@ void MainWindow::reloadSettings()
|
||||
*/
|
||||
void MainWindow::networkServerSelected(QModelIndex index)
|
||||
{
|
||||
const CServer clickedServer = this->m_modelTrafficServerList->at(index);
|
||||
const CServer clickedServer = this->ui->tvp_SettingsTnServers->at<CServer>(index);
|
||||
this->updateGuiSelectedServerTextboxes(clickedServer);
|
||||
}
|
||||
|
||||
@@ -136,7 +132,7 @@ CServer MainWindow::selectedServerFromTextboxes() const
|
||||
void MainWindow::saveHotkeys()
|
||||
{
|
||||
const QString path = CSettingUtilities::appendPaths(IContextSettings::PathRoot(), IContextSettings::PathHotkeys());
|
||||
CStatusMessageList msgs = this->m_rt->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), this->m_modelSettingsHotKeys->getContainer().toQVariant());
|
||||
CStatusMessageList msgs = this->m_rt->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), this->ui->tvp_SettingsMiscHotkeys->derivedModel()->getContainer().toQVariant());
|
||||
|
||||
// status messages
|
||||
this->displayStatusMessages(msgs);
|
||||
@@ -147,12 +143,12 @@ void MainWindow::saveHotkeys()
|
||||
*/
|
||||
void MainWindow::clearHotkey()
|
||||
{
|
||||
QModelIndex i = this->ui->tv_SettingsMiscHotkeys->currentIndex();
|
||||
if (i.row() < 0 || i.row() >= this->m_modelSettingsHotKeys->rowCount()) return;
|
||||
BlackMisc::Hardware::CKeyboardKey key = this->m_modelSettingsHotKeys->at(i);
|
||||
BlackMisc::Hardware::CKeyboardKey defKey;
|
||||
defKey.setFunction(key.getFunction());
|
||||
this->m_modelSettingsHotKeys->update(i, defKey);
|
||||
QModelIndex i = this->ui->tvp_SettingsMiscHotkeys->currentIndex();
|
||||
if (i.row() < 0 || i.row() >= this->ui->tvp_SettingsMiscHotkeys->rowCount()) return;
|
||||
BlackMisc::Hardware::CKeyboardKey key = this->ui->tvp_SettingsMiscHotkeys->at<BlackMisc::Hardware::CKeyboardKey>(i);
|
||||
BlackMisc::Hardware::CKeyboardKey defaultKey;
|
||||
defaultKey.setFunction(key.getFunction());
|
||||
this->ui->tvp_SettingsMiscHotkeys->derivedModel()->update(i, defaultKey);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user