Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/library/playlisttablemodel.h

Go to the documentation of this file.
00001 #ifndef PLAYLISTTABLEMODEL_H
00002 #define PLAYLISTTABLEMODEL_H
00003 
00004 #include <QtSql>
00005 #include <QItemDelegate>
00006 #include <QtCore>
00007 
00008 #include "library/basesqltablemodel.h"
00009 #include "library/dao/playlistdao.h"
00010 #include "library/dao/trackdao.h"
00011 #include "library/librarytablemodel.h"
00012 
00013 class TrackCollection;
00014 
00015 class PlaylistTableModel : public BaseSqlTableModel {
00016     Q_OBJECT
00017   public:
00018     PlaylistTableModel(QObject* parent, TrackCollection* pTrackCollection,
00019                        QString settingsNamespace);
00020     virtual ~PlaylistTableModel();
00021     void setPlaylist(int playlistId);
00022     int getPlaylist() const {
00023         return m_iPlaylistId;
00024     }
00025     virtual TrackPointer getTrack(const QModelIndex& index) const;
00026 
00027     virtual void search(const QString& searchText);
00028     virtual bool isColumnInternal(int column);
00029     virtual bool isColumnHiddenByDefault(int column);
00030     virtual void removeTrack(const QModelIndex& index);
00031     virtual void removeTracks(const QModelIndexList& indices);
00032     virtual bool addTrack(const QModelIndex& index, QString location);
00033     virtual void moveTrack(const QModelIndex& sourceIndex, const QModelIndex& destIndex);
00034     virtual void shuffleTracks(const QModelIndex& currentIndex);
00035 
00036     QItemDelegate* delegateForColumn(const int i);
00037     TrackModel::CapabilitiesFlags getCapabilities() const;
00038 
00039   private slots:
00040     void slotSearch(const QString& searchText);
00041 
00042   signals:
00043     void doSearch(const QString& searchText);
00044 
00045   private:
00046     TrackCollection* m_pTrackCollection;
00047     PlaylistDAO& m_playlistDao;
00048     TrackDAO& m_trackDao;
00049     int m_iPlaylistId;
00050 };
00051 
00052 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines