![]() |
Mixxx
|
00001 #ifndef MISSINGTABLEMODEL_H 00002 #define MISSINGTABLEMODEL_H 00003 00004 #include <QtSql> 00005 #include <QItemDelegate> 00006 #include <QtCore> 00007 00008 #include "trackmodel.h" 00009 #include "library/dao/trackdao.h" 00010 #include "library/basesqltablemodel.h" 00011 00012 class TrackCollection; 00013 00014 class MissingTableModel : public BaseSqlTableModel { 00015 Q_OBJECT 00016 public: 00017 MissingTableModel(QObject* parent, TrackCollection* pTrackCollection); 00018 virtual ~MissingTableModel(); 00019 virtual TrackPointer getTrack(const QModelIndex& index) const; 00020 virtual void search(const QString& searchText); 00021 virtual bool isColumnInternal(int column); 00022 virtual bool isColumnHiddenByDefault(int column); 00023 virtual void removeTrack(const QModelIndex& index); 00024 virtual void removeTracks(const QModelIndexList& indices); 00025 virtual bool addTrack(const QModelIndex& index, QString location); 00026 virtual void moveTrack(const QModelIndex& sourceIndex, const QModelIndex& destIndex); 00027 00028 Qt::ItemFlags flags(const QModelIndex &index) const; 00029 QItemDelegate* delegateForColumn(const int i); 00030 TrackModel::CapabilitiesFlags getCapabilities() const; 00031 00032 private slots: 00033 void slotSearch(const QString& searchText); 00034 00035 signals: 00036 void doSearch(const QString& searchText); 00037 00038 private: 00039 TrackCollection* m_pTrackCollection; 00040 TrackDAO& m_trackDao; 00041 static const QString MISSINGFILTER; 00042 }; 00043 00044 #endif