diff -ru tepsonic.orig/player/CMakeLists.txt tepsonic/player/CMakeLists.txt
--- tepsonic.orig/player/CMakeLists.txt	2010-08-22 22:59:56.544524005 +0200
+++ tepsonic/player/CMakeLists.txt	2010-08-23 00:19:26.185212392 +0200
@@ -74,6 +74,7 @@
     preferencespages.cpp
     tools.cpp
     trayicon.cpp
+    supportedformats.cpp
     collections/collectionpopulator.cpp
     collections/collectionbrowser.cpp
     collections/collectionmodel.cpp
diff -ru tepsonic.orig/player/collections/collectionbuilder.cpp tepsonic/player/collections/collectionbuilder.cpp
--- tepsonic.orig/player/collections/collectionbuilder.cpp	2010-08-22 22:59:56.544524005 +0200
+++ tepsonic/player/collections/collectionbuilder.cpp	2010-08-23 00:11:36.708545724 +0200
@@ -21,6 +21,7 @@
 #include "collectionbuilder.h"
 #include "collectionmodel.h"
 #include "databasemanager.h"
+#include "supportedformats.h"
 
 #include <taglib/fileref.h>
 #include <taglib/tag.h>
@@ -83,7 +84,7 @@
                 QHash<QString,uint> dbFiles;
                 QStringList toBeUpdated;
                 QStringList toBeRemoved;
-                QStringList filters;
+                QStringList filters = SupportedFormats::getExtensionList();
 
                 {   // Populate dbFiles map by _ALL_ tracks from db
                     QSqlQuery query("SELECT filename, mtime FROM tracks;",*dbManager.sqlDb());
@@ -92,9 +93,6 @@
                     }
                 }
 
-                filters << "*.mp3" << "*.mp4" << "*.wav" << "*.flac";
-
-
                 /* We don't need to do transaction on MySQL.
                    On SQLite it makes it MUCH faster because otherwise SQLite will commit
                    every INSERT individually and that makes ~60 commits per second (depends on the
diff -ru tepsonic.orig/player/mainwindow.cpp tepsonic/player/mainwindow.cpp
--- tepsonic.orig/player/mainwindow.cpp	2010-08-22 22:59:56.547857338 +0200
+++ tepsonic/player/mainwindow.cpp	2010-08-23 00:08:49.251879056 +0200
@@ -37,6 +37,7 @@
 #include "taskmanager.h"
 #include "pluginsmanager.h"
 #include "tools.h"
+#include "supportedformats.h"
 
 #include <QMessageBox>
 #include <QDir>
@@ -352,8 +353,9 @@
 {
     QStringList fileNames = QFileDialog::getOpenFileNames(this,
                             tr("Select file"),
-                            "",
-                            tr("Supported files (*.mp3 *.wav *.ogg *.flac *.m3u);;Playlists (*.m3u);;All files (*.*)"));
+			    QDir::homePath(),
+			    tr("Supported files") + " (" + SupportedFormats::getExtensionList().join(" ") +
+				");;" + tr("Playlists") + " (*.m3u);;" + tr("All files") + " (*.*)");
     _taskManager->addFilesToPlaylist(fileNames);
 }
 
diff -ru tepsonic.orig/player/playlist/playlistpopulator.cpp tepsonic/player/playlist/playlistpopulator.cpp
--- tepsonic.orig/player/playlist/playlistpopulator.cpp	2010-08-22 22:59:56.547857338 +0200
+++ tepsonic/player/playlist/playlistpopulator.cpp	2010-08-22 23:26:38.315097673 +0200
@@ -19,6 +19,7 @@
 
 #include "playlistpopulator.h"
 #include "playlistmodel.h"
+#include "supportedformats.h"
 
 #include <QDirIterator>
 #include <QMutexLocker>
@@ -83,8 +84,7 @@
 
 void PlaylistPopulator::expandDir(QString dir)
 {
-    QStringList filters;
-    filters << "*.mp3" << "*.mp4" << "*.wav" << "*.flac";
+    QStringList filters = SupportedFormats::getExtensionList();
     //QDir dirlist(dir,QString(),QDir::Name,QDir::NoDotAndDotDot);
     QDir dirlist(dir);
     dirlist.setNameFilters(filters);
diff -ru tepsonic.orig/player/tracksiterator.cpp tepsonic/player/tracksiterator.cpp
--- tepsonic.orig/player/tracksiterator.cpp	2010-08-22 22:59:56.551190672 +0200
+++ tepsonic/player/tracksiterator.cpp	2010-08-22 23:25:46.758431005 +0200
@@ -19,6 +19,7 @@
 
 #include "tracksiterator.h"
 #include "playlistmodel.h"
+#include "supportedformats.h"
 
 #include <QDir>
 #include <QDirIterator>
@@ -38,8 +39,7 @@
     /**
          * @todo: Complete list of supported extensions
          */
-    QStringList filters;
-    filters << "*.mp3" << "*.mp4" << "*.wav" << "*.flac";
+    QStringList filters = SupportedFormats::getExtensionList();
     QDir dirlist(_rootDir);
     dirlist.setNameFilters(filters);
     QFileInfo fileInfo;
diff -ru tepsonic.orig/player/ts/cs.ts tepsonic/player/ts/cs.ts
--- tepsonic.orig/player/ts/cs.ts	2010-08-22 22:59:56.551190672 +0200
+++ tepsonic/player/ts/cs.ts	2010-08-23 00:15:46.221879060 +0200
@@ -5,18 +5,18 @@
     <name>CollectionBuilder</name>
     <message>
         <source>Unkown artist</source>
-        <translation type="obsolete">Neznámý umělec</translation>
+        <translation>Neznámý umělec</translation>
     </message>
     <message>
         <source>Unknown album</source>
-        <translation type="obsolete">Neznámé album</translation>
+        <translation>Neznámé album</translation>
     </message>
 </context>
 <context>
     <name>CollectionPopulator</name>
     <message numerus="yes">
         <source>%n album(s)</source>
-        <translation type="obsolete">
+        <translation>
             <numerusform>%n album</numerusform>
             <numerusform>%n alba</numerusform>
             <numerusform>%n alb</numerusform>
@@ -24,7 +24,7 @@
     </message>
     <message numerus="yes">
         <source>%n track(s)</source>
-        <translation type="obsolete">
+        <translation>
             <numerusform>%n skladba</numerusform>
             <numerusform>%n skladby</numerusform>
             <numerusform>%n skladeb</numerusform>
@@ -35,71 +35,102 @@
     <name>Collections</name>
     <message>
         <source>Form</source>
-        <translation type="obsolete">Formulář</translation>
+        <translation>Formulář</translation>
     </message>
     <message>
         <source>Collections</source>
-        <translation type="obsolete">Kolekce</translation>
+        <translation>Kolekce</translation>
     </message>
     <message>
         <source>Enable collections</source>
-        <translation type="obsolete">Zapnout kolekce</translation>
+        <translation>Zapnout kolekce</translation>
     </message>
     <message>
         <source>Update collections automatically after start</source>
-        <translation type="obsolete">Automaticky aktualizovat kolekce po spuštění</translation>
+        <translation>Automaticky aktualizovat kolekce po spuštění</translation>
     </message>
     <message>
         <source>Rebuild collections now</source>
-        <translation type="obsolete">Aktualizovat kolekce nyní</translation>
+        <translation>Aktualizovat kolekce nyní</translation>
     </message>
     <message>
         <source>Database engine</source>
-        <translation type="obsolete">Databáze</translation>
+        <translation>Databáze</translation>
     </message>
     <message>
         <source>SQLite</source>
-        <translation type="obsolete">SQLite</translation>
+        <translation>SQLite</translation>
     </message>
     <message>
         <source>MySQL</source>
-        <translation type="obsolete">MySQL</translation>
+        <translation>MySQL</translation>
     </message>
     <message>
         <source>MySQL settings</source>
-        <translation type="obsolete">Konfigurace MySQL</translation>
+        <translation>Konfigurace MySQL</translation>
     </message>
     <message>
         <source>Server</source>
-        <translation type="obsolete">Server</translation>
+        <translation>Server</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="obsolete">Heslo</translation>
+        <translation>Heslo</translation>
     </message>
     <message>
         <source>Username</source>
-        <translation type="obsolete">Uživ. jméno</translation>
+        <translation>Uživ. jméno</translation>
     </message>
     <message>
         <source>Database</source>
-        <translation type="obsolete">Databáze</translation>
+        <translation>Databáze</translation>
     </message>
     <message>
         <source>Collections paths</source>
-        <translation type="obsolete">Cesty kolekcí</translation>
+        <translation>Cesty kolekcí</translation>
     </message>
     <message>
         <source>Add...</source>
-        <translation type="obsolete">Přidat...</translation>
+        <translation>Přidat...</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="obsolete">Odstranit</translation>
+        <translation>Odstranit</translation>
     </message>
     <message>
         <source>Remove all</source>
-        <translation type="obsolete">Odtranit vše</translation>
+        <translation>Odtranit vše</translation>
+    </message>
+</context>
+<context>
+    <name>LastFmScrobblerConfig</name>
+    <message>
+        <source>Form</source>
+        <translation>Formulář</translation>
+    </message>
+    <message>
+        <source>Username</source>
+        <translation>Uživ. jméno</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <translation>Heslo</translation>
+    </message>
+    <message>
+        <source>Proxy settings</source>
+        <translation>Nastavení proxy</translation>
+    </message>
+    <message>
+        <source>Server</source>
+        <translation>Server</translation>
+    </message>
+    <message>
+        <source>Port</source>
+        <translation>Port</translation>
+    </message>
+    <message>
+        <source>Use proxy</source>
+        <translation>Použít proxy</translation>
     </message>
 </context>
 <context>
@@ -161,10 +192,6 @@
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">N&amp;astavení</translation>
-    </message>
-    <message>
         <source>&amp;Show/Hide</source>
         <translation>&amp;Zobrazit/Skrýt</translation>
     </message>
@@ -361,10 +388,6 @@
         <translation>Vyberte soubor</translation>
     </message>
     <message>
-        <source>Supported files (*.mp3 *.wav *.ogg *.flac *.m3u);;Playlists (*.m3u);;All files (*.*)</source>
-        <translation>Podporované soubory (*.mp3 *.wav *.ogg *.flac *.m3u);;Playlisty (*.m3u);;Všechny soubor (*.*)</translation>
-    </message>
-    <message>
         <source>Add directory</source>
         <translation>Přidat adresář</translation>
     </message>
@@ -397,10 +420,6 @@
         <translation>Potvrzení odstranění</translation>
     </message>
     <message>
-        <source>Settings</source>
-        <translation type="obsolete">N&amp;astavení</translation>
-    </message>
-    <message>
         <source>Configure TepSonic</source>
         <translation>Nastavit TepSonic</translation>
     </message>
@@ -408,60 +427,76 @@
         <source>Se&amp;ttings</source>
         <translation>N&amp;astavení</translation>
     </message>
+    <message>
+        <source>Supported files</source>
+        <translation>Podporované soubory</translation>
+    </message>
+    <message>
+        <source>Playlists</source>
+        <translation>Playlisty</translation>
+    </message>
+    <message>
+        <source>All files</source>
+        <translation>Všechny soubory</translation>
+    </message>
+    <message>
+        <source>About Qt</source>
+        <translation>O Qt</translation>
+    </message>
 </context>
 <context>
     <name>Player</name>
     <message>
         <source>Form</source>
-        <translation type="obsolete">Formulář</translation>
+        <translation>Formulář</translation>
     </message>
     <message>
         <source>Restore previous session</source>
-        <translation type="obsolete">Obnovit přechozí sezení</translation>
+        <translation>Obnovit přechozí sezení</translation>
     </message>
 </context>
 <context>
     <name>Plugins</name>
     <message>
         <source>Form</source>
-        <translation type="obsolete">Formulář</translation>
+        <translation>Formulář</translation>
     </message>
     <message>
         <source>General</source>
-        <translation type="obsolete">Hlavní</translation>
+        <translation>Hlavní</translation>
     </message>
 </context>
 <context>
     <name>PreferencesDialog</name>
     <message>
         <source>Dialog</source>
-        <translation type="obsolete">Dialog</translation>
+        <translation>Dialog</translation>
     </message>
     <message>
         <source>Player</source>
-        <translation type="obsolete">Přehrávač</translation>
+        <translation>Přehrávač</translation>
     </message>
     <message>
         <source>Collections</source>
-        <translation type="obsolete">Kolekce</translation>
+        <translation>Kolekce</translation>
     </message>
     <message>
         <source>Plugins</source>
-        <translation type="obsolete">Pluginy</translation>
+        <translation>Pluginy</translation>
     </message>
 </context>
 <context>
     <name>PreferencesPages::Collections</name>
     <message>
         <source>Add directory</source>
-        <translation type="obsolete">Přidat adresář</translation>
+        <translation>Přidat adresář</translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message numerus="yes">
         <source>%n week(s)</source>
-        <translation type="obsolete">
+        <translation>
             <numerusform>%n týden</numerusform>
             <numerusform>%n týdny</numerusform>
             <numerusform>%n týdnů</numerusform>
@@ -469,7 +504,7 @@
     </message>
     <message numerus="yes">
         <source>%n day(s)</source>
-        <translation type="obsolete">
+        <translation>
             <numerusform>%n den</numerusform>
             <numerusform>%n dny</numerusform>
             <numerusform>%n dní</numerusform>
@@ -480,7 +515,7 @@
     <name>TaskManager</name>
     <message>
         <source>Rebuilding collections</source>
-        <translation type="obsolete">Aktualizuji kolekce</translation>
+        <translation>Aktualizuji kolekce</translation>
     </message>
 </context>
 </TS>
--- /dev/null	2010-08-22 00:58:49.286666453 +0200
+++ tepsonic/player/supportedformats.cpp	2010-08-23 00:42:36.585212392 +0200
@@ -0,0 +1,46 @@
+#include "supportedformats.h"
+#include <phonon/backendcapabilities.h>
+
+#include <QDebug>
+
+QStringList SupportedFormats::getExtensionList()
+{
+	QString mimes = Phonon::BackendCapabilities::availableMimeTypes().join(" ");
+
+	QStringList checkList;
+	checkList << "ac3" << "flac" << "mp3" << "mp4" << "ogg" << "wav" << "wma";
+
+	//aiff, wavpack, musepack, mpeg2
+
+	QStringList list;
+
+	foreach(QString ext, checkList)
+		if(mimes.contains(ext))
+			list << QString("*.%1").arg(ext);
+
+	if(mimes.contains("aiff"))
+		list << "*.aif" << "*.aiff";
+
+	if(mimes.contains("ms-asf"))
+		list << "*.asf";
+
+	if(mimes.contains("mpeg2"))
+		list << "*.mp2";
+
+	if(mimes.contains("musepack"))
+		list << "*.mpc";
+
+	if(mimes.contains("realaudio"))
+		list << "*.ra" << "*.ram";
+
+	if(mimes.contains("wavpack"))
+		list << "*.wv";
+
+	// falback
+	if(list.isEmpty())
+		list << "*.flac" << "*.mp3" << "*.ogg" << "*.wav";
+
+	qDebug() << "the final supported extension list:" << list;
+
+	return list;
+}
--- /dev/null	2010-08-22 00:58:49.286666453 +0200
+++ tepsonic/player/supportedformats.h	2010-08-23 00:35:55.745212393 +0200
@@ -0,0 +1,14 @@
+#ifndef SUPPORTEDFORMATS_H
+#define SUPPORTEDFORMATS_H
+
+#include <QStringList>
+
+class SupportedFormats
+{
+public:
+	SupportedFormats() {}
+
+	static QStringList getExtensionList();
+};
+
+#endif // SUPPORTEDFORMATS_H
