summaryrefslogtreecommitdiffstats
path: root/kscd/cddbdlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'kscd/cddbdlg.h')
-rw-r--r--kscd/cddbdlg.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/kscd/cddbdlg.h b/kscd/cddbdlg.h
new file mode 100644
index 00000000..bbef6e4e
--- /dev/null
+++ b/kscd/cddbdlg.h
@@ -0,0 +1,46 @@
+#ifndef CDDBDLG_H
+#define CDDBDLG_H
+
+#include <kdialogbase.h>
+
+#include "libkcddb/cdinfo.h"
+#include "libkcddb/cddb.h"
+#include "libkcddb/client.h"
+
+class CDInfoDialogBase;
+
+class CDDBDlg : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ CDDBDlg(QWidget* parent, const char* name = 0);
+ ~CDDBDlg();
+
+ void setData(
+ const KCDDB::CDInfo &_cddbInfo,
+ const KCDDB::TrackOffsetList &_trackStartFrames,
+ const QStringList &_playlist);
+
+ private slots:
+ void save();
+ void upload();
+ void submitFinished(CDDB::Result);
+
+ signals:
+ void cddbQuery();
+ void newCDInfoStored(KCDDB::CDInfo);
+ void play(int i);
+
+ private:
+ bool validInfo();
+ void updateFromDialog();
+ QString framesTime(unsigned frames);
+
+ CDInfoDialogBase *m_dlgBase;
+ KCDDB::CDInfo cddbInfo;
+ KCDDB::TrackOffsetList trackStartFrames;
+ QStringList playlist;
+ KCDDB::Client *cddbClient;
+};
+#endif // CDDBDLG_H