Ref T506, allow to init overlay messages, passivate text messages, improved tab widget selection

This commit is contained in:
Klaus Basan
2019-01-06 11:19:43 +01:00
committed by Mat Sutcliffe
parent 419f8c0907
commit f6ce579f67
5 changed files with 102 additions and 17 deletions

View File

@@ -38,6 +38,7 @@
#include <QPointer>
using namespace BlackMisc;
using namespace BlackMisc::Aviation;
using namespace BlackMisc::Network;
using namespace BlackMisc::Simulation;
using namespace BlackCore;
@@ -67,6 +68,7 @@ namespace BlackGui
ui->comp_OverlayTextMessage->showSettings(false);
ui->comp_OverlayTextMessage->showTextMessageEntry(true);
ui->comp_OverlayTextMessage->setAsUsedInOverlayMode();
ui->comp_OverlayTextMessage->activate(false, false); // per default ignore incoming/outgoing text messages
ui->comp_OverlayTextMessage->removeAllMessagesTab();
ui->comp_OverlayTextMessage->setAtcButtonsRowsColumns(2, 3, true);
ui->comp_OverlayTextMessage->setAtcButtonsBackgroundUpdates(false);
@@ -88,9 +90,15 @@ namespace BlackGui
void COverlayMessages::init(int w, int h)
{
ui->setupUi(this);
if (this->parent() && !this->parent()->objectName().isEmpty())
{
const QString n("Overlay messages for " + this->parent()->objectName());
this->setObjectName(n);
}
this->resize(w, h);
this->setAutoFillBackground(true);
m_autoCloseTimer.setObjectName(objectName() % ":autoCloseTimer");
m_autoCloseTimer.setObjectName(this->objectName() % ":autoCloseTimer");
ui->tvp_StatusMessages->setMode(CStatusMessageListModel::Simplified);
connect(ui->tb_Close, &QToolButton::released, this, &COverlayMessages::close);
connect(&m_autoCloseTimer, &QTimer::timeout, this, &COverlayMessages::close);
@@ -188,7 +196,7 @@ namespace BlackGui
this->display(timeOutMs);
}
void COverlayMessages::showOverlayMessage(const BlackMisc::CStatusMessage &message, int timeOutMs)
void COverlayMessages::showOverlayMessage(const CStatusMessage &message, int timeOutMs)
{
if (message.isEmpty()) { return; }
if (!sGui || sGui->isShuttingDown()) { return; }
@@ -259,6 +267,12 @@ namespace BlackGui
ui->comp_OverlayTextMessage->focusTextEntry();
}
void COverlayMessages::showOverlayInlineTextMessage(const CCallsign &callsign)
{
this->showOverlayInlineTextMessage(Components::TextMessagesUnicom);
ui->comp_OverlayTextMessage->showCorrespondingTab(callsign);
}
void COverlayMessages::showOverlayImage(const CPixmap &image, int timeOutMs)
{
this->showOverlayImage(image.toPixmap(), timeOutMs);
@@ -442,6 +456,18 @@ namespace BlackGui
this->showKill(false);
}
void COverlayMessages::setModeToOverlayTextMessage()
{
ui->sw_StatusMessagesComponent->setCurrentWidget(ui->pg_OverlayTextMessage);
this->setHeader("Text message");
this->showKill(false);
}
void COverlayMessages::activateTextMessages(bool activate)
{
ui->comp_OverlayTextMessage->activate(activate, activate);
}
void COverlayMessages::setModeToImage()
{
ui->sw_StatusMessagesComponent->setCurrentWidget(ui->pg_Image);