--- a/HelperStructs/CSettingsStorage.h
+++ b/HelperStructs/CSettingsStorage.h
@@ -17,87 +17,18 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-
-
 #ifndef CSettingsStorage_H
 #define CSettingsStorage_H
 
-#define SET_LFM_ACTIVE "LastFM_active"
-#define SET_LFM_LOGIN "LastFM_login"
-#define SET_LFM_CORRECTIONS "lfm_corrections"
-#define SET_LFM_SESSION_KEY "lfm_session_key"
-#define SET_LFM_SHOW_ERRORS "lfm_show_errors"
-
-
-#define SET_EQ_LAST "eq_last"
-#define SET_EQ_FLAT "EQ_pr_flat"
-#define SET_EQ_ROCK "EQ_pr_rock"
-#define SET_EQ_TREBLE "EQ_pr_treble"
-#define SET_EQ_BASS "EQ_pr_bass"
-#define SET_EQ_MID "EQ_pr_mid"
-#define SET_EQ_LIGHT_ROCK "EQ_pr_light_rock"
-#define SET_EQ_CUSTOM "EQ_pr_custom"
-
-
-#define SET_LIB_SHOW "show_library"
-#define SET_LIB_PATH "library_path"
-#define SET_LIB_SHOWN_COLS_TITLE "lib_shown_cols_title"
-#define SET_LIB_SHOWN_COLS_ARTIST "lib_shown_cols_artist"
-#define SET_LIB_SHOWN_COLS_ALBUM "lib_shown_cols_album"
-#define SET_LIB_SHOWN_ONLY_TRACKS "lib_shown_tracks"
-#define SET_LIB_LIVE_SEARCH "lib_live_search"
-#define SET_LIB_SORTING "lib_sortings"
-
-#define SET_PLAYER_LANGUAGE "player_language"
-#define SET_PLAYER_STYLE "player_style"
-#define SET_PLAYER_SIZE "player_size"
-#define SET_PLAYER_POS "player_pos"
-#define SET_PLAYER_FULLSCREEN "player_fullscreen"
-#define SET_PLAYER_SHOWN_PLUGIN "shown_plugin"
-#define SET_PLAYER_ONE_INSTANCE "only_one_instance"
-#define SET_PLAYER_MIN_2_TRAY "min_to_tray"
-#define SET_PLAYER_NOTIFY_NEW_VERSION "notify_new_version"
-
-
-#define SET_PL "playlist"
-#define SET_PL_LOAD "load_playlist"
-#define SET_PL_LOAD_LAST_TRACK "load_last_track"
-#define SET_PL_REMEMBER_TIME "remember_time"
-#define SET_PL_START_PLAYING "start_playing"
-#define SET_PL_LAST_TRACK "last_track"
-#define SET_PL_MODE "playlist_mode"
-#define SET_PL_SHOW_NUMBERS "show_playlist_numbers"
-#define SET_PL_SMALL_ITEMS "small_playlist_items"
-
-#define SET_NOTIFICATION_SHOW "show_notifications"
-#define SET_NOTIFICATION_TIMEOUT "notification_timeout"
-#define SET_NOTIFICATION_NAME "notification_name"
-#define SET_NOTIFICATION_SCALE "notification_scale"
-
-#define SET_ENGINE "sound_engine"
-#define SET_ENGINE_VOL "volume"
-
-#define SET_SR_ACTIVE "streamripper"
-#define SET_SR_WARNING "streamripper_warning"
-#define SET_SR_PATH "streamripper_path"
-#define SET_SR_COMPLETE_TRACKS "streamripper_complete_tracks"
-#define SET_SR_SESSION_PATH "streamripper_session_path"
-
-#define SET_SOCKET_ACTIVE "socket_active"
-#define SET_SOCKET_FROM "socket_from"
-#define SET_SOCKET_TO "socket_to"
-
-
-
-
 #include <QString>
-#include <QThread>
+#include <QSettings>
+#include <QApplication>
 #include <QPair>
 #include <QSize>
 #include <QPoint>
+
 #include <vector>
 
-//#include <HelperStructs/Equalizer_presets.h>
 #include <HelperStructs/PlaylistMode.h>
 #include <HelperStructs/MetaData.h>
 
@@ -105,158 +36,38 @@
 
 using namespace std;
 
-
-
-	class SettingsThread : public QThread {
-
-
-	private:
-		CSettingsStorage* _settings;
-		bool _goon;
-        QWidget* _parent;
-
-	protected: 
-		void run();
-
-	public:
-        SettingsThread(QWidget* parent);
-		virtual ~SettingsThread();
-		void stop();
-
-
-};
-
-
-/**
-  * Class to check if we are running the first time.
-  * If yes we are doing bootstrapping. It is a Singleton
-  */
-class CSettingsStorage : public QObject
+class CSettingsStorage : public QSettings
 {
-Q_OBJECT
-
-signals: 
-
-	void sig_save(QString, QVariant);
-	void sig_save_all();
+    Q_OBJECT
+
 public:
-    static CSettingsStorage * getInstance();
+    static CSettingsStorage* getInstance();
 
     virtual ~CSettingsStorage ();
 
-    /**
-      * Check if sayonarra is run the first time
-      * @return true if run first time
-      */
+    // First time run check
     bool isRunFirstTime ();
 
-    /**
-      * Returns Filename of DB as absolute path
-      */
-    QString getDBFileName ();
-
-
-
-
-
 private:
-
-    void init();
-    bool m_isInit;
-    CSettingsStorage() {this -> init();}
+    CSettingsStorage(QObject *parent = 0) 
+        : QSettings (QCoreApplication::organizationName(),
+                     QCoreApplication::applicationName(), parent)
+        {
+        }
+
     CSettingsStorage(const CSettingsStorage&);
     CSettingsStorage& operator=(const CSettingsStorage&);
 
-    QString m_dbFile, m_sayonaraPath, m_dbSource;
-    QString _version;
-    bool _sth_changed;
-	
-
-    // last fm
-    bool m_lfm_active;
-    QPair<QString,QString> m_lastFm;
-    QString m_lfm_sessionKey;
-    bool m_lfm_corrections;
-    bool m_lfm_show_errors;
-
-    // listen
-    int	m_volume;
-    int m_last_eq;
-    //vector<EQ_Setting> m_vec_eqSettings;
-    
-    QSize m_player_size;
-    QPoint m_player_pos;
-    bool m_player_fullscreen;
-
-
-    // library
-    QString m_library_path;
-    bool m_show_library;
-    QStringList m_lib_shown_cols_title;
-    QStringList m_lib_shown_cols_artist;
-    QStringList m_lib_shown_cols_album;
-    bool m_show_only_tracks;
-    bool m_lib_live_search;
-    QList<int> m_lib_sortings;
-
-    // playlist
-    QStringList m_playlist;
-    bool m_loadPlaylist;
-    bool m_loadLastTrack;
     LastTrack m_lastTrack;
-    bool m_rememerTime;
-    bool m_startPlaying;
     Playlist_Mode m_playlistmode;
-
-    /* style */
-    int	m_style;
-    QString m_language;
-
-    /* shown plugin in player */
-    QString m_shown_plugin;
-
-    /* minimize the player to tray */
-    bool m_minimize_to_tray;
-
-    /* show small icons */
-    bool m_show_small_playlist;
-
-    bool m_show_playlist_numbers;
-
-    /* activate stream ripper */
-    bool m_streamripper;
-    bool m_streamripper_warning;  
-    QString m_streamripper_path;
-    bool m_streamripper_complete_tracks;
-    bool m_streamripper_session_path;
-
-    /* sound engine */
-    QString m_sound_engine;
-
-    /* notifications */
-    bool    m_show_notifications;
-    int     m_notification_timeout;
-    QString m_notification_name;
-    int     m_notification_scale;
-
-    bool    m_notify_new_version;
-
-    /* socket stuff */
-    bool	m_socket_activated;
-    int		m_socket_from;
-    int		m_socket_to;
-
-    bool	m_allow_only_one_instance;
-
 protected:
     void save_all();
 
 public:
 
-
-	void set_sth_changed(bool);
-
-	bool get_sth_changed();
+    void set_sth_changed(bool);
+
+    bool get_sth_changed();
     QString getVersion();
     void setVersion(QString str);
 
@@ -274,18 +85,8 @@
     int getVolume();
     void setVolume(int vol);
 
-	void setLastEqualizer(int);
-	int getLastEqualizer();
-
-//	EQ_Setting getCustomEqualizer();
-//	void getEqualizerSettings(vector<EQ_Setting>& vec);
-//	void setEqualizerSettings(const vector<EQ_Setting>& vec);
-
-	QString getLibraryPath();
-	void setLibraryPath(QString path);
-
-	QSize getPlayerSize();
-	void setPlayerSize(QSize size);
+    QSize getPlayerSize();
+    void setPlayerSize(QSize size);
 
     QPoint getPlayerPos();
     void setPlayerPos(QPoint p);
@@ -296,15 +97,15 @@
     QStringList getPlaylist();
     void setPlaylist(QStringList playlist);
 
-	void setLoadPlaylist(bool b);
-	bool getLoadPlaylist();
-
-	bool getLoadLastTrack();
-	void setLoadLastTrack(bool b);
-
-	LastTrack* getLastTrack();
-	void setLastTrack(LastTrack& t);
-	void updateLastTrack();
+    void setLoadPlaylist(bool b);
+    bool getLoadPlaylist();
+
+    bool getLoadLastTrack();
+    void setLoadLastTrack(bool b);
+
+    LastTrack* getLastTrack();
+    void setLastTrack(LastTrack& t);
+    void updateLastTrack();
 
     bool getRememberTime();
     void setRememberTime(bool);
@@ -312,16 +113,16 @@
     bool getStartPlaying();
     void setStartPlaying(bool);
 
-	void setPlaylistMode(const Playlist_Mode& plmode);
-	Playlist_Mode getPlaylistMode();
-
-	void setPlayerStyle(int);
-	int getPlayerStyle();
-
-	void setShowNotifications(bool);
-	bool getShowNotification();
-
-    void setNotificationTimout(int);
+    void setPlaylistMode(const Playlist_Mode& plmode);
+    Playlist_Mode getPlaylistMode();
+
+    void setPlayerStyle(int);
+    int getPlayerStyle();
+
+    void setShowNotifications(bool);
+    bool getShowNotifications();
+
+    void setNotificationTimeout(int);
     int getNotificationTimeout();
 
     void setNotification(QString);
@@ -330,11 +131,11 @@
     void setNotificationScale(int);
     int getNotificationScale();
 
-	void setLastFMSessionKey(QString);
-	QString getLastFMSessionKey();
-
-	void setShowLibrary(bool);
-	bool getShowLibrary();
+    void setLastFMSessionKey(QString);
+    QString getLastFMSessionKey();
+
+    void setShowLibrary(bool);
+    bool getShowLibrary();
 
     void setLibShownColsTitle(QStringList lst);
     QStringList getLibShownColsTitle();
@@ -354,59 +155,50 @@
     void setLibLiveSearch(bool);
     bool getLibLiveSheach();
 
-    void setShownPlugin(QString);
-    QString getShownPlugin();
-
-	void setMinimizeToTray(bool);
-	bool getMinimizeToTray();
-
-	bool getShowSmallPlaylist();
-	void setShowSmallPlaylist(bool);
-
-	QString getSoundEngine();
-	void setSoundEngine(QString engine);
-
-	bool getStreamRipper();
-	void setStreamRipper(bool b);
-
-	bool getStreamRipperWarning();
-	void setStreamRipperWarning(bool b);
-
-	QString getStreamRipperPath();
-	void setStreamRipperPath(QString path);
-
-	bool getStreamRipperCompleteTracks();
-	void setStreamRipperCompleteTracks(bool b);
+    void setMinimizeToTray(bool);
+    bool getMinimizeToTray();
+
+    bool getShowSmallPlaylist();
+    void setShowSmallPlaylist(bool);
+
+    QString getSoundEngine();
+    void setSoundEngine(QString engine);
+
+    bool getStreamRipper();
+    void setStreamRipper(bool b);
+
+    bool getStreamRipperWarning();
+    void setStreamRipperWarning(bool b);
+
+    QString getStreamRipperPath();
+    void setStreamRipperPath(QString path);
+
+    bool getStreamRipperCompleteTracks();
+    void setStreamRipperCompleteTracks(bool b);
 
     bool getStreamRipperSessionPath();
     void setStreamRipperSessionPath(bool b);
 
-	bool getSocketActivated();
-	void setSocketActivated(bool b);
-
-	int getSocketFrom();
-	void setSocketFrom(int val);
-
-	int getSocketTo();
-	void setSocketTo(int val);
-
-	bool getPlaylistNumbers();
-	void setPlaylistNumbers(bool b);
-
-	bool getAllowOnlyOneInstance();
-	void setAllowOnlyOneInstance(bool b);
+    bool getSocketActivated();
+    void setSocketActivated(bool b);
+
+    int getSocketFrom();
+    void setSocketFrom(int val);
+
+    int getSocketTo();
+    void setSocketTo(int val);
+
+    bool getPlaylistNumbers();
+    void setPlaylistNumbers(bool b);
+
+    bool getAllowOnlyOneInstance();
+    void setAllowOnlyOneInstance(bool b);
 
     QString getLanguage();
     void setLanguage(QString lang);
 
     bool getNotifyNewVersion();
     void setNotifyNewVersion(bool b);
-
-	friend class SettingsThread;
 };
 
-
-
-
-
 #endif // CSettingsStorage_H