clear filters when empty string is passed to applyFilter
boost::regex doesn't like empty strings in literal mode and throws exceptions.
This commit is contained in:
@@ -251,6 +251,12 @@ std::string Browser::currentFilter()
|
|||||||
|
|
||||||
void Browser::applyFilter(const std::string &filter)
|
void Browser::applyFilter(const std::string &filter)
|
||||||
{
|
{
|
||||||
|
if (filter.empty())
|
||||||
|
{
|
||||||
|
w.clearFilter();
|
||||||
|
w.clearFilterResults();
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
w.showAll();
|
w.showAll();
|
||||||
|
|||||||
@@ -559,6 +559,25 @@ std::string MediaLibrary::currentFilter()
|
|||||||
|
|
||||||
void MediaLibrary::applyFilter(const std::string &filter)
|
void MediaLibrary::applyFilter(const std::string &filter)
|
||||||
{
|
{
|
||||||
|
if (filter.empty())
|
||||||
|
{
|
||||||
|
if (isActiveWindow(Tags))
|
||||||
|
{
|
||||||
|
Tags.clearFilter();
|
||||||
|
Tags.clearFilterResults();
|
||||||
|
}
|
||||||
|
else if (isActiveWindow(Albums))
|
||||||
|
{
|
||||||
|
Albums.clearFilter();
|
||||||
|
Albums.clearFilterResults();
|
||||||
|
}
|
||||||
|
else if (isActiveWindow(Songs))
|
||||||
|
{
|
||||||
|
Songs.clearFilter();
|
||||||
|
Songs.clearFilterResults();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (isActiveWindow(Tags))
|
if (isActiveWindow(Tags))
|
||||||
|
|||||||
@@ -142,6 +142,12 @@ std::string Playlist::currentFilter()
|
|||||||
|
|
||||||
void Playlist::applyFilter(const std::string &filter)
|
void Playlist::applyFilter(const std::string &filter)
|
||||||
{
|
{
|
||||||
|
if (filter.empty())
|
||||||
|
{
|
||||||
|
w.clearFilter();
|
||||||
|
w.clearFilterResults();
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
w.showAll();
|
w.showAll();
|
||||||
|
|||||||
@@ -335,6 +335,20 @@ std::string PlaylistEditor::currentFilter()
|
|||||||
|
|
||||||
void PlaylistEditor::applyFilter(const std::string &filter)
|
void PlaylistEditor::applyFilter(const std::string &filter)
|
||||||
{
|
{
|
||||||
|
if (filter.empty())
|
||||||
|
{
|
||||||
|
if (isActiveWindow(Playlists))
|
||||||
|
{
|
||||||
|
Playlists.clearFilter();
|
||||||
|
Playlists.clearFilterResults();
|
||||||
|
}
|
||||||
|
else if (isActiveWindow(Content))
|
||||||
|
{
|
||||||
|
Content.clearFilter();
|
||||||
|
Content.clearFilterResults();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (isActiveWindow(Playlists))
|
if (isActiveWindow(Playlists))
|
||||||
|
|||||||
@@ -264,6 +264,12 @@ std::string SearchEngine::currentFilter()
|
|||||||
|
|
||||||
void SearchEngine::applyFilter(const std::string &filter)
|
void SearchEngine::applyFilter(const std::string &filter)
|
||||||
{
|
{
|
||||||
|
if (filter.empty())
|
||||||
|
{
|
||||||
|
w.clearFilter();
|
||||||
|
w.clearFilterResults();
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
w.showAll();
|
w.showAll();
|
||||||
|
|||||||
@@ -740,6 +740,20 @@ std::string TagEditor::currentFilter()
|
|||||||
|
|
||||||
void TagEditor::applyFilter(const std::string &filter)
|
void TagEditor::applyFilter(const std::string &filter)
|
||||||
{
|
{
|
||||||
|
if (filter.empty())
|
||||||
|
{
|
||||||
|
if (w == Dirs)
|
||||||
|
{
|
||||||
|
Dirs->clearFilter();
|
||||||
|
Dirs->clearFilterResults();
|
||||||
|
}
|
||||||
|
else if (w == Tags)
|
||||||
|
{
|
||||||
|
Tags->clearFilter();
|
||||||
|
Tags->clearFilterResults();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (w == Dirs)
|
if (w == Dirs)
|
||||||
|
|||||||
Reference in New Issue
Block a user