1 #ifndef LOCAL_H 2 #define LOCAL_H 3 4 #include "storage.h" 5 #include "playlist/playlist.h" 6 7 #include <QByteArray> 8 9 namespace Config { 10 class Local { 11 public: 12 explicit Local(); 13 14 bool sync(); 15 16 bool saveWindowGeometry(const QByteArray &v); 17 QByteArray windowGeomentry() const; 18 19 bool saveWindowState(const QByteArray &v); 20 QByteArray windowState() const; 21 22 bool saveSplitterSizes(const QList<int> &list); 23 QList<int> splitterSizes() const; 24 25 QList<std::shared_ptr<Playlist::Playlist>> playlists() const; 26 bool savePlaylists(QList<std::shared_ptr<Playlist::Playlist>> &list); 27 28 int currentPlaylist() const; 29 bool saveCurrentPlaylist(int idx); 30 31 QStringList libraryPaths() const; 32 bool saveLibraryPaths(const QStringList &arg); 33 34 int currentLibraryPath() const; 35 bool saveCurrentLibraryPath(int arg); 36 37 int libraryViewScrollPosition() const; 38 bool saveLibraryViewScrollPosition(int val); 39 40 int playlistViewScrollPosition() const; 41 bool savePlaylistViewScrollPosition(int val); 42 43 int volume() const; 44 bool saveVolume(int arg); 45 46 int totalPlaybackTime() const; 47 bool saveTotalPlaybackTime(int arg); 48 49 private: 50 Config::Storage storage; 51 52 Config::Value serializeTrack(const Track &t) const; 53 Track deserializeTrack(const Config::Value &v) const; 54 }; 55 } 56 57 #endif // LOCAL_H 58