1
0
Fork 0
forked from len0rd/rockbox

qeditor: move backend selector to its own class, that's cleaner

Change-Id: I7f3fa66a8f67639b4b64cf9f6acc5fb10e227653
Reviewed-on: http://gerrit.rockbox.org/974
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
This commit is contained in:
Amaury Pouly 2014-09-18 19:02:54 +02:00
parent b2ef4a806b
commit a01bf8d93c
4 changed files with 196 additions and 163 deletions

View file

@ -15,6 +15,9 @@
#include <QHBoxLayout>
#include <QItemEditorCreatorBase>
#include <QStyledItemDelegate>
#include <QComboBox>
#include <QFileDialog>
#include "settings.h"
#include "backend.h"
class SocBitRangeValidator : public QValidator
@ -274,4 +277,44 @@ protected:
QLineEdit *m_line;
};
class BackendSelector : public QWidget
{
Q_OBJECT
public:
BackendSelector(Backend *backend, QWidget *parent = 0);
virtual ~BackendSelector();
IoBackend *GetBackend();
signals:
void OnSelect(IoBackend *backend);
protected:
enum
{
DataSelNothing,
DataSelFile,
#ifdef HAVE_HWSTUB
DataSelDevice,
#endif
};
Backend *m_backend;
IoBackend *m_io_backend;
QComboBox *m_data_selector;
QLineEdit *m_data_sel_edit;
#ifdef HAVE_HWSTUB
QComboBox *m_dev_selector;
HWStubBackendHelper m_hwstub_helper;
#endif
void ChangeBackend(IoBackend *new_backend);
private slots:
#ifdef HAVE_HWSTUB
void OnDevListChanged();
void OnDevChanged(int index);
void ClearDevList();
#endif
void OnDataSelChanged(int index);
};
#endif /* AUX_H */