diff options
author | RJ Ryan <rryan@mixxx.org> | 2016-01-24 15:47:40 -0800 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2016-01-24 15:47:40 -0800 |
commit | a4d9993d4c6466b5c7566676c12a96412343d75e (patch) | |
tree | 98c87cba70142d8f69a3e1804302f17f25fbf218 /src/library/dlgtrackinfo.h | |
parent | 385ff8079b3ba5dfdfc491cd976780c87d42c08e (diff) |
Tidy up the dialog mess in src/.
Diffstat (limited to 'src/library/dlgtrackinfo.h')
-rw-r--r-- | src/library/dlgtrackinfo.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/library/dlgtrackinfo.h b/src/library/dlgtrackinfo.h new file mode 100644 index 0000000000..d2327636e3 --- /dev/null +++ b/src/library/dlgtrackinfo.h @@ -0,0 +1,80 @@ +#ifndef DLGTRACKINFO_H +#define DLGTRACKINFO_H + +#include <QDialog> +#include <QMutex> +#include <QHash> +#include <QList> +#include <QScopedPointer> + +#include "library/ui_dlgtrackinfo.h" +#include "trackinfoobject.h" +#include "library/dlgtagfetcher.h" +#include "library/coverart.h" +#include "util/tapfilter.h" +#include "util/types.h" +#include "widget/wcoverartlabel.h" +#include "widget/wcoverartmenu.h" + +class DlgTrackInfo : public QDialog, public Ui::DlgTrackInfo { + Q_OBJECT + public: + DlgTrackInfo(QWidget* parent, DlgTagFetcher& DlgTagFetcher); + virtual ~DlgTrackInfo(); + + public slots: + // Not thread safe. Only invoke via AutoConnection or QueuedConnection, not + // directly! + void loadTrack(TrackPointer pTrack); + + signals: + void next(); + void previous(); + + private slots: + void slotNext(); + void slotPrev(); + void OK(); + void apply(); + void cancel(); + void trackUpdated(); + void fetchTag(); + + void cueActivate(); + void cueDelete(); + + void slotBpmDouble(); + void slotBpmHalve(); + void slotBpmTwoThirds(); + void slotBpmThreeFourth(); + void slotBpmTap(double averageLength, int numSamples); + + void reloadTrackMetadata(); + void updateTrackMetadata(); + void slotOpenInFileBrowser(); + + void slotCoverFound(const QObject* pRequestor, int requestReference, + const CoverInfo& info, QPixmap pixmap, bool fromCache); + void slotCoverArtSelected(const CoverArt& art); + void slotReloadCoverArt(); + + private: + void populateFields(TrackPointer pTrack); + void populateCues(TrackPointer pTrack); + void saveTrack(); + void unloadTrack(bool save); + void clear(); + void init(); + QHash<int, CuePointer> m_cueMap; + TrackPointer m_pLoadedTrack; + + QScopedPointer<TapFilter> m_pTapFilter; + double m_dLastBpm; + + DlgTagFetcher& m_DlgTagFetcher; + + CoverInfo m_loadedCoverInfo; + WCoverArtLabel* m_pWCoverArtLabel; +}; + +#endif /* DLGTRACKINFO_H */ |