2010-03-08 15:08:54 +01:00
|
|
|
#ifndef SHUFFLEREPEATWIDGET_H
|
|
|
|
#define SHUFFLEREPEATWIDGET_H
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
#include "ui_shufflerepeatwidget.h"
|
|
|
|
|
2010-03-08 18:55:40 +01:00
|
|
|
class QMenu;
|
|
|
|
|
2010-03-08 15:08:54 +01:00
|
|
|
class ShuffleRepeatWidget : public QWidget {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
ShuffleRepeatWidget(QWidget *parent = 0);
|
|
|
|
|
|
|
|
enum RepeatMode {
|
|
|
|
Repeat_Off = 0,
|
|
|
|
Repeat_Track = 1,
|
|
|
|
Repeat_Album = 2,
|
|
|
|
Repeat_Playlist = 3,
|
|
|
|
};
|
|
|
|
enum ShuffleMode {
|
|
|
|
Shuffle_Off = 0,
|
|
|
|
Shuffle_All = 1,
|
|
|
|
Shuffle_Album = 2,
|
|
|
|
};
|
|
|
|
|
|
|
|
static const char* kSettingsGroup;
|
|
|
|
|
2010-03-08 18:55:40 +01:00
|
|
|
RepeatMode repeat_mode() const { return repeat_mode_; }
|
|
|
|
ShuffleMode shuffle_mode() const { return shuffle_mode_; }
|
2010-03-08 15:08:54 +01:00
|
|
|
|
|
|
|
public slots:
|
2010-03-08 18:55:40 +01:00
|
|
|
void SetRepeatMode(ShuffleRepeatWidget::RepeatMode mode);
|
|
|
|
void SetShuffleMode(ShuffleRepeatWidget::ShuffleMode mode);
|
2010-03-08 15:08:54 +01:00
|
|
|
|
|
|
|
signals:
|
2010-03-08 18:55:40 +01:00
|
|
|
void RepeatModeChanged(ShuffleRepeatWidget::RepeatMode mode);
|
|
|
|
void ShuffleModeChanged(ShuffleRepeatWidget::ShuffleMode mode);
|
2010-03-08 15:08:54 +01:00
|
|
|
|
|
|
|
private slots:
|
|
|
|
void RepeatActionTriggered(QAction*);
|
|
|
|
void ShuffleActionTriggered(QAction*);
|
|
|
|
|
2010-03-08 18:55:40 +01:00
|
|
|
private:
|
|
|
|
void Load();
|
|
|
|
void Save();
|
|
|
|
|
2010-03-08 15:08:54 +01:00
|
|
|
private:
|
|
|
|
Ui::ShuffleRepeatWidget ui_;
|
|
|
|
|
|
|
|
QMenu* repeat_menu_;
|
|
|
|
QMenu* shuffle_menu_;
|
|
|
|
|
|
|
|
bool loading_;
|
|
|
|
RepeatMode repeat_mode_;
|
|
|
|
ShuffleMode shuffle_mode_;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SHUFFLEREPEATWIDGET_H
|