diff options
Diffstat (limited to 'src/app')
-rw-r--r-- | src/app/xineEngine.cpp | 38 |
1 files 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; } |