summaryrefslogtreecommitdiffstats
path: root/src/library/dlgtrackinfo.h
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2016-01-24 15:47:40 -0800
committerRJ Ryan <rryan@mixxx.org>2016-01-24 15:47:40 -0800
commita4d9993d4c6466b5c7566676c12a96412343d75e (patch)
tree98c87cba70142d8f69a3e1804302f17f25fbf218 /src/library/dlgtrackinfo.h
parent385ff8079b3ba5dfdfc491cd976780c87d42c08e (diff)
Tidy up the dialog mess in src/.
Diffstat (limited to 'src/library/dlgtrackinfo.h')
-rw-r--r--src/library/dlgtrackinfo.h80
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 */