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