![]() |
Mixxx
|
00001 #ifndef ITUNES_TABLE_MODEL_H 00002 #define ITUNES_TABLE_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 ITunesTrackModel : public BaseSqlTableModel { 00016 Q_OBJECT 00017 public: 00018 ITunesTrackModel(QObject* parent, TrackCollection* pTrackCollection); 00019 TrackModel::CapabilitiesFlags getCapabilities() const; 00020 virtual ~ITunesTrackModel(); 00021 00022 virtual TrackPointer getTrack(const QModelIndex& index) const; 00023 virtual void search(const QString& searchText); 00024 virtual bool isColumnInternal(int column); 00025 virtual bool isColumnHiddenByDefault(int column); 00026 virtual Qt::ItemFlags flags(const QModelIndex &index) const; 00027 00028 private slots: 00029 void slotSearch(const QString& searchText); 00030 00031 signals: 00032 void doSearch(const QString& searchText); 00033 00034 private: 00035 TrackCollection* m_pTrackCollection; 00036 QSqlDatabase &m_database; 00037 }; 00038 00039 #endif /* ITUNES_TABLE_MODEL_H */