Mixxx

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

Go to the documentation of this file.
00001 // preparefeature.h
00002 // Created 8/23/2009 by RJ Ryan (rryan@mit.edu)
00003 // Forked 11/11/2009 by Albert Santoni (alberts@mixxx.org)
00004 
00005 #ifndef TRIAGEFEATURE_H
00006 #define TRIAGEFEATURE_H
00007 
00008 #include <QStringListModel>
00009 #include "library/libraryfeature.h"
00010 #include "configobject.h"
00011 #include "treeitemmodel.h"
00012 
00013 class AnalyserQueue;
00014 class LibraryTableModel;
00015 class TrackCollection;
00016 
00017 class PrepareFeature : public LibraryFeature {
00018     Q_OBJECT
00019   public:
00020     PrepareFeature(QObject* parent,
00021                    ConfigObject<ConfigValue>* pConfig,
00022                    TrackCollection* pTrackCollection);
00023     virtual ~PrepareFeature();
00024 
00025     QVariant title();
00026     QIcon getIcon();
00027 
00028     bool dropAccept(QUrl url);
00029     bool dropAcceptChild(const QModelIndex& index, QUrl url);
00030     bool dragMoveAccept(QUrl url);
00031     bool dragMoveAcceptChild(const QModelIndex& index, QUrl url);
00032 
00033     void bindWidget(WLibrarySidebar* sidebarWidget,
00034                     WLibrary* libraryWidget,
00035                     MixxxKeyboard* keyboard);
00036 
00037     TreeItemModel* getChildModel();
00038 
00039   signals:
00040     void trackAnalysisProgress(TrackPointer pTrack, int progress);
00041     void trackAnalysisFinished(TrackPointer pTrack);
00042     void analysisActive(bool bActive);
00043 
00044   public slots:
00045     void activate();
00046     void activateChild(const QModelIndex& index);
00047     void onRightClick(const QPoint& globalPos);
00048     void onRightClickChild(const QPoint& globalPos, QModelIndex index);
00049     void onLazyChildExpandation(const QModelIndex& index);
00050 
00051   private slots:
00052     void analyzeTracks(QList<int> trackIds);
00053     void stopAnalysis();
00054     void slotTrackAnalysisProgress(TrackPointer pTrack, int progress);
00055     void slotTrackAnalysisFinished(TrackPointer pTrack);
00056 
00057   private:
00058     void cleanupAnalyser();
00059     ConfigObject<ConfigValue>* m_pConfig;
00060     TrackCollection* m_pTrackCollection;
00061     AnalyserQueue* m_pAnalyserQueue;
00062     // Used to temporarily enable BPM detection in the prefs before we analyse
00063     int m_iOldBpmEnabled;
00064     TreeItemModel m_childModel;
00065     const static QString m_sPrepareViewName;
00066 };
00067 
00068 
00069 #endif /* PREPAREFEATURE_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines