mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 04:45:31 +08:00
Ref T506, context menu for user view -> COM text messages
This commit is contained in:
committed by
Mat Sutcliffe
parent
33a3984588
commit
fee2f8c5a0
@@ -38,8 +38,9 @@ namespace BlackGui
|
|||||||
this->setCurrentIndex(0);
|
this->setCurrentIndex(0);
|
||||||
this->tabBar()->setExpanding(false);
|
this->tabBar()->setExpanding(false);
|
||||||
this->tabBar()->setUsesScrollButtons(true);
|
this->tabBar()->setUsesScrollButtons(true);
|
||||||
connect(ui->tvp_AllUsers, &CUserView::modelDataChangedDigest, this, &CUserComponent::onCountChanged);
|
connect(ui->tvp_AllUsers, &CUserView::modelDataChangedDigest, this, &CUserComponent::onCountChanged);
|
||||||
connect(ui->tvp_Clients, &CClientView::modelDataChangedDigest, this, &CUserComponent::onCountChanged);
|
connect(ui->tvp_AllUsers, &CUserView::requestTextMessageWidget, this, &CUserComponent::requestTextMessageWidget);
|
||||||
|
connect(ui->tvp_Clients, &CClientView::modelDataChangedDigest, this, &CUserComponent::onCountChanged);
|
||||||
connect(sGui->getIContextNetwork(), &IContextNetwork::connectionStatusChanged, this, &CUserComponent::onConnectionStatusChanged);
|
connect(sGui->getIContextNetwork(), &IContextNetwork::connectionStatusChanged, this, &CUserComponent::onConnectionStatusChanged);
|
||||||
connect(&m_updateTimer, &QTimer::timeout, this, &CUserComponent::update);
|
connect(&m_updateTimer, &QTimer::timeout, this, &CUserComponent::update);
|
||||||
this->onSettingsChanged();
|
this->onSettingsChanged();
|
||||||
|
|||||||
@@ -48,10 +48,13 @@ namespace BlackGui
|
|||||||
//! Number of users
|
//! Number of users
|
||||||
int countUsers() const;
|
int countUsers() const;
|
||||||
|
|
||||||
public slots:
|
|
||||||
//! Update users
|
//! Update users
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
//! Request a text message
|
||||||
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//! Number of elements changed
|
//! Number of elements changed
|
||||||
void onCountChanged(int count, bool withFilter);
|
void onCountChanged(int count, bool withFilter);
|
||||||
|
|||||||
@@ -7,13 +7,15 @@
|
|||||||
* contained in the LICENSE file.
|
* contained in the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "blackgui/models/userlistmodel.h"
|
|
||||||
#include "blackgui/views/userview.h"
|
#include "blackgui/views/userview.h"
|
||||||
|
#include "blackgui/models/userlistmodel.h"
|
||||||
|
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
using namespace BlackMisc;
|
using namespace BlackMisc;
|
||||||
|
using namespace BlackMisc::Network;
|
||||||
using namespace BlackGui::Models;
|
using namespace BlackGui::Models;
|
||||||
|
using namespace BlackGui::Menus;
|
||||||
|
|
||||||
namespace BlackGui
|
namespace BlackGui
|
||||||
{
|
{
|
||||||
@@ -29,5 +31,25 @@ namespace BlackGui
|
|||||||
Q_ASSERT(m_model);
|
Q_ASSERT(m_model);
|
||||||
m_model->setUserMode(userMode);
|
m_model->setUserMode(userMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CUserView::customMenu(CMenuActions &menuActions)
|
||||||
|
{
|
||||||
|
if (this->hasSelection())
|
||||||
|
{
|
||||||
|
const CUser user(this->selectedObject());
|
||||||
|
if (user.hasCallsign())
|
||||||
|
{
|
||||||
|
menuActions.addMenuCom();
|
||||||
|
menuActions.addAction(CIcons::appTextMessages16(), "Show text messages", CMenuAction::pathClientCom(), { this, &CUserView::requestTextMessage });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUserView::requestTextMessage()
|
||||||
|
{
|
||||||
|
const CUser user(this->selectedObject());
|
||||||
|
if (!user.hasCallsign()) { return; }
|
||||||
|
emit this->requestTextMessageWidget(user.getCallsign());
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -33,6 +33,18 @@ namespace BlackGui
|
|||||||
|
|
||||||
//! Set user mode
|
//! Set user mode
|
||||||
void setUserMode(Models::CUserListModel::UserMode userMode);
|
void setUserMode(Models::CUserListModel::UserMode userMode);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
//! Request a text message
|
||||||
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
//! \copydoc CViewBase::customMenu
|
||||||
|
virtual void customMenu(Menus::CMenuActions &menuActions) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
//! Request text message for selected aircraft
|
||||||
|
void requestTextMessage();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,6 +262,7 @@ void SwiftGuiStd::initGuiSignals()
|
|||||||
connect(ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
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->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->getAircraftComponent(), &CAircraftComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||||
|
connect(ui->comp_MainInfoArea->getUserComponent(), &CUserComponent::requestTextMessageWidget, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||||
|
|
||||||
// interpolation
|
// interpolation
|
||||||
connect(ui->comp_MainInfoArea->getInterpolationComponent(), &CInterpolationComponent::requestRenderingRestrictionsWidget, [ = ]
|
connect(ui->comp_MainInfoArea->getInterpolationComponent(), &CInterpolationComponent::requestRenderingRestrictionsWidget, [ = ]
|
||||||
|
|||||||
Reference in New Issue
Block a user