mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Ref T632, make users a callsign object list
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include "blackmisc/aviation/aircraftsituationlist.h"
|
||||
#include "blackmisc/aviation/flightplanlist.h"
|
||||
#include "blackmisc/network/clientlist.h"
|
||||
#include "blackmisc/network/userlist.h"
|
||||
#include "blackmisc/predicates.h"
|
||||
|
||||
#include <QtGlobal>
|
||||
@@ -303,6 +304,7 @@ namespace BlackMisc
|
||||
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE ICallsignObjectList<BlackMisc::Simulation::CSimulatedAircraft, BlackMisc::Simulation::CSimulatedAircraftList>;
|
||||
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE ICallsignObjectList<BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign, BlackMisc::Simulation::CInterpolationSetupList>;
|
||||
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE ICallsignObjectList<BlackMisc::Network::CClient, BlackMisc::Network::CClientList>;
|
||||
template class BLACKMISC_EXPORT_DEFINE_TEMPLATE ICallsignObjectList<BlackMisc::Network::CUser, BlackMisc::Network::CUserList>;
|
||||
//! \endcond
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -43,6 +43,8 @@ namespace BlackMisc
|
||||
{
|
||||
class CClient;
|
||||
class CClientList;
|
||||
class CUser;
|
||||
class CUserList;
|
||||
}
|
||||
|
||||
namespace Aviation
|
||||
@@ -142,6 +144,7 @@ namespace BlackMisc
|
||||
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE ICallsignObjectList<BlackMisc::Simulation::CSimulatedAircraft, BlackMisc::Simulation::CSimulatedAircraftList>;
|
||||
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE ICallsignObjectList<BlackMisc::Simulation::CInterpolationAndRenderingSetupPerCallsign, BlackMisc::Simulation::CInterpolationSetupList>;
|
||||
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE ICallsignObjectList<BlackMisc::Network::CClient, BlackMisc::Network::CClientList>;
|
||||
extern template class BLACKMISC_EXPORT_DECLARE_TEMPLATE ICallsignObjectList<BlackMisc::Network::CUser, BlackMisc::Network::CUserList>;
|
||||
//! \endcond
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -63,10 +63,12 @@ namespace BlackMisc
|
||||
return this->getId();
|
||||
}
|
||||
|
||||
void CUser::setCallsign(const CCallsign &callsign)
|
||||
bool CUser::setCallsign(const CCallsign &callsign)
|
||||
{
|
||||
if (m_callsign == callsign) { return false; }
|
||||
m_callsign = callsign;
|
||||
this->deriveHomeBaseFromCallsign();
|
||||
return true;
|
||||
}
|
||||
|
||||
QString CUser::convertToQString(bool i18n) const
|
||||
|
||||
@@ -146,7 +146,7 @@ namespace BlackMisc
|
||||
const Aviation::CCallsign &getCallsign() const { return m_callsign; }
|
||||
|
||||
//! Set associated callsign
|
||||
void setCallsign(const Aviation::CCallsign &callsign);
|
||||
bool setCallsign(const Aviation::CCallsign &callsign);
|
||||
|
||||
//! \copydoc BlackMisc::Mixin::Icon::toIcon()
|
||||
CIcon toIcon() const { return this->getCallsign().toIcon(); }
|
||||
|
||||
@@ -11,11 +11,13 @@
|
||||
#ifndef BLACKMISC_NETWORK_USERLIST_H
|
||||
#define BLACKMISC_NETWORK_USERLIST_H
|
||||
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
#include "blackmisc/collection.h"
|
||||
#include "blackmisc/aviation/callsignobjectlist.h"
|
||||
#include "blackmisc/network/user.h"
|
||||
#include "blackmisc/collection.h"
|
||||
#include "blackmisc/sequence.h"
|
||||
#include "blackmisc/variant.h"
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
|
||||
#include <QMetaType>
|
||||
|
||||
namespace BlackMisc
|
||||
@@ -25,7 +27,8 @@ namespace BlackMisc
|
||||
//! Value object encapsulating a list of voice rooms.
|
||||
class BLACKMISC_EXPORT CUserList :
|
||||
public CSequence<CUser>,
|
||||
public BlackMisc::Mixin::MetaType<CUserList>
|
||||
public Aviation::ICallsignObjectList<CUser, CUserList>,
|
||||
public Mixin::MetaType<CUserList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CUserList)
|
||||
|
||||
Reference in New Issue
Block a user