Settings for reverse lookup + fixes

Ref T658 related
This commit is contained in:
Klaus Basan
2019-06-15 00:04:46 +02:00
parent 5f738ab544
commit b2de22fb50
4 changed files with 259 additions and 111 deletions

View File

@@ -61,6 +61,10 @@ namespace BlackGui
CGuiUtility::checkBoxReadOnly(ui->cb_ModelSetVerificationOnlyErrorWarning, readonly); CGuiUtility::checkBoxReadOnly(ui->cb_ModelSetVerificationOnlyErrorWarning, readonly);
CGuiUtility::checkBoxReadOnly(ui->cb_CategoryGlider, readonly); CGuiUtility::checkBoxReadOnly(ui->cb_CategoryGlider, readonly);
CGuiUtility::checkBoxReadOnly(ui->cb_CategoryMilitaryAircraft, 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; const bool enabled = !readonly;
ui->rb_Reduction->setEnabled(enabled); ui->rb_Reduction->setEnabled(enabled);
@@ -68,17 +72,16 @@ namespace BlackGui
ui->rb_ScoreOnly->setEnabled(enabled); ui->rb_ScoreOnly->setEnabled(enabled);
ui->rb_ByIcaoDataAircraft1st->setEnabled(enabled); ui->rb_ByIcaoDataAircraft1st->setEnabled(enabled);
ui->rb_ByIcaoDataAirline1st->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_AirlineGroupNo->setEnabled(enabled);
ui->rb_AirlineGroupIfNoAirline->setEnabled(enabled); ui->rb_AirlineGroupIfNoAirline->setEnabled(enabled);
ui->rb_PickFirst->setEnabled(enabled);
ui->rb_PickByOrder->setEnabled(enabled); ui->rb_PickByOrder->setEnabled(enabled);
ui->rb_PickRandom->setEnabled(enabled); ui->rb_PickRandom->setEnabled(enabled);
ui->le_MsReverseLookup->setEnabled(enabled); ui->le_MsReverseLookup->setEnabled(enabled);
ui->le_MsMatching->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 CStatusMessageList CMatchingForm::validate(bool withNestedForms) const
@@ -113,6 +116,7 @@ namespace BlackGui
ui->cb_ByForceCivilian->setChecked(mode.testFlag(CAircraftMatcherSetup::ByForceCivilian)); ui->cb_ByForceCivilian->setChecked(mode.testFlag(CAircraftMatcherSetup::ByForceCivilian));
ui->cb_CategoryGlider->setChecked(mode.testFlag(CAircraftMatcherSetup::ByCategoryGlider)); ui->cb_CategoryGlider->setChecked(mode.testFlag(CAircraftMatcherSetup::ByCategoryGlider));
ui->cb_CategoryMilitaryAircraft->setChecked(mode.testFlag(CAircraftMatcherSetup::ByCategoryMilitary)); 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_ByVtol->setChecked(mode.testFlag(CAircraftMatcherSetup::ByVtol));
ui->cb_ScoreIgnoreZeros->setChecked(mode.testFlag(CAircraftMatcherSetup::ScoreIgnoreZeros)); ui->cb_ScoreIgnoreZeros->setChecked(mode.testFlag(CAircraftMatcherSetup::ScoreIgnoreZeros));
ui->cb_ScorePreferColorLiveries->setChecked(mode.testFlag(CAircraftMatcherSetup::ScorePreferColorLiveries)); ui->cb_ScorePreferColorLiveries->setChecked(mode.testFlag(CAircraftMatcherSetup::ScorePreferColorLiveries));
@@ -122,6 +126,8 @@ namespace BlackGui
ui->cb_ModelFailedFailover->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelFailoverIfNoModelCanBeAdded)); ui->cb_ModelFailedFailover->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelFailoverIfNoModelCanBeAdded));
ui->cb_ModelSetVerification->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelVerificationAtStartup)); ui->cb_ModelSetVerification->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelVerificationAtStartup));
ui->cb_ModelSetVerificationOnlyErrorWarning->setChecked(mode.testFlag(CAircraftMatcherSetup::ModelVerificationOnlyWarnError)); 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->setMatchingAlgorithm(setup);
this->setPickStrategy(setup); this->setPickStrategy(setup);
@@ -187,6 +193,7 @@ namespace BlackGui
CAircraftMatcherSetup::MatchingMode CMatchingForm::matchingMode() const CAircraftMatcherSetup::MatchingMode CMatchingForm::matchingMode() const
{ {
return CAircraftMatcherSetup::matchingMode( return CAircraftMatcherSetup::matchingMode(
ui->cb_ReverseUseModelString->isChecked(), ui->cb_ReverseUseSwiftLiveryIds->isChecked(),
ui->cb_ByModelString->isChecked(), ui->cb_ByModelString->isChecked(),
ui->rb_ByIcaoDataAircraft1st->isChecked(), ui->rb_ByIcaoDataAirline1st->isChecked(), ui->rb_ByIcaoDataAircraft1st->isChecked(), ui->rb_ByIcaoDataAirline1st->isChecked(),
ui->cb_ByFamily->isChecked(), ui->cb_ByLivery->isChecked(), ui->cb_ByFamily->isChecked(), ui->cb_ByLivery->isChecked(),
@@ -196,6 +203,7 @@ namespace BlackGui
ui->cb_ByVtol->isChecked(), ui->cb_ByVtol->isChecked(),
ui->cb_CategoryGlider->isChecked(), ui->cb_CategoryGlider->isChecked(),
ui->cb_CategoryMilitaryAircraft->isChecked(), ui->cb_CategoryMilitaryAircraft->isChecked(),
ui->cb_CategorySmallAircraft->isChecked(),
ui->cb_ScoreIgnoreZeros->isChecked(), ui->cb_ScorePreferColorLiveries->isChecked(), ui->cb_ScoreIgnoreZeros->isChecked(), ui->cb_ScorePreferColorLiveries->isChecked(),
ui->cb_ExclNoDbData->isChecked(), ui->cb_ExclNoExcludedModels->isChecked(), ui->cb_ExclNoDbData->isChecked(), ui->cb_ExclNoExcludedModels->isChecked(),
ui->cb_ModelSetVerification->isChecked(), ui->cb_ModelSetVerificationOnlyErrorWarning->isChecked(), ui->cb_ModelSetVerification->isChecked(), ui->cb_ModelSetVerificationOnlyErrorWarning->isChecked(),

View File

@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>323</width> <width>315</width>
<height>667</height> <height>664</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -45,6 +45,18 @@
<string>Algorithm</string> <string>Algorithm</string>
</property> </property>
<layout class="QGridLayout" name="gl_Algorithm"> <layout class="QGridLayout" name="gl_Algorithm">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QRadioButton" name="rb_ScoreOnly"> <widget class="QRadioButton" name="rb_ScoreOnly">
<property name="text"> <property name="text">
@@ -88,6 +100,18 @@
<string>Matching script</string> <string>Matching script</string>
</property> </property>
<layout class="QGridLayout" name="gl_MatchingScript" columnstretch="0,1,0,0"> <layout class="QGridLayout" name="gl_MatchingScript" columnstretch="0,1,0,0">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="lbl_MsMatching"> <widget class="QLabel" name="lbl_MsMatching">
<property name="text"> <property name="text">
@@ -147,12 +171,59 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QGroupBox" name="gb_ReverseLookup">
<property name="title">
<string>Reverse lookup</string>
</property>
<layout class="QGridLayout" name="gl_ReverseLookup">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item row="0" column="0">
<widget class="QCheckBox" name="cb_ReverseUseModelString">
<property name="text">
<string>use model string</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="cb_ReverseUseSwiftLiveryIds">
<property name="text">
<string>use swift livery ids</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<widget class="QGroupBox" name="gb_PickStrategy"> <widget class="QGroupBox" name="gb_PickStrategy">
<property name="title"> <property name="title">
<string>Similar results (strategy)</string> <string>Similar results (strategy)</string>
</property> </property>
<layout class="QHBoxLayout" name="hl_PickStrategy"> <layout class="QHBoxLayout" name="hl_PickStrategy">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item> <item>
<widget class="QRadioButton" name="rb_PickFirst"> <widget class="QRadioButton" name="rb_PickFirst">
<property name="text"> <property name="text">
@@ -189,6 +260,18 @@
<string>Reduction</string> <string>Reduction</string>
</property> </property>
<layout class="QGridLayout" name="gl_Mode"> <layout class="QGridLayout" name="gl_Mode">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item row="2" column="0" colspan="2"> <item row="2" column="0" colspan="2">
<widget class="Line" name="line_Reduction"> <widget class="Line" name="line_Reduction">
<property name="orientation"> <property name="orientation">
@@ -313,13 +396,18 @@
<string>Matching by categories</string> <string>Matching by categories</string>
</property> </property>
<layout class="QGridLayout" name="gl_MacthingCategories"> <layout class="QGridLayout" name="gl_MacthingCategories">
<item row="0" column="0"> <property name="leftMargin">
<widget class="QCheckBox" name="cb_CategoryGlider"> <number>3</number>
<property name="text"> </property>
<string>Glider</string> <property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property> </property>
</widget>
</item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QCheckBox" name="cb_CategoryMilitaryAircraft"> <widget class="QCheckBox" name="cb_CategoryMilitaryAircraft">
<property name="text"> <property name="text">
@@ -327,6 +415,20 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0">
<widget class="QCheckBox" name="cb_CategoryGlider">
<property name="text">
<string>glider</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QCheckBox" name="cb_CategorySmallAircraft">
<property name="text">
<string>small aircraft</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@@ -342,6 +444,18 @@
<string>Failure handling and verification</string> <string>Failure handling and verification</string>
</property> </property>
<layout class="QGridLayout" name="gl_FailureHandling"> <layout class="QGridLayout" name="gl_FailureHandling">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QCheckBox" name="cb_ModelSetRemoveFailed"> <widget class="QCheckBox" name="cb_ModelSetRemoveFailed">
<property name="toolTip"> <property name="toolTip">
@@ -377,16 +491,25 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="gb_Exclusion"> <widget class="QGroupBox" name="gbExclusion">
<property name="title"> <property name="title">
<string>Exclusion</string> <string>Exclusion</string>
</property> </property>
<layout class="QHBoxLayout" name="hl_Exclude"> <layout class="QHBoxLayout" name="hl_Exclusion">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item> <item>
<widget class="QCheckBox" name="cb_ExclNoExcludedModels"> <widget class="QCheckBox" name="cb_ExclNoExcludedModels">
<property name="toolTip">
<string>models marked as excluded are ignored</string>
</property>
<property name="text"> <property name="text">
<string>excluded models</string> <string>excluded models</string>
</property> </property>
@@ -394,11 +517,8 @@
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cb_ExclNoDbData"> <widget class="QCheckBox" name="cb_ExclNoDbData">
<property name="toolTip">
<string>models without DB data are ignored</string>
</property>
<property name="text"> <property name="text">
<string>exclude if no DB data</string> <string>exclude if no DB models</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -411,6 +531,18 @@
<string>Scoring</string> <string>Scoring</string>
</property> </property>
<layout class="QHBoxLayout" name="hl_Scoring"> <layout class="QHBoxLayout" name="hl_Scoring">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item> <item>
<widget class="QCheckBox" name="cb_ScorePreferColorLiveries"> <widget class="QCheckBox" name="cb_ScorePreferColorLiveries">
<property name="text"> <property name="text">
@@ -442,6 +574,8 @@
<tabstop>le_MsMatching</tabstop> <tabstop>le_MsMatching</tabstop>
<tabstop>cb_MsMatching</tabstop> <tabstop>cb_MsMatching</tabstop>
<tabstop>pb_MsMatching</tabstop> <tabstop>pb_MsMatching</tabstop>
<tabstop>cb_ReverseUseModelString</tabstop>
<tabstop>cb_ReverseUseSwiftLiveryIds</tabstop>
<tabstop>rb_PickFirst</tabstop> <tabstop>rb_PickFirst</tabstop>
<tabstop>rb_PickRandom</tabstop> <tabstop>rb_PickRandom</tabstop>
<tabstop>rb_PickByOrder</tabstop> <tabstop>rb_PickByOrder</tabstop>
@@ -459,6 +593,7 @@
<tabstop>cb_ByForceCivilian</tabstop> <tabstop>cb_ByForceCivilian</tabstop>
<tabstop>cb_CategoryGlider</tabstop> <tabstop>cb_CategoryGlider</tabstop>
<tabstop>cb_CategoryMilitaryAircraft</tabstop> <tabstop>cb_CategoryMilitaryAircraft</tabstop>
<tabstop>cb_CategorySmallAircraft</tabstop>
<tabstop>cb_ModelSetVerification</tabstop> <tabstop>cb_ModelSetVerification</tabstop>
<tabstop>cb_ModelSetVerificationOnlyErrorWarning</tabstop> <tabstop>cb_ModelSetVerificationOnlyErrorWarning</tabstop>
<tabstop>cb_ModelSetRemoveFailed</tabstop> <tabstop>cb_ModelSetRemoveFailed</tabstop>
@@ -471,7 +606,7 @@
<resources/> <resources/>
<connections/> <connections/>
<buttongroups> <buttongroups>
<buttongroup name="bg_AirlineGroup"/>
<buttongroup name="bg_ICAOfirst"/> <buttongroup name="bg_ICAOfirst"/>
<buttongroup name="bg_AirlineGroup"/>
</buttongroups> </buttongroups>
</ui> </ui>

View File

@@ -68,13 +68,6 @@ namespace BlackMisc
this->setMatchingMode(m); 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) void CAircraftMatcherSetup::setAirlineGroupBehaviour(bool ifNoAirline, bool sameAsAirline)
{ {
MatchingMode m = this->getMatchingMode(); MatchingMode m = this->getMatchingMode();
@@ -201,13 +194,16 @@ namespace BlackMisc
static const QString modelFailedAdded("Replace models failed to be added"); static const QString modelFailedAdded("Replace models failed to be added");
static const QString categoryGlider("glider categories"); static const QString categoryGlider("glider categories");
static const QString categoryMilitary("military categories"); static const QString categoryMilitary("military categories");
static const QString categorySmallAircraft("small aircraft categories");
static const QString revModelString("reverse model lookup"); static const QString revModelString("reverse model lookup");
static const QString revLiveryIds("reverse livery ids");
static const QString agSameAsAirline("group as airline"); static const QString agSameAsAirline("group as airline");
static const QString agIfNoAirline("group if no airline"); static const QString agIfNoAirline("group if no airline");
switch (modeFlag) switch (modeFlag)
{ {
case ReverseLookupModelString: return revModelString; case ReverseLookupModelString: return revModelString;
case ReverseLookupSwiftLiveryIds: return revLiveryIds;
case ByModelString: return ms; case ByModelString: return ms;
case ByIcaoData: return icao; case ByIcaoData: return icao;
case ByFamily: return family; case ByFamily: return family;
@@ -220,6 +216,7 @@ namespace BlackMisc
case ByVtol: return vtol; case ByVtol: return vtol;
case ByCategoryGlider: return categoryGlider; case ByCategoryGlider: return categoryGlider;
case ByCategoryMilitary: return categoryMilitary; case ByCategoryMilitary: return categoryMilitary;
case ByCategorySmallAircraft: return categorySmallAircraft;
case ScoreIgnoreZeros: return noZeros; case ScoreIgnoreZeros: return noZeros;
case ScorePreferColorLiveries: return preferColorLiveries; case ScorePreferColorLiveries: return preferColorLiveries;
case ExcludeNoDbData: return exNoDb; case ExcludeNoDbData: return exNoDb;
@@ -241,6 +238,7 @@ namespace BlackMisc
{ {
QStringList modes; QStringList modes;
if (mode.testFlag(ReverseLookupModelString)) { modes << modeFlagToString(ReverseLookupModelString); } if (mode.testFlag(ReverseLookupModelString)) { modes << modeFlagToString(ReverseLookupModelString); }
if (mode.testFlag(ReverseLookupSwiftLiveryIds)) { modes << modeFlagToString(ReverseLookupSwiftLiveryIds); }
if (mode.testFlag(ByModelString)) { modes << modeFlagToString(ByModelString); } if (mode.testFlag(ByModelString)) { modes << modeFlagToString(ByModelString); }
if (mode.testFlag(ByIcaoData)) { modes << modeFlagToString(ByIcaoData); } if (mode.testFlag(ByIcaoData)) { modes << modeFlagToString(ByIcaoData); }
if (mode.testFlag(ByIcaoOrderAircraftFirst)) { modes << modeFlagToString(ByIcaoOrderAircraftFirst); } if (mode.testFlag(ByIcaoOrderAircraftFirst)) { modes << modeFlagToString(ByIcaoOrderAircraftFirst); }
@@ -252,6 +250,7 @@ namespace BlackMisc
if (mode.testFlag(ByForceMilitary)) { modes << modeFlagToString(ByForceMilitary); } if (mode.testFlag(ByForceMilitary)) { modes << modeFlagToString(ByForceMilitary); }
if (mode.testFlag(ByCategoryGlider)) { modes << modeFlagToString(ByCategoryGlider); } if (mode.testFlag(ByCategoryGlider)) { modes << modeFlagToString(ByCategoryGlider); }
if (mode.testFlag(ByCategoryMilitary)) { modes << modeFlagToString(ByCategoryMilitary); } if (mode.testFlag(ByCategoryMilitary)) { modes << modeFlagToString(ByCategoryMilitary); }
if (mode.testFlag(ByCategorySmallAircraft)) { modes << modeFlagToString(ByCategorySmallAircraft); }
if (mode.testFlag(ByVtol)) { modes << modeFlagToString(ByVtol); } if (mode.testFlag(ByVtol)) { modes << modeFlagToString(ByVtol); }
if (mode.testFlag(ScoreIgnoreZeros)) { modes << modeFlagToString(ScoreIgnoreZeros); } if (mode.testFlag(ScoreIgnoreZeros)) { modes << modeFlagToString(ScoreIgnoreZeros); }
if (mode.testFlag(ScorePreferColorLiveries)) { modes << modeFlagToString(ScorePreferColorLiveries); } if (mode.testFlag(ScorePreferColorLiveries)) { modes << modeFlagToString(ScorePreferColorLiveries); }
@@ -283,9 +282,10 @@ namespace BlackMisc
} }
CAircraftMatcherSetup::MatchingMode CAircraftMatcherSetup::matchingMode( CAircraftMatcherSetup::MatchingMode CAircraftMatcherSetup::matchingMode(
bool revModelString, bool revLiveryIds,
bool byModelString, bool byIcaoDataAircraft1st, bool byIcaoDataAirline1st, bool byFamily, bool byLivery, bool byCombinedType, bool byModelString, bool byIcaoDataAircraft1st, bool byIcaoDataAirline1st, bool byFamily, bool byLivery, bool byCombinedType,
bool byForceMilitary, bool byForceCivilian, bool byVtol, bool byForceMilitary, bool byForceCivilian, bool byVtol,
bool byGliderCategory, bool byMilitaryCategory, bool byGliderCategory, bool byMilitaryCategory, bool bySmallAircraftCategory,
bool scoreIgnoreZeros, bool scorePreferColorLiveries, bool scoreIgnoreZeros, bool scorePreferColorLiveries,
bool excludeNoDbData, bool excludeNoExcluded, bool excludeNoDbData, bool excludeNoExcluded,
bool modelVerification, bool modelVerificationWarnError, bool modelVerification, bool modelVerificationWarnError,
@@ -304,6 +304,7 @@ namespace BlackMisc
if (byVtol) { mode |= ByVtol; } if (byVtol) { mode |= ByVtol; }
if (byGliderCategory) { mode |= ByCategoryGlider; } if (byGliderCategory) { mode |= ByCategoryGlider; }
if (byMilitaryCategory) { mode |= ByCategoryMilitary; } if (byMilitaryCategory) { mode |= ByCategoryMilitary; }
if (bySmallAircraftCategory) { mode |= ByCategorySmallAircraft; }
if (scoreIgnoreZeros) { mode |= ScoreIgnoreZeros; } if (scoreIgnoreZeros) { mode |= ScoreIgnoreZeros; }
if (scorePreferColorLiveries) { mode |= ScorePreferColorLiveries; } if (scorePreferColorLiveries) { mode |= ScorePreferColorLiveries; }
if (excludeNoDbData) { mode |= ExcludeNoDbData; } if (excludeNoDbData) { mode |= ExcludeNoDbData; }
@@ -312,6 +313,8 @@ namespace BlackMisc
if (modelVerification) { mode |= ModelVerificationAtStartup; } if (modelVerification) { mode |= ModelVerificationAtStartup; }
if (modelVerificationWarnError) { mode |= ModelVerificationOnlyWarnError; } if (modelVerificationWarnError) { mode |= ModelVerificationOnlyWarnError; }
if (modelFailover) { mode |= ModelFailoverIfNoModelCanBeAdded; } if (modelFailover) { mode |= ModelFailoverIfNoModelCanBeAdded; }
if (revModelString) { mode |= ReverseLookupModelString; }
if (revLiveryIds) { mode |= ReverseLookupSwiftLiveryIds; }
return mode; return mode;
} }
} // namespace } // namespace

View File

@@ -47,12 +47,6 @@ namespace BlackMisc
ByIcaoOrderAirlineFirst = (1 << 10) | ByIcaoData, ByIcaoOrderAirlineFirst = (1 << 10) | ByIcaoData,
ByAirlineGroupSameAsAirline = (1 << 11) | ByIcaoData, ByAirlineGroupSameAsAirline = (1 << 11) | ByIcaoData,
ByAirlineGroupIfNoAirline = (1 << 12) | 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 --- // --- exclusion ---
ExcludeNoDbData = 1 << 13, ExcludeNoDbData = 1 << 13,
@@ -62,12 +56,22 @@ namespace BlackMisc
// --- model set --- // --- model set ---
ModelSetRemoveFailedModel = 1 << 15, ModelSetRemoveFailedModel = 1 << 15,
ModelVerificationAtStartup = 1 << 16, ModelVerificationAtStartup = 1 << 16,
ModelVerificationOnlyWarnError = 1 << 18, // later added, hence 18
ModelFailoverIfNoModelCanBeAdded = 1 << 17, ModelFailoverIfNoModelCanBeAdded = 1 << 17,
ModelVerificationOnlyWarnError = 1 << 18, // later added, hence 18
// --- categories ---
ByCategoryGlider = 1 << 20,
ByCategoryMilitary = 1 << 21,
ByCategorySmallAircraft = 1 << 22,
// --- reverse lookup --- // --- reverse lookup ---
ReverseLookupModelString = 1 << 19, ReverseLookupModelString = 1 << 25,
ReverseLookupDefault = ReverseLookupModelString, ReverseLookupSwiftLiveryIds = 1 << 26,
ReverseLookupDefault = ReverseLookupModelString | ReverseLookupSwiftLiveryIds,
// --- score based matching ---
ScoreIgnoreZeros = 1 << 28, //!< zero scores are ignored
ScorePreferColorLiveries = 1 << 29, //!< prefer color liveries
// --- others --- // --- others ---
ModeNone = 0, ModeNone = 0,
@@ -185,9 +189,6 @@ namespace BlackMisc
//! Set the strategy //! Set the strategy
void setPickStrategy(PickSimilarStrategy strategy) { m_strategy = static_cast<int>(strategy); } void setPickStrategy(PickSimilarStrategy strategy) { m_strategy = static_cast<int>(strategy); }
//! Set reverse lookup flags
void setReverseLookup(bool useModelLookup);
//! Airline group behaviour //! Airline group behaviour
void setAirlineGroupBehaviour(bool ifNoAirline, bool sameAsAirline); void setAirlineGroupBehaviour(bool ifNoAirline, bool sameAsAirline);
@@ -222,10 +223,11 @@ namespace BlackMisc
static const QString &strategyToString(PickSimilarStrategy strategy); static const QString &strategyToString(PickSimilarStrategy strategy);
//! Mode by flags //! 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 byFamily, bool byLivery, bool byCombinedType,
bool byForceMilitary, bool byForceCivilian, 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 scoreIgnoreZeros, bool scorePreferColorLiveries, bool excludeNoDbData, bool excludeNoExcluded,
bool modelVerification, bool modelVerificationWarnError, bool modelSetRemoveFailedModel, bool modelFailover); bool modelVerification, bool modelVerificationWarnError, bool modelSetRemoveFailedModel, bool modelFailover);