mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
refs #415, mixin style lists
This commit is contained in:
@@ -61,16 +61,5 @@ namespace BlackMisc
|
||||
return ms;
|
||||
}
|
||||
|
||||
void CAircraftModelList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAircraftModel>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAircraftModel>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAircraftModel>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAircraftModel>>();
|
||||
qRegisterMetaType<CAircraftModelList>();
|
||||
qDBusRegisterMetaType<CAircraftModelList>();
|
||||
registerMetaValueType<CAircraftModelList>();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -21,21 +21,20 @@ namespace BlackMisc
|
||||
{
|
||||
namespace Simulation
|
||||
{
|
||||
/*!
|
||||
* Value object encapsulating a list of aircraft models
|
||||
*/
|
||||
class BLACKMISC_EXPORT CAircraftModelList : public CSequence<CAircraftModel>
|
||||
//! Value object encapsulating a list of aircraft models
|
||||
class BLACKMISC_EXPORT CAircraftModelList :
|
||||
public CSequence<CAircraftModel>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftModelList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftModelList)
|
||||
|
||||
//! Empty constructor.
|
||||
CAircraftModelList();
|
||||
|
||||
//! Construct from a base class object.
|
||||
CAircraftModelList(const CSequence<CAircraftModel> &other);
|
||||
|
||||
//! QVariant, required for DBus QVariant lists
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Contains model string
|
||||
bool containsModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
@@ -51,12 +50,6 @@ namespace BlackMisc
|
||||
//! Model strings
|
||||
QStringList getSortedModelStrings() const;
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -282,7 +282,7 @@ namespace BlackMisc
|
||||
|
||||
QString content(line.mid(index + 1).trimmed());
|
||||
|
||||
// fix "" strings, some are malformed and just contain " at beginning, end
|
||||
// fix "" strings, some are malformed and just contain " at beginning, not clsoing at end of line
|
||||
if (content.endsWith('"')) { content.remove(content.size() - 1 , 1); }
|
||||
if (content.startsWith('"')) { content.remove(0 , 1); }
|
||||
|
||||
@@ -294,17 +294,6 @@ namespace BlackMisc
|
||||
return content;
|
||||
}
|
||||
|
||||
void CAircraftCfgEntriesList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAircraftCfgEntries>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAircraftCfgEntries>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAircraftCfgEntries>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAircraftCfgEntries>>();
|
||||
qRegisterMetaType<CAircraftCfgEntriesList>();
|
||||
qDBusRegisterMetaType<CAircraftCfgEntriesList>();
|
||||
BlackMisc::registerMetaValueType<CAircraftCfgEntriesList>();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -28,12 +28,13 @@ namespace BlackMisc
|
||||
{
|
||||
namespace FsCommon
|
||||
{
|
||||
|
||||
//! Utility, providing FS aircraft.cfg entries
|
||||
class BLACKMISC_EXPORT CAircraftCfgEntriesList : public BlackMisc::CSequence<CAircraftCfgEntries>
|
||||
class BLACKMISC_EXPORT CAircraftCfgEntriesList :
|
||||
public BlackMisc::CSequence<CAircraftCfgEntries>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftCfgEntriesList>
|
||||
{
|
||||
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftCfgEntriesList)
|
||||
|
||||
//! Constructor
|
||||
CAircraftCfgEntriesList(const QString &rootDirectory = "") : m_rootDirectory(rootDirectory) {}
|
||||
@@ -74,18 +75,9 @@ namespace BlackMisc
|
||||
//! Find by title
|
||||
CAircraftCfgEntriesList findByTitle(const QString &title, Qt::CaseSensitivity caseSensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Do not include the following directories for FS
|
||||
static const QStringList &excludeDirectories();
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
private:
|
||||
QString m_rootDirectory; //!< root directory reading aircraft.cfg files
|
||||
bool m_readForDirectory = false; //!< valid read for given directory
|
||||
|
||||
@@ -28,17 +28,6 @@ namespace BlackMisc
|
||||
CSequence<CSimulatedAircraft>(other)
|
||||
{ }
|
||||
|
||||
void CSimulatedAircraftList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CSimulatedAircraft>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CSimulatedAircraft>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CSimulatedAircraft>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CSimulatedAircraft>>();
|
||||
qRegisterMetaType<CSimulatedAircraftList>();
|
||||
qDBusRegisterMetaType<CSimulatedAircraftList>();
|
||||
registerMetaValueType<CSimulatedAircraftList>();
|
||||
}
|
||||
|
||||
CUserList CSimulatedAircraftList::getPilots() const
|
||||
{
|
||||
return this->findBy(Predicates::MemberValid(&CSimulatedAircraft::getPilot)).transform(Predicates::MemberTransform(&CSimulatedAircraft::getPilot));
|
||||
|
||||
@@ -32,9 +32,12 @@ namespace BlackMisc
|
||||
class BLACKMISC_EXPORT CSimulatedAircraftList :
|
||||
public BlackMisc::CSequence<CSimulatedAircraft>,
|
||||
public BlackMisc::Aviation::ICallsignObjectList<CSimulatedAircraft, CSimulatedAircraftList>,
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CSimulatedAircraft, CSimulatedAircraftList>
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CSimulatedAircraft, CSimulatedAircraftList>,
|
||||
public BlackMisc::Mixin::MetaType<CSimulatedAircraftList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CSimulatedAircraftList)
|
||||
|
||||
//! Default constructor.
|
||||
CSimulatedAircraftList();
|
||||
|
||||
@@ -71,18 +74,9 @@ namespace BlackMisc
|
||||
//! Rendered?
|
||||
bool isRendered(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! To aircraft list
|
||||
BlackMisc::Aviation::CAircraftList toAircraftList() const;
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -29,16 +29,5 @@ namespace BlackMisc
|
||||
return this->transform([i18n](const CSimulatorPluginInfo & info) { return info.toQString(i18n); });
|
||||
}
|
||||
|
||||
void CSimulatorPluginInfoList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CSimulatorPluginInfo>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CSimulatorPluginInfo>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CSimulatorPluginInfo>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CSimulatorPluginInfo>>();
|
||||
qRegisterMetaType<CSimulatorPluginInfoList>();
|
||||
qDBusRegisterMetaType<CSimulatorPluginInfoList>();
|
||||
BlackMisc::registerMetaValueType<CSimulatorPluginInfoList>();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -23,27 +23,25 @@ namespace BlackMisc
|
||||
namespace Simulation
|
||||
{
|
||||
//! Value object encapsulating a list of SimulatorInfo objects.
|
||||
class BLACKMISC_EXPORT CSimulatorPluginInfoList : public BlackMisc::CSequence<CSimulatorPluginInfo>
|
||||
class BLACKMISC_EXPORT CSimulatorPluginInfoList :
|
||||
public BlackMisc::CSequence<CSimulatorPluginInfo>,
|
||||
public BlackMisc::Mixin::MetaType<CSimulatorPluginInfoList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CSimulatorPluginInfoList)
|
||||
|
||||
//! Default constructor
|
||||
CSimulatorPluginInfoList();
|
||||
|
||||
//! Construct from a base class object.
|
||||
CSimulatorPluginInfoList(const CSequence<CSimulatorPluginInfo> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Is simulator supported
|
||||
bool supportsSimulator(const QString &simulator);
|
||||
|
||||
//! String list with meaningful representations
|
||||
QStringList toStringList(bool i18n = false) const;
|
||||
|
||||
//! Register the metatypes
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
Reference in New Issue
Block a user