From c0311bdfc33f07dbde42a9b4f4758a6c505aae84 Mon Sep 17 00:00:00 2001 From: mio Date: Tue, 10 Sep 2024 20:39:00 +1000 Subject: [PATCH] Fix filter list when opening a file Signed-off-by: mio --- src/app/xineEngine.cpp | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/src/app/xineEngine.cpp b/src/app/xineEngine.cpp index 3ae7220..6132f4a 100644 --- a/src/app/xineEngine.cpp +++ b/src/app/xineEngine.cpp @@ -902,13 +902,37 @@ VideoWindow::fileFilter() const { char *supportedExtensions = xine_get_file_extensions( m_xine ); - TQString filter( "*." ); - filter.append( supportedExtensions ); - filter.remove( "txt" ); - filter.remove( "png" ); - filter.replace( ' ', " *." ); - - std::free( supportedExtensions ); + TQString filter("*."); + filter.append(supportedExtensions); + + // Remove protocols + filter.remove(" dvb://"); + filter.remove(" dvbc://"); + filter.remove(" dvbs://"); + filter.remove(" dvbt://"); + filter.remove(" vcd:/"); + filter.remove(" vdr:/"); + filter.remove(" netvdr:/"); + filter.remove(" dvd:/"); + filter.remove(" pvr:/"); + filter.remove(" slave://"); + filter.remove(" cdda:/"); + + // Remove image files + filter.remove(" bmp"); + filter.remove(" gif"); + filter.remove(" jpg"); + filter.remove(" jpeg"); + filter.remove(" png"); + + // Remove misc. files + filter.remove(" txt"); + + // Remove spaces (prevent multiple *.) + filter.replace(" ", " "); + filter.replace(' ', " *."); + + std::free(supportedExtensions); return filter; }