Ref T506, context menu for user view -> COM text messages

This commit is contained in:
Klaus Basan
2019-01-08 09:02:33 +01:00
committed by Mat Sutcliffe
parent 33a3984588
commit fee2f8c5a0
5 changed files with 43 additions and 4 deletions

View File

@@ -7,13 +7,15 @@
* contained in the LICENSE file.
*/
#include "blackgui/models/userlistmodel.h"
#include "blackgui/views/userview.h"
#include "blackgui/models/userlistmodel.h"
#include <QtGlobal>
using namespace BlackMisc;
using namespace BlackMisc::Network;
using namespace BlackGui::Models;
using namespace BlackGui::Menus;
namespace BlackGui
{
@@ -29,5 +31,25 @@ namespace BlackGui
Q_ASSERT(m_model);
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

View File

@@ -33,6 +33,18 @@ namespace BlackGui
//! Set user mode
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();
};
}
}