diff --git a/src/blackgui/editors/matchingform.cpp b/src/blackgui/editors/matchingform.cpp
index ebb100411..5df45267b 100644
--- a/src/blackgui/editors/matchingform.cpp
+++ b/src/blackgui/editors/matchingform.cpp
@@ -61,6 +61,10 @@ namespace BlackGui
CGuiUtility::checkBoxReadOnly(ui->cb_ModelSetVerificationOnlyErrorWarning, readonly);
CGuiUtility::checkBoxReadOnly(ui->cb_CategoryGlider, readonly);
CGuiUtility::checkBoxReadOnly(ui->cb_CategoryMilitaryAircraft, readonly);
+ CGuiUtility::checkBoxReadOnly(ui->cb_ReverseUseModelString, readonly);
+ CGuiUtility::checkBoxReadOnly(ui->cb_ReverseUseSwiftLiveryIds, readonly);
+ CGuiUtility::checkBoxReadOnly(ui->cb_MsReverseLookup, readonly);
+ CGuiUtility::checkBoxReadOnly(ui->cb_MsMatching, readonly);
const bool enabled = !readonly;
ui->rb_Reduction->setEnabled(enabled);
@@ -68,17 +72,16 @@ namespace BlackGui
ui->rb_ScoreOnly->setEnabled(enabled);
ui->rb_ByIcaoDataAircraft1st->setEnabled(enabled);
ui->rb_ByIcaoDataAirline1st->setEnabled(enabled);
- ui->rb_AirlineGroupAsAirline->setEnabled(enabled); ui->rb_PickFirst->setEnabled(enabled);
+ ui->rb_AirlineGroupAsAirline->setEnabled(enabled);
ui->rb_AirlineGroupNo->setEnabled(enabled);
ui->rb_AirlineGroupIfNoAirline->setEnabled(enabled);
+ ui->rb_PickFirst->setEnabled(enabled);
ui->rb_PickByOrder->setEnabled(enabled);
ui->rb_PickRandom->setEnabled(enabled);
ui->le_MsReverseLookup->setEnabled(enabled);
ui->le_MsMatching->setEnabled(enabled);
- CGuiUtility::checkBoxReadOnly(ui->cb_MsReverseLookup, readonly);
- CGuiUtility::checkBoxReadOnly(ui->cb_MsMatching, readonly);
}
CStatusMessageList CMatchingForm::validate(bool withNestedForms) const
@@ -113,6 +116,7 @@ namespace BlackGui
ui->cb_ByForceCivilian->setChecked(mode.testFlag(CAircraftMatcherSetup::ByForceCivilian));
ui->cb_CategoryGlider->setChecked(mode.testFlag(CAircraftMatcherSetup::ByCategoryGlider));
ui->cb_CategoryMilitaryAircraft->setChecked(mode.testFlag(CAircraftMatcherSetup::ByCategoryMilitary));
+ ui->cb_CategorySmallAircraft->setChecked(mode.testFlag(CAircraftMatcherSetup::ByCategorySmallAircraft));
ui->cb_ByVtol->setChecked(mode.testFlag(CAircraftMatcherSetup::ByVtol));
ui->cb_ScoreIgnoreZeros->setChecked(mode.testFlag(CAircraftMatcherSetup::ScoreIgnoreZeros));
ui->cb_ScorePreferColorLiveries->setChecked(mode.testFlag(CAircraftMatcherSetup::ScorePreferColorLiveries));
@@ -122,6 +126,8 @@ namespace BlackGui
ui->cb_ModelFailedFailover->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelFailoverIfNoModelCanBeAdded));
ui->cb_ModelSetVerification->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelVerificationAtStartup));
ui->cb_ModelSetVerificationOnlyErrorWarning->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelVerificationOnlyWarnError));
+ ui->cb_ReverseUseModelString->setChecked(mode.testFlag(CAircraftMatcherSetup::ReverseLookupModelString));
+ ui->cb_ReverseUseSwiftLiveryIds->setChecked(mode.testFlag(CAircraftMatcherSetup::ReverseLookupSwiftLiveryIds));
this->setMatchingAlgorithm(setup);
this->setPickStrategy(setup);
@@ -187,6 +193,7 @@ namespace BlackGui
CAircraftMatcherSetup::MatchingMode CMatchingForm::matchingMode() const
{
return CAircraftMatcherSetup::matchingMode(
+ ui->cb_ReverseUseModelString->isChecked(), ui->cb_ReverseUseSwiftLiveryIds->isChecked(),
ui->cb_ByModelString->isChecked(),
ui->rb_ByIcaoDataAircraft1st->isChecked(), ui->rb_ByIcaoDataAirline1st->isChecked(),
ui->cb_ByFamily->isChecked(), ui->cb_ByLivery->isChecked(),
@@ -196,6 +203,7 @@ namespace BlackGui
ui->cb_ByVtol->isChecked(),
ui->cb_CategoryGlider->isChecked(),
ui->cb_CategoryMilitaryAircraft->isChecked(),
+ ui->cb_CategorySmallAircraft->isChecked(),
ui->cb_ScoreIgnoreZeros->isChecked(), ui->cb_ScorePreferColorLiveries->isChecked(),
ui->cb_ExclNoDbData->isChecked(), ui->cb_ExclNoExcludedModels->isChecked(),
ui->cb_ModelSetVerification->isChecked(), ui->cb_ModelSetVerificationOnlyErrorWarning->isChecked(),
@@ -206,7 +214,7 @@ namespace BlackGui
CAircraftMatcherSetup::PickSimilarStrategy CMatchingForm::pickStrategy() const
{
- if (ui->rb_PickRandom->isChecked()) { return CAircraftMatcherSetup::PickRandom; }
+ if (ui->rb_PickRandom->isChecked()) { return CAircraftMatcherSetup::PickRandom; }
if (ui->rb_PickByOrder->isChecked()) { return CAircraftMatcherSetup::PickByOrder; }
return CAircraftMatcherSetup::PickFirst;
}
@@ -216,7 +224,7 @@ namespace BlackGui
switch (setup.getPickStrategy())
{
case CAircraftMatcherSetup::PickByOrder: ui->rb_PickByOrder->setChecked(true); break;
- case CAircraftMatcherSetup::PickRandom: ui->rb_PickRandom->setChecked(true); break;
+ case CAircraftMatcherSetup::PickRandom: ui->rb_PickRandom->setChecked(true); break;
case CAircraftMatcherSetup::PickFirst:
default:
ui->rb_PickFirst->setChecked(true); break;
diff --git a/src/blackgui/editors/matchingform.ui b/src/blackgui/editors/matchingform.ui
index 56596fb8c..a9293d0a6 100644
--- a/src/blackgui/editors/matchingform.ui
+++ b/src/blackgui/editors/matchingform.ui
@@ -6,8 +6,8 @@
0
0
- 323
- 667
+ 315
+ 664
@@ -45,6 +45,18 @@
Algorithm
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -88,6 +100,18 @@
Matching script
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -147,12 +171,59 @@
+ -
+
+
+ Reverse lookup
+
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
-
+
+
+ use model string
+
+
+
+ -
+
+
+ use swift livery ids
+
+
+
+
+
+
-
Similar results (strategy)
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -189,6 +260,18 @@
Reduction
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -313,13 +396,18 @@
Matching by categories
-
-
-
-
- Glider
-
-
-
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -327,6 +415,20 @@
+ -
+
+
+ glider
+
+
+
+ -
+
+
+ small aircraft
+
+
+
@@ -342,6 +444,18 @@
Failure handling and verification
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -377,16 +491,25 @@
-
-
+
Exclusion
-
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
-
- models marked as excluded are ignored
-
excluded models
@@ -394,11 +517,8 @@
-
-
- models without DB data are ignored
-
- exclude if no DB data
+ exclude if no DB models
@@ -411,6 +531,18 @@
Scoring
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
+ 3
+
-
@@ -442,6 +574,8 @@
le_MsMatching
cb_MsMatching
pb_MsMatching
+ cb_ReverseUseModelString
+ cb_ReverseUseSwiftLiveryIds
rb_PickFirst
rb_PickRandom
rb_PickByOrder
@@ -459,6 +593,7 @@
cb_ByForceCivilian
cb_CategoryGlider
cb_CategoryMilitaryAircraft
+ cb_CategorySmallAircraft
cb_ModelSetVerification
cb_ModelSetVerificationOnlyErrorWarning
cb_ModelSetRemoveFailed
@@ -471,7 +606,7 @@
-
+
diff --git a/src/blackmisc/simulation/aircraftmatchersetup.cpp b/src/blackmisc/simulation/aircraftmatchersetup.cpp
index 7447a38dc..26e5ff404 100644
--- a/src/blackmisc/simulation/aircraftmatchersetup.cpp
+++ b/src/blackmisc/simulation/aircraftmatchersetup.cpp
@@ -68,13 +68,6 @@ namespace BlackMisc
this->setMatchingMode(m);
}
- void CAircraftMatcherSetup::setReverseLookup(bool useModelLookup)
- {
- MatchingMode m = this->getMatchingMode();
- m.setFlag(ReverseLookupModelString, useModelLookup);
- this->setMatchingMode(m);
- }
-
void CAircraftMatcherSetup::setAirlineGroupBehaviour(bool ifNoAirline, bool sameAsAirline)
{
MatchingMode m = this->getMatchingMode();
@@ -118,11 +111,11 @@ namespace BlackMisc
const ColumnIndex i = index.frontCasted();
switch (i)
{
- case IndexMatchingAlgorithm: m_algorithm = variant.toInt(); break;
- case IndexMatchingMode: m_mode = variant.toInt(); break;
- case IndexPickStrategy: m_strategy = variant.toInt(); break;
+ case IndexMatchingAlgorithm: m_algorithm = variant.toInt(); break;
+ case IndexMatchingMode: m_mode = variant.toInt(); break;
+ case IndexPickStrategy: m_strategy = variant.toInt(); break;
case IndexMsNetworkEntryFile: m_msReverseLookupFile = variant.toQString(); break;
- case IndexMsMatchingStageFile: m_msMatchingStageFile = variant.toQString(); break;
+ case IndexMsMatchingStageFile: m_msMatchingStageFile = variant.toQString(); break;
case IndexMsNetworkEnabled: m_msReverseEnabled = variant.toBool(); break;
case IndexMsMatchingStageEnabled: m_msReverseEnabled = variant.toBool(); break;
default: break;
@@ -201,32 +194,36 @@ namespace BlackMisc
static const QString modelFailedAdded("Replace models failed to be added");
static const QString categoryGlider("glider categories");
static const QString categoryMilitary("military categories");
+ static const QString categorySmallAircraft("small aircraft categories");
static const QString revModelString("reverse model lookup");
+ static const QString revLiveryIds("reverse livery ids");
static const QString agSameAsAirline("group as airline");
static const QString agIfNoAirline("group if no airline");
switch (modeFlag)
{
- case ReverseLookupModelString: return revModelString;
- case ByModelString: return ms;
- case ByIcaoData: return icao;
- case ByFamily: return family;
- case ByLivery: return livery;
- case ByCombinedType: return combined;
- case ByIcaoOrderAircraftFirst: return icaoAircraft;
- case ByIcaoOrderAirlineFirst: return icaoAirline;
- case ByForceCivilian: return forceCiv;
- case ByForceMilitary: return forceMil;
- case ByVtol: return vtol;
- case ByCategoryGlider: return categoryGlider;
- case ByCategoryMilitary: return categoryMilitary;
- case ScoreIgnoreZeros: return noZeros;
- case ScorePreferColorLiveries: return preferColorLiveries;
- case ExcludeNoDbData: return exNoDb;
- case ExcludeNoExcluded: return exExcl;
- case ModelSetRemoveFailedModel: return removeFromModelSet;
- case ModelVerificationAtStartup: return verification;
- case ByAirlineGroupIfNoAirline: return agIfNoAirline;
+ case ReverseLookupModelString: return revModelString;
+ case ReverseLookupSwiftLiveryIds: return revLiveryIds;
+ case ByModelString: return ms;
+ case ByIcaoData: return icao;
+ case ByFamily: return family;
+ case ByLivery: return livery;
+ case ByCombinedType: return combined;
+ case ByIcaoOrderAircraftFirst: return icaoAircraft;
+ case ByIcaoOrderAirlineFirst: return icaoAirline;
+ case ByForceCivilian: return forceCiv;
+ case ByForceMilitary: return forceMil;
+ case ByVtol: return vtol;
+ case ByCategoryGlider: return categoryGlider;
+ case ByCategoryMilitary: return categoryMilitary;
+ case ByCategorySmallAircraft: return categorySmallAircraft;
+ case ScoreIgnoreZeros: return noZeros;
+ case ScorePreferColorLiveries: return preferColorLiveries;
+ case ExcludeNoDbData: return exNoDb;
+ case ExcludeNoExcluded: return exExcl;
+ case ModelSetRemoveFailedModel: return removeFromModelSet;
+ case ModelVerificationAtStartup: return verification;
+ case ByAirlineGroupIfNoAirline: return agIfNoAirline;
case ByAirlineGroupSameAsAirline: return agSameAsAirline;
case ModelVerificationOnlyWarnError: return verificationWarn;
case ModelFailoverIfNoModelCanBeAdded: return modelFailedAdded;
@@ -240,25 +237,27 @@ namespace BlackMisc
QString CAircraftMatcherSetup::modeToString(MatchingMode mode)
{
QStringList modes;
- if (mode.testFlag(ReverseLookupModelString)) { modes << modeFlagToString(ReverseLookupModelString); }
- if (mode.testFlag(ByModelString)) { modes << modeFlagToString(ByModelString); }
- if (mode.testFlag(ByIcaoData)) { modes << modeFlagToString(ByIcaoData); }
- if (mode.testFlag(ByIcaoOrderAircraftFirst)) { modes << modeFlagToString(ByIcaoOrderAircraftFirst); }
- if (mode.testFlag(ByIcaoOrderAirlineFirst)) { modes << modeFlagToString(ByIcaoOrderAirlineFirst); }
- if (mode.testFlag(ByFamily)) { modes << modeFlagToString(ByFamily); }
- if (mode.testFlag(ByLivery)) { modes << modeFlagToString(ByLivery); }
- if (mode.testFlag(ByCombinedType)) { modes << modeFlagToString(ByCombinedType); }
- if (mode.testFlag(ByForceCivilian)) { modes << modeFlagToString(ByForceCivilian); }
- if (mode.testFlag(ByForceMilitary)) { modes << modeFlagToString(ByForceMilitary); }
- if (mode.testFlag(ByCategoryGlider)) { modes << modeFlagToString(ByCategoryGlider); }
- if (mode.testFlag(ByCategoryMilitary)) { modes << modeFlagToString(ByCategoryMilitary); }
- if (mode.testFlag(ByVtol)) { modes << modeFlagToString(ByVtol); }
- if (mode.testFlag(ScoreIgnoreZeros)) { modes << modeFlagToString(ScoreIgnoreZeros); }
- if (mode.testFlag(ScorePreferColorLiveries)) { modes << modeFlagToString(ScorePreferColorLiveries); }
- if (mode.testFlag(ModelSetRemoveFailedModel)) { modes << modeFlagToString(ModelSetRemoveFailedModel); }
- if (mode.testFlag(ModelVerificationAtStartup)) { modes << modeFlagToString(ModelVerificationAtStartup); }
- if (mode.testFlag(ByAirlineGroupIfNoAirline)) { modes << modeFlagToString(ByAirlineGroupIfNoAirline); }
- if (mode.testFlag(ByAirlineGroupSameAsAirline)) { modes << modeFlagToString(ByAirlineGroupSameAsAirline); }
+ if (mode.testFlag(ReverseLookupModelString)) { modes << modeFlagToString(ReverseLookupModelString); }
+ if (mode.testFlag(ReverseLookupSwiftLiveryIds)) { modes << modeFlagToString(ReverseLookupSwiftLiveryIds); }
+ if (mode.testFlag(ByModelString)) { modes << modeFlagToString(ByModelString); }
+ if (mode.testFlag(ByIcaoData)) { modes << modeFlagToString(ByIcaoData); }
+ if (mode.testFlag(ByIcaoOrderAircraftFirst)) { modes << modeFlagToString(ByIcaoOrderAircraftFirst); }
+ if (mode.testFlag(ByIcaoOrderAirlineFirst)) { modes << modeFlagToString(ByIcaoOrderAirlineFirst); }
+ if (mode.testFlag(ByFamily)) { modes << modeFlagToString(ByFamily); }
+ if (mode.testFlag(ByLivery)) { modes << modeFlagToString(ByLivery); }
+ if (mode.testFlag(ByCombinedType)) { modes << modeFlagToString(ByCombinedType); }
+ if (mode.testFlag(ByForceCivilian)) { modes << modeFlagToString(ByForceCivilian); }
+ if (mode.testFlag(ByForceMilitary)) { modes << modeFlagToString(ByForceMilitary); }
+ if (mode.testFlag(ByCategoryGlider)) { modes << modeFlagToString(ByCategoryGlider); }
+ if (mode.testFlag(ByCategoryMilitary)) { modes << modeFlagToString(ByCategoryMilitary); }
+ if (mode.testFlag(ByCategorySmallAircraft)) { modes << modeFlagToString(ByCategorySmallAircraft); }
+ if (mode.testFlag(ByVtol)) { modes << modeFlagToString(ByVtol); }
+ if (mode.testFlag(ScoreIgnoreZeros)) { modes << modeFlagToString(ScoreIgnoreZeros); }
+ if (mode.testFlag(ScorePreferColorLiveries)) { modes << modeFlagToString(ScorePreferColorLiveries); }
+ if (mode.testFlag(ModelSetRemoveFailedModel)) { modes << modeFlagToString(ModelSetRemoveFailedModel); }
+ if (mode.testFlag(ModelVerificationAtStartup)) { modes << modeFlagToString(ModelVerificationAtStartup); }
+ if (mode.testFlag(ByAirlineGroupIfNoAirline)) { modes << modeFlagToString(ByAirlineGroupIfNoAirline); }
+ if (mode.testFlag(ByAirlineGroupSameAsAirline)) { modes << modeFlagToString(ByAirlineGroupSameAsAirline); }
if (mode.testFlag(ModelVerificationOnlyWarnError)) { modes << modeFlagToString(ModelVerificationOnlyWarnError); }
if (mode.testFlag(ModelFailoverIfNoModelCanBeAdded)) { modes << modeFlagToString(ModelFailoverIfNoModelCanBeAdded); }
return modes.join(", ");
@@ -283,35 +282,39 @@ namespace BlackMisc
}
CAircraftMatcherSetup::MatchingMode CAircraftMatcherSetup::matchingMode(
- bool byModelString, bool byIcaoDataAircraft1st, bool byIcaoDataAirline1st, bool byFamily, bool byLivery, bool byCombinedType,
- bool byForceMilitary, bool byForceCivilian, bool byVtol,
- bool byGliderCategory, bool byMilitaryCategory,
- bool scoreIgnoreZeros, bool scorePreferColorLiveries,
- bool excludeNoDbData, bool excludeNoExcluded,
+ bool revModelString, bool revLiveryIds,
+ bool byModelString, bool byIcaoDataAircraft1st, bool byIcaoDataAirline1st, bool byFamily, bool byLivery, bool byCombinedType,
+ bool byForceMilitary, bool byForceCivilian, bool byVtol,
+ bool byGliderCategory, bool byMilitaryCategory, bool bySmallAircraftCategory,
+ bool scoreIgnoreZeros, bool scorePreferColorLiveries,
+ bool excludeNoDbData, bool excludeNoExcluded,
bool modelVerification, bool modelVerificationWarnError,
bool modelSetRemoveFailedModel, bool modelFailover)
{
if (modelFailover) { modelSetRemoveFailedModel = true; } // otherwise this does not make sense
MatchingMode mode = byModelString ? ByModelString : ModeNone;
- if (byIcaoDataAircraft1st) { mode |= ByIcaoOrderAircraftFirst; }
- if (byIcaoDataAirline1st) { mode |= ByIcaoOrderAirlineFirst; }
- if (byFamily) { mode |= ByFamily; }
- if (byLivery) { mode |= ByLivery; }
- if (byCombinedType) { mode |= ByCombinedType; }
- if (byForceMilitary) { mode |= ByForceMilitary; }
- if (byForceCivilian) { mode |= ByForceCivilian; }
- if (byVtol) { mode |= ByVtol; }
- if (byGliderCategory) { mode |= ByCategoryGlider; }
- if (byMilitaryCategory) { mode |= ByCategoryMilitary; }
- if (scoreIgnoreZeros) { mode |= ScoreIgnoreZeros; }
- if (scorePreferColorLiveries) { mode |= ScorePreferColorLiveries; }
- if (excludeNoDbData) { mode |= ExcludeNoDbData; }
- if (excludeNoExcluded) { mode |= ExcludeNoExcluded; }
- if (modelSetRemoveFailedModel) { mode |= ModelSetRemoveFailedModel; }
- if (modelVerification) { mode |= ModelVerificationAtStartup; }
+ if (byIcaoDataAircraft1st) { mode |= ByIcaoOrderAircraftFirst; }
+ if (byIcaoDataAirline1st) { mode |= ByIcaoOrderAirlineFirst; }
+ if (byFamily) { mode |= ByFamily; }
+ if (byLivery) { mode |= ByLivery; }
+ if (byCombinedType) { mode |= ByCombinedType; }
+ if (byForceMilitary) { mode |= ByForceMilitary; }
+ if (byForceCivilian) { mode |= ByForceCivilian; }
+ if (byVtol) { mode |= ByVtol; }
+ if (byGliderCategory) { mode |= ByCategoryGlider; }
+ if (byMilitaryCategory) { mode |= ByCategoryMilitary; }
+ if (bySmallAircraftCategory) { mode |= ByCategorySmallAircraft; }
+ if (scoreIgnoreZeros) { mode |= ScoreIgnoreZeros; }
+ if (scorePreferColorLiveries) { mode |= ScorePreferColorLiveries; }
+ if (excludeNoDbData) { mode |= ExcludeNoDbData; }
+ if (excludeNoExcluded) { mode |= ExcludeNoExcluded; }
+ if (modelSetRemoveFailedModel) { mode |= ModelSetRemoveFailedModel; }
+ if (modelVerification) { mode |= ModelVerificationAtStartup; }
if (modelVerificationWarnError) { mode |= ModelVerificationOnlyWarnError; }
if (modelFailover) { mode |= ModelFailoverIfNoModelCanBeAdded; }
+ if (revModelString) { mode |= ReverseLookupModelString; }
+ if (revLiveryIds) { mode |= ReverseLookupSwiftLiveryIds; }
return mode;
}
} // namespace
diff --git a/src/blackmisc/simulation/aircraftmatchersetup.h b/src/blackmisc/simulation/aircraftmatchersetup.h
index 506d68cb2..c40672de0 100644
--- a/src/blackmisc/simulation/aircraftmatchersetup.h
+++ b/src/blackmisc/simulation/aircraftmatchersetup.h
@@ -43,16 +43,10 @@ namespace BlackMisc
ByForceCivilian = 1 << 7, //!< civilian (in) will only search in civilian
ByMilitary = ByForceCivilian | ByForceMilitary,
ByVtol = 1 << 8,
- ByIcaoOrderAircraftFirst = (1 << 9) | ByIcaoData,
+ ByIcaoOrderAircraftFirst = (1 << 9) | ByIcaoData,
ByIcaoOrderAirlineFirst = (1 << 10) | ByIcaoData,
ByAirlineGroupSameAsAirline = (1 << 11) | ByIcaoData,
ByAirlineGroupIfNoAirline = (1 << 12) | ByIcaoData,
- ByCategoryGlider = 1 << 20,
- ByCategoryMilitary = 1 << 21,
-
- // --- score based matching ---
- ScoreIgnoreZeros = 1 << 11, //!< zero scores are ignored
- ScorePreferColorLiveries = 1 << 12, //!< prefer color liveries
// --- exclusion ---
ExcludeNoDbData = 1 << 13,
@@ -62,12 +56,22 @@ namespace BlackMisc
// --- model set ---
ModelSetRemoveFailedModel = 1 << 15,
ModelVerificationAtStartup = 1 << 16,
- ModelVerificationOnlyWarnError = 1 << 18, // later added, hence 18
ModelFailoverIfNoModelCanBeAdded = 1 << 17,
+ ModelVerificationOnlyWarnError = 1 << 18, // later added, hence 18
+
+ // --- categories ---
+ ByCategoryGlider = 1 << 20,
+ ByCategoryMilitary = 1 << 21,
+ ByCategorySmallAircraft = 1 << 22,
// --- reverse lookup ---
- ReverseLookupModelString = 1 << 19,
- ReverseLookupDefault = ReverseLookupModelString,
+ ReverseLookupModelString = 1 << 25,
+ ReverseLookupSwiftLiveryIds = 1 << 26,
+ ReverseLookupDefault = ReverseLookupModelString | ReverseLookupSwiftLiveryIds,
+
+ // --- score based matching ---
+ ScoreIgnoreZeros = 1 << 28, //!< zero scores are ignored
+ ScorePreferColorLiveries = 1 << 29, //!< prefer color liveries
// --- others ---
ModeNone = 0,
@@ -77,7 +81,7 @@ namespace BlackMisc
ModeDefaultSet = ModelSetRemoveFailedModel | ModelVerificationAtStartup | ModelFailoverIfNoModelCanBeAdded,
// default depending on algorithm
- ModeDefaultScore = ScoreIgnoreZeros | ScorePreferColorLiveries | ExcludeDefault | ReverseLookupDefault,
+ ModeDefaultScore = ScoreIgnoreZeros | ScorePreferColorLiveries | ExcludeDefault | ReverseLookupDefault,
ModeDefaultReduce = ModeByFLags | ByModelString | ByFamily | ByManufacturer | ByCombinedType | ByIcaoOrderAircraftFirst | ByAirlineGroupIfNoAirline | ReverseLookupDefault | ExcludeDefault | ByLivery,
ModeDefaultReducePlusScore = ModeByFLags | ByModelString | ByFamily | ByManufacturer | ByCombinedType | ByIcaoOrderAircraftFirst | ByAirlineGroupIfNoAirline | ReverseLookupDefault | ExcludeDefault | ModeDefaultScore,
};
@@ -185,9 +189,6 @@ namespace BlackMisc
//! Set the strategy
void setPickStrategy(PickSimilarStrategy strategy) { m_strategy = static_cast(strategy); }
- //! Set reverse lookup flags
- void setReverseLookup(bool useModelLookup);
-
//! Airline group behaviour
void setAirlineGroupBehaviour(bool ifNoAirline, bool sameAsAirline);
@@ -222,10 +223,11 @@ namespace BlackMisc
static const QString &strategyToString(PickSimilarStrategy strategy);
//! Mode by flags
- static MatchingMode matchingMode(bool byModelString, bool byIcaoDataAircraft1st, bool byIcaoDataAirline1st,
+ static MatchingMode matchingMode(bool revModelString, bool revLiveryIds,
+ bool byModelString, bool byIcaoDataAircraft1st, bool byIcaoDataAirline1st,
bool byFamily, bool byLivery, bool byCombinedType,
bool byForceMilitary, bool byForceCivilian,
- bool byVtol, bool byGliderCategory, bool byMilitaryCategory,
+ bool byVtol, bool byGliderCategory, bool byMilitaryCategory, bool bySmallAircraftCategory,
bool scoreIgnoreZeros, bool scorePreferColorLiveries, bool excludeNoDbData, bool excludeNoExcluded,
bool modelVerification, bool modelVerificationWarnError, bool modelSetRemoveFailedModel, bool modelFailover);