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;
}