5 #include "someplayer.h"
7 #include <QStandardItemModel>
8 #include <QStandardItem>
15 using SomePlayer::DataObjects::Library;
16 using SomePlayer::DataObjects::Track;
17 using SomePlayer::DataObjects::Playlist;
19 enum LibraryFormListState {STATE_NONE, STATE_ARTIST, STATE_ALBUM, STATE_TRACK, STATE_PLAYLIST, STATE_PLAYLIST_TRACK};
21 class LibraryForm : public QWidget
26 explicit LibraryForm(Library *lib, QWidget *parent = 0);
33 void _dynamic_button();
34 void _playlists_button();
36 void _delete_button();
38 void _process_list_click(QModelIndex);
43 QStandardItemModel *_model;
44 LibraryFormListState _state;
45 QString _current_artist;
46 QString _current_album;
47 QList<Track> _current_tracks;
49 void _add_artist(QString artist);
50 void _add_album(QString artist, QString album);
51 void _add_track(Track track);
52 void _add_playlist(QString name);
53 void _delete_track(Track track);
56 #endif // LIBRARYFORM_H