![]() |
Mixxx
|
00001 // recordingfeature.h 00002 // Created 03/26/2010 by Tobias Rafreider 00003 00004 #ifndef RECORDING_FEATURE_H 00005 #define RECORDING_FEATURE_H 00006 00007 #include <QStringListModel> 00008 #include <QSortFilterProxyModel> 00009 00010 #include "configobject.h" 00011 #include "library/browse/browsetablemodel.h" 00012 #include "library/browse/foldertreemodel.h" 00013 #include "library/libraryfeature.h" 00014 #include "library/proxytrackmodel.h" 00015 #include "dlgrecording.h" 00016 #include "recording/recordingmanager.h" 00017 00018 class TrackCollection; 00019 00020 class RecordingFeature : public LibraryFeature { 00021 Q_OBJECT 00022 public: 00023 RecordingFeature(QObject* parent, 00024 ConfigObject<ConfigValue>* pConfig, 00025 TrackCollection* pTrackCollection, 00026 RecordingManager* pRecordingManager); 00027 virtual ~RecordingFeature(); 00028 00029 QVariant title(); 00030 QIcon getIcon(); 00031 00032 bool dropAccept(QUrl url); 00033 bool dropAcceptChild(const QModelIndex& index, QUrl url); 00034 bool dragMoveAccept(QUrl url); 00035 bool dragMoveAcceptChild(const QModelIndex& index, QUrl url); 00036 void bindWidget(WLibrarySidebar* sidebarWidget, 00037 WLibrary* libraryWidget, 00038 MixxxKeyboard* keyboard); 00039 00040 TreeItemModel* getChildModel(); 00041 00042 public slots: 00043 void activate(); 00044 void activateChild(const QModelIndex& index); 00045 void onRightClick(const QPoint& globalPos); 00046 void onRightClickChild(const QPoint& globalPos, QModelIndex index); 00047 void onLazyChildExpandation(const QModelIndex& index); 00048 00049 signals: 00050 void setRootIndex(const QModelIndex&); 00051 00052 private: 00053 ConfigObject<ConfigValue>* m_pConfig; 00054 TrackCollection* m_pTrackCollection; 00055 FolderTreeModel m_childModel; 00056 QString m_currentSearch; 00057 const static QString m_sRecordingViewName; 00058 DlgRecording* m_pRecordingView; 00059 RecordingManager* m_pRecordingManager; 00060 }; 00061 00062 #endif