From 05a7cbcb2646598f9fefe4098df4031166978563 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 20 Apr 2014 18:33:41 +0200 Subject: [PATCH] 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 --- samples/blackgui/mainwindow.cpp | 15 +--- samples/blackgui/mainwindow.h | 15 ---- samples/blackgui/mainwindow.ui | 68 ++++++++++----- samples/blackgui/mainwindow_aircraft.cpp | 4 +- samples/blackgui/mainwindow_atc.cpp | 13 +-- samples/blackgui/mainwindow_cockpit.cpp | 13 +-- samples/blackgui/mainwindow_init.cpp | 103 ++--------------------- samples/blackgui/mainwindow_menus.cpp | 32 +------ samples/blackgui/mainwindow_settings.cpp | 26 +++--- 9 files changed, 77 insertions(+), 212 deletions(-) diff --git a/samples/blackgui/mainwindow.cpp b/samples/blackgui/mainwindow.cpp index 7cfe236d4..429d62ff2 100644 --- a/samples/blackgui/mainwindow.cpp +++ b/samples/blackgui/mainwindow.cpp @@ -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() diff --git a/samples/blackgui/mainwindow.h b/samples/blackgui/mainwindow.h index d1a2a9020..65415d79f 100644 --- a/samples/blackgui/mainwindow.h +++ b/samples/blackgui/mainwindow.h @@ -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(); diff --git a/samples/blackgui/mainwindow.ui b/samples/blackgui/mainwindow.ui index 308ee7a7e..3f5f7dd10 100644 --- a/samples/blackgui/mainwindow.ui +++ b/samples/blackgui/mainwindow.ui @@ -554,7 +554,7 @@ QStatusBar QLabel { - 1 + 0 3 @@ -588,7 +588,7 @@ QStatusBar QLabel { 0 - + QAbstractItemView::SingleSelection @@ -735,7 +735,7 @@ QStatusBar QLabel { 2 - + 0 @@ -945,7 +945,7 @@ QStatusBar QLabel { 3 - + QFrame::StyledPanel @@ -1006,7 +1006,7 @@ QStatusBar QLabel { 0 - + false @@ -1032,7 +1032,7 @@ QStatusBar QLabel { 0 - + QAbstractItemView::SingleSelection @@ -1559,7 +1559,7 @@ QStatusBar QLabel { - + QAbstractItemView::SingleSelection @@ -1572,7 +1572,7 @@ QStatusBar QLabel { - + QAbstractItemView::SingleSelection @@ -1793,7 +1793,7 @@ QStatusBar QLabel { - 3 + 0 @@ -1816,7 +1816,7 @@ QStatusBar QLabel { 1 - + QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed @@ -2546,7 +2546,7 @@ QStatusBar QLabel { 2 - + true @@ -3256,23 +3256,53 @@ QStatusBar QLabel { QComboBox
blackgui/transpondermodeselector.h
+ + BlackGui::CStatusMessageView + QTableView +
blackgui/statusmessageview.h
+
+ + BlackGui::CAtcStationView + QTableView +
blackgui/atcstationview.h
+
+ + BlackGui::CUserView + QTableView +
blackgui/userview.h
+
+ + BlackGui::CAircraftView + QTableView +
blackgui/aircraftview.h
+
+ + BlackGui::CKeyboardKeyView + QTableView +
blackgui/keyboardkeyview.h
+
+ + BlackGui::CServerView + QTableView +
blackgui/serverview.h
+
cb_StatusWithDBus le_StatusNetworkContext le_StatusAudioContext - tv_StatusMessages + tvp_StatusMessages le_CommandLineInput tw_AtcStations - tv_AtcStationsOnline + tvp_AtcStationsOnline te_AtcStationsOnlineInfo le_AtcStationsOnlineMetar pb_AtcStationsLoadMetar pb_AtcStationsAtisReload - tv_AtcStationsBooked + tvp_AtcStationsBooked pb_ReloadAtcStationsBooked - tv_AircraftsInRange - tv_AllUsers + tvp_AircraftsInRange + tvp_AllUsers pb_CockpitToggleCom1 ds_CockpitCom1Active ds_CockpitCom1Standby @@ -3290,15 +3320,15 @@ QStatusBar QLabel { cb_CockpitVoiceRoom1Override le_CockpitVoiceRoomCom2 cb_CockpitVoiceRoom2Override - tv_CockpitVoiceRoom1 - tv_CockpitVoiceRoom2 + tvp_CockpitVoiceRoom1 + tvp_CockpitVoiceRoom2 tw_TextMessages te_TextMessagesAll te_TextMessagesUnicom te_TextMessagesCOM1 te_TextMessagesCOM2 Simulator - tv_SettingsTnServers + tvp_SettingsTnServers le_SettingsTnCsName le_SettingsTnCsDescription le_SettingsTnCsAddress diff --git a/samples/blackgui/mainwindow_aircraft.cpp b/samples/blackgui/mainwindow_aircraft.cpp index 9aca4c3a1..4dc6e07e5 100644 --- a/samples/blackgui/mainwindow_aircraft.cpp +++ b/samples/blackgui/mainwindow_aircraft.cpp @@ -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()); } /* diff --git a/samples/blackgui/mainwindow_atc.cpp b/samples/blackgui/mainwindow_atc.cpp index 009ea6afb..8c815423f 100644 --- a/samples/blackgui/mainwindow_atc.cpp +++ b/samples/blackgui/mainwindow_atc.cpp @@ -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) diff --git a/samples/blackgui/mainwindow_cockpit.cpp b/samples/blackgui/mainwindow_cockpit.cpp index 3c18a2e77..7d4b5a133 100644 --- a/samples/blackgui/mainwindow_cockpit.cpp +++ b/samples/blackgui/mainwindow_cockpit.cpp @@ -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; diff --git a/samples/blackgui/mainwindow_init.cpp b/samples/blackgui/mainwindow_init.cpp index b514ad792..4962d7f30 100644 --- a/samples/blackgui/mainwindow_init.cpp +++ b/samples/blackgui/mainwindow_init.cpp @@ -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); diff --git a/samples/blackgui/mainwindow_menus.cpp b/samples/blackgui/mainwindow_menus.cpp index 5a6406528..6dcf0209e 100644 --- a/samples/blackgui/mainwindow_menus.cpp +++ b/samples/blackgui/mainwindow_menus.cpp @@ -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 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); - } - } -} diff --git a/samples/blackgui/mainwindow_settings.cpp b/samples/blackgui/mainwindow_settings.cpp index 13f874195..37ee6a667 100644 --- a/samples/blackgui/mainwindow_settings.cpp +++ b/samples/blackgui/mainwindow_settings.cpp @@ -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(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(i); + BlackMisc::Hardware::CKeyboardKey defaultKey; + defaultKey.setFunction(key.getFunction()); + this->ui->tvp_SettingsMiscHotkeys->derivedModel()->update(i, defaultKey); } /*