# HG changeset patch
# User Wuzzy <Wuzzy2@mail.ru>
# Date 1521482329 -3600
# Node ID 7d7eb27dab31b6c2d269edd84377da60acd02df7
# Parent  0cfa8f6a4e8076a092342ed7f408186a9a817f1e
Fix theme chooser failing to filter themes by name

diff -r 0cfa8f6a4e80 -r 7d7eb27dab31 QTfrontend/model/ThemeFilterProxyModel.cpp
--- a/QTfrontend/model/ThemeFilterProxyModel.cpp	Mon Mar 19 16:07:08 2018 +0100
+++ b/QTfrontend/model/ThemeFilterProxyModel.cpp	Mon Mar 19 18:58:49 2018 +0100
@@ -38,10 +38,20 @@
         QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
         bool isDLC = index.data(ThemeModel::IsDlcRole).toBool();
         bool isHidden = index.data(ThemeModel::IsHiddenRole).toBool();
-        return (
+        if(
             ((isFilteringDLC && !isDLC) || !isFilteringDLC) &&
-            ((isFilteringHidden && !isHidden) || !isFilteringHidden));
-
+            ((isFilteringHidden && !isHidden) || !isFilteringHidden))
+        {
+            if(!filterRegExp().isEmpty())
+            {
+                // Also check regular expression set by the theme chooser search
+                QString name = index.data(ThemeModel::ActualNameRole).toString();
+                int index = filterRegExp().indexIn(name);
+                return index != -1;
+            }
+            else
+                return true;
+        }
     }
     else
     {
diff -r 0cfa8f6a4e80 -r 7d7eb27dab31 QTfrontend/ui/widget/themeprompt.cpp
--- a/QTfrontend/ui/widget/themeprompt.cpp	Mon Mar 19 16:07:08 2018 +0100
+++ b/QTfrontend/ui/widget/themeprompt.cpp	Mon Mar 19 18:58:49 2018 +0100
@@ -73,6 +73,8 @@
     filterModel = themeModel->withoutHidden();
     // Custom filter extension
     filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
+    // Reset search field
+    filterModel->setFilterFixedString(QString());
 
     // Grid
     QGridLayout * dialogLayout = new QGridLayout(this);