diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/themeprompt.cpp --- a/QTfrontend/ui/widget/themeprompt.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/themeprompt.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -68,11 +68,13 @@ setStyleSheet("QPushButton { padding: 5px; margin-top: 10px; }"); - // Theme model, and a model for setting a filter + // Theme model ThemeModel * themeModel = DataManager::instance().themeModel(); - filterModel = new QSortFilterProxyModel(); - filterModel->setSourceModel(themeModel); + filterModel = themeModel->withoutHidden(); + // Custom filter extension filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); + // Reset search field + filterModel->setFilterFixedString(QString()); // Grid QGridLayout * dialogLayout = new QGridLayout(this); @@ -119,7 +121,7 @@ // Cancel button (closes dialog) QPushButton * btnCancel = new QPushButton(tr("Cancel")); - connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject())); + connect(btnCancel, SIGNAL(clicked()), this, SLOT(onRejected())); // Select button QPushButton * btnSelect = new QPushButton(tr("Use selected theme")); @@ -168,9 +170,16 @@ list->moveRight(); } +void ThemePrompt::onRejected() +{ + reject(); + filterModel->setFilterFixedString(QString()); +} + void ThemePrompt::onAccepted() { themeChosen(list->currentIndex()); + filterModel->setFilterFixedString(QString()); } // When a theme is selected