mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T536, use always the same overlay widget for text messages
* handle request signals * "slot" functions (e.g. nShowOverlayInlineTextMessageCallsign) so we can later react on settings
This commit is contained in:
committed by
Mat Sutcliffe
parent
2464271400
commit
08578e202a
@@ -489,6 +489,7 @@ void SwiftGuiStd::displayLog()
|
||||
void SwiftGuiStd::onPttChanged(bool enabled)
|
||||
{
|
||||
if (!enabled) { return; }
|
||||
if (!sGui) { return; }
|
||||
sGui->getIContextAudio()->playNotification(CNotificationSounds::PTTClick, true);
|
||||
}
|
||||
|
||||
@@ -522,3 +523,21 @@ void SwiftGuiStd::displayDBusReconnectDialog()
|
||||
msg.clampSeverity(CStatusMessage::SeverityWarning);
|
||||
CLogMessage::preformatted(msg);
|
||||
}
|
||||
|
||||
void SwiftGuiStd::onShowOverlayVariant(const CVariant &variant, int durationMs)
|
||||
{
|
||||
if (!sGui || sGui->isShuttingDown()) { return; }
|
||||
ui->fr_CentralFrameInside->showOverlayVariant(variant, durationMs);
|
||||
}
|
||||
|
||||
void SwiftGuiStd::onShowOverlayInlineTextMessageTab(Components::TextMessageTab tab)
|
||||
{
|
||||
if (!sGui || sGui->isShuttingDown()) { return; }
|
||||
ui->fr_CentralFrameInside->showOverlayInlineTextMessage(tab);
|
||||
}
|
||||
|
||||
void SwiftGuiStd::onShowOverlayInlineTextMessageCallsign(const CCallsign &callsign)
|
||||
{
|
||||
if (!sGui || sGui->isShuttingDown()) { return; }
|
||||
ui->fr_CentralFrameInside->showOverlayInlineTextMessage(callsign);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "blackgui/components/maininfoareacomponent.h"
|
||||
#include "blackgui/components/navigatordialog.h"
|
||||
#include "blackgui/components/aircraftmodelsetvalidationdialog.h"
|
||||
#include "blackgui/components/textmessagecomponenttab.h"
|
||||
#include "blackgui/enableforframelesswindow.h"
|
||||
#include "blackgui/mainwindowaccess.h"
|
||||
#include "blackgui/managedstatusbar.h"
|
||||
@@ -27,10 +28,11 @@
|
||||
#include "blackcore/network.h"
|
||||
#include "blackmisc/simulation/simulatedaircraft.h"
|
||||
#include "blackmisc/audio/notificationsounds.h"
|
||||
#include "blackmisc/icons.h"
|
||||
#include "blackmisc/identifiable.h"
|
||||
#include "blackmisc/variant.h"
|
||||
#include "blackmisc/loghandler.h"
|
||||
#include "blackmisc/statusmessage.h"
|
||||
#include "blackmisc/icons.h"
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QObject>
|
||||
@@ -42,7 +44,6 @@ class QCloseEvent;
|
||||
class QEvent;
|
||||
class QMouseEvent;
|
||||
class QTimer;
|
||||
class QWidget;
|
||||
|
||||
namespace BlackMisc { namespace Aviation { class CAltitude; } }
|
||||
namespace BlackGui { namespace Components { class CDbLoadDataDialog; }}
|
||||
@@ -280,6 +281,12 @@ private:
|
||||
|
||||
//! Copy the XSwiftBus files from build directory
|
||||
void copyXSwiftBusDialog(bool checkFileTimestamp);
|
||||
|
||||
//! Request overlay inline text message @{
|
||||
void onShowOverlayVariant(const BlackMisc::CVariant &variant, int durationMs);
|
||||
void onShowOverlayInlineTextMessageTab(BlackGui::Components::TextMessageTab tab);
|
||||
void onShowOverlayInlineTextMessageCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
//! @}
|
||||
};
|
||||
|
||||
#pragma pop_macro("interface")
|
||||
|
||||
@@ -48,13 +48,13 @@
|
||||
#include <QTimer>
|
||||
#include <QPointer>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
class QHBoxLayout;
|
||||
#include <QHBoxLayout>
|
||||
|
||||
using namespace BlackConfig;
|
||||
using namespace BlackCore;
|
||||
using namespace BlackCore::Context;
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Network;
|
||||
using namespace BlackMisc::Input;
|
||||
using namespace BlackGui;
|
||||
@@ -217,19 +217,14 @@ void SwiftGuiStd::initGuiSignals()
|
||||
connect(ui->menu_TestLocationsEDRY, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_TestLocationsLOWW, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
|
||||
connect(ui->menu_WindowFont, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_WindowMinimize, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_WindowFont, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_WindowMinimize, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_WindowToggleOnTop, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_WindowToggleNavigator, &QAction::triggered, m_navigator.data(), &CNavigatorDialog::toggleNavigatorVisibility);
|
||||
connect(ui->menu_InternalsPage, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_MovingMap, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(ui->menu_MovingMap, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
|
||||
connect(m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::onNavigatorClosed);
|
||||
|
||||
// command line / text messages
|
||||
// here we display SUP messages and such in a central window
|
||||
ui->fr_CentralFrameInside->activateTextMessages(true);
|
||||
connect(ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::displayInInfoWindow, ui->fr_CentralFrameInside, &COverlayMessagesFrame::showOverlayVariant);
|
||||
|
||||
// settings (GUI component), styles
|
||||
connect(ui->comp_MainInfoArea->getSettingsComponent(), &CSettingsComponent::changedWindowsOpacity, this, &SwiftGuiStd::onChangedWindowOpacity);
|
||||
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &SwiftGuiStd::onStyleSheetsChanged, Qt::QueuedConnection);
|
||||
@@ -253,13 +248,22 @@ void SwiftGuiStd::initGuiSignals()
|
||||
connect(this, &SwiftGuiStd::currentMainInfoAreaChanged, ui->comp_Login, &CLoginComponent::mainInfoAreaChanged);
|
||||
|
||||
// text messages
|
||||
connect(ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(ui->comp_MainInfoArea->getMappingComponent(), &CMappingComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(ui->comp_MainInfoArea->getAircraftComponent(), &CAircraftComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(ui->comp_MainInfoArea->getUserComponent(), &CUserComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getMappingComponent(), &CMappingComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getAircraftComponent(), &CAircraftComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getUserComponent(), &CUserComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab, Qt::QueuedConnection);
|
||||
|
||||
// command line / text messages
|
||||
// here we display SUP messages and such in a central window
|
||||
ui->fr_CentralFrameInside->activateTextMessages(true);
|
||||
connect(ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::displayInInfoWindow, this, &SwiftGuiStd::onShowOverlayVariant, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageEntryTab, this, &SwiftGuiStd::onShowOverlayInlineTextMessageTab, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageEntryCallsign, this, &SwiftGuiStd::onShowOverlayInlineTextMessageCallsign, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getCockpitComponent(), &CCockpitComponent::requestTextMessageEntryTab, this, &SwiftGuiStd::onShowOverlayInlineTextMessageTab, Qt::QueuedConnection);
|
||||
connect(ui->comp_MainInfoArea->getCockpitComponent(), &CCockpitComponent::requestTextMessageEntryCallsign, this, &SwiftGuiStd::onShowOverlayInlineTextMessageCallsign, Qt::QueuedConnection);
|
||||
|
||||
// interpolation and validation
|
||||
connect(ui->comp_MainInfoArea->getMappingComponent(), &CMappingComponent::requestValidationDialog, this, &SwiftGuiStd::displayValidationDialog);
|
||||
connect(ui->comp_MainInfoArea->getMappingComponent(), &CMappingComponent::requestValidationDialog, this, &SwiftGuiStd::displayValidationDialog);
|
||||
connect(ui->comp_MainInfoArea->getInterpolationComponent(), &CInterpolationComponent::requestRenderingRestrictionsWidget, [ = ]
|
||||
{
|
||||
this->setSettingsPage(CSettingsComponent::SettingTabSimulator);
|
||||
|
||||
Reference in New Issue
Block a user