![]() |
Mixxx
|
00001 #ifndef ITUNES_PLAYLIST_MODEL_H 00002 #define ITUNES_PLAYLIST_MODEL_H 00003 00004 #include <QtSql> 00005 #include <QItemDelegate> 00006 #include <QtCore> 00007 #include "library/trackmodel.h" 00008 #include "library/basesqltablemodel.h" 00009 #include "library/librarytablemodel.h" 00010 #include "library/dao/playlistdao.h" 00011 #include "library/dao/trackdao.h" 00012 00013 class TrackCollection; 00014 00015 class ITunesPlaylistModel : public BaseSqlTableModel { 00016 Q_OBJECT 00017 public: 00018 ITunesPlaylistModel(QObject* parent, TrackCollection* pTrackCollection); 00019 virtual ~ITunesPlaylistModel(); 00020 00021 virtual TrackPointer getTrack(const QModelIndex& index) const; 00022 virtual void search(const QString& searchText); 00023 virtual bool isColumnInternal(int column); 00024 virtual bool isColumnHiddenByDefault(int column); 00025 virtual Qt::ItemFlags flags(const QModelIndex &index) const; 00026 void setPlaylist(QString path_name); 00027 TrackModel::CapabilitiesFlags getCapabilities() const; 00028 00029 private slots: 00030 void slotSearch(const QString& searchText); 00031 00032 signals: 00033 void doSearch(const QString& searchText); 00034 00035 private: 00036 TrackCollection* m_pTrackCollection; 00037 QSqlDatabase &m_database; 00038 }; 00039 00040 #endif /* ITUNES_PLAYLIST_MODEL_H */