mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 15:45:46 +08:00
refs #471, overlay widget for text messages and variant
This commit is contained in:
committed by
Mathew Sutcliffe
parent
134a725002
commit
4804d81857
@@ -12,6 +12,8 @@
|
||||
#include "ui_overlaymessages.h"
|
||||
#include <QKeyEvent>
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Network;
|
||||
using namespace BlackGui::Models;
|
||||
|
||||
namespace BlackGui
|
||||
@@ -73,6 +75,37 @@ namespace BlackGui
|
||||
this->display(timeOutMs);
|
||||
}
|
||||
|
||||
void COverlayMessages::showTextMessage(const CTextMessage &textMessage, int timeOutMs)
|
||||
{
|
||||
if (textMessage.isEmpty()) { return; }
|
||||
this->setModeToTextMessage();
|
||||
|
||||
// message and display
|
||||
this->ui->le_TmFrom->setText(textMessage.getSenderCallsign().asString());
|
||||
this->ui->le_TmTo->setText(textMessage.getRecipientCallsign().asString());
|
||||
this->ui->le_TmReceived->setText(textMessage.getFormattedUtcTimestampHms());
|
||||
this->ui->te_TmText->setText(textMessage.getMessage());
|
||||
|
||||
this->display(timeOutMs);
|
||||
}
|
||||
|
||||
void COverlayMessages::showVariant(const BlackMisc::CVariant &variant, int timeOutMs)
|
||||
{
|
||||
if (variant.canConvert<CStatusMessageList>())
|
||||
{
|
||||
showMessages(variant.value<CStatusMessageList>(), timeOutMs);
|
||||
}
|
||||
else if (variant.canConvert<CStatusMessage>())
|
||||
{
|
||||
showMessage(variant.value<CStatusMessage>(), timeOutMs);
|
||||
}
|
||||
else if (variant.canConvert<CTextMessage>())
|
||||
{
|
||||
showTextMessage(variant.value<CTextMessage>(), timeOutMs);
|
||||
}
|
||||
Q_ASSERT_X(false, Q_FUNC_INFO, "Unsupported type");
|
||||
}
|
||||
|
||||
void COverlayMessages::setModeToMessages()
|
||||
{
|
||||
this->ui->sw_StatusMessagesComponent->setCurrentWidget(this->ui->pg_StatusMessages);
|
||||
@@ -85,6 +118,12 @@ namespace BlackGui
|
||||
this->setHeader("Message");
|
||||
}
|
||||
|
||||
void COverlayMessages::setModeToTextMessage()
|
||||
{
|
||||
this->ui->sw_StatusMessagesComponent->setCurrentWidget(this->ui->pg_TextMessage);
|
||||
this->setHeader("Text message");
|
||||
}
|
||||
|
||||
void COverlayMessages::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
if (event->key() == Qt::Key_Escape)
|
||||
|
||||
Reference in New Issue
Block a user