Better performance for filter

* valid filter flag only calculated once
* Better removal detection of filter dialog
This commit is contained in:
Klaus Basan
2016-04-08 13:57:39 +02:00
parent 5254d0ff71
commit e877c6dba5
17 changed files with 56 additions and 57 deletions

View File

@@ -1094,7 +1094,14 @@ namespace BlackGui
Q_ASSERT_X(provider, Q_FUNC_INFO, "Filter widget does not provide interface");
if (!provider) { return false; }
std::unique_ptr<IModelFilter<ContainerType>> f(provider->createModelFilter());
this->takeFilterOwnership(f);
if (f->isValid())
{
this->takeFilterOwnership(f);
}
else
{
this->removeFilter();
}
}
}
else