diff --git a/src/blackgui/filters/aircraftmodelfilterdialog.ui b/src/blackgui/filters/aircraftmodelfilterdialog.ui index 5413ba718..eab7d3ad5 100644 --- a/src/blackgui/filters/aircraftmodelfilterdialog.ui +++ b/src/blackgui/filters/aircraftmodelfilterdialog.ui @@ -6,12 +6,18 @@ 0 0 - 400 + 800 150 + + + 700 + 150 + + - Dialog + Model filter dialog diff --git a/src/blackgui/models/modelfilter.cpp b/src/blackgui/models/modelfilter.cpp index 814e87da1..2eb6c127b 100644 --- a/src/blackgui/models/modelfilter.cpp +++ b/src/blackgui/models/modelfilter.cpp @@ -7,8 +7,11 @@ */ #include "blackgui/models/modelfilter.h" +#include "blackmisc/logmessage.h" #include +using namespace BlackMisc; + namespace BlackGui { namespace Models @@ -48,8 +51,17 @@ namespace BlackGui return v.endsWith(filterNoWildcard, cs); } + // wildcard in middle + if (f.contains('*')) + { + const QStringList parts = v.split('*'); + if (parts.size() < 2) { return false; } + const bool s = v.startsWith(parts.front(), cs) && v.endsWith(parts.back()); + return s; + } + // should never happen - qFatal("Illegal state"); + CLogMessage(this).error(u"Illegal search pattern : '%1'") << f; return false; }