forked from len0rd/rockbox
regtools/qeditor: fix field editor not updating the validator on change
Change-Id: Ib8df47c8b7cfe0beb486e45542e3fcc9187bcc54 Reviewed-on: http://gerrit.rockbox.org/1020 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
This commit is contained in:
parent
04e798eddf
commit
88053b8832
3 changed files with 26 additions and 4 deletions
|
@ -7,7 +7,7 @@ SOURCES += main.cpp mainwindow.cpp regtab.cpp backend.cpp analyser.cpp \
|
|||
LIBS += -L../lib/ -lsocdesc -lxml2
|
||||
INCLUDEPATH += ../lib/ ../../hwstub/lib
|
||||
|
||||
VERSION = 2.0.2
|
||||
VERSION = 2.0.3
|
||||
|
||||
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
|
||||
|
||||
|
|
|
@ -340,6 +340,26 @@ void SocFieldEditor::setField(uint field)
|
|||
setText(QString("0x%1").arg(field, digits, 16, QChar('0')));
|
||||
}
|
||||
|
||||
void SocFieldEditor::SetRegField(const soc_reg_field_t& field)
|
||||
{
|
||||
setValidator(0);
|
||||
delete m_validator;
|
||||
m_validator = new SocFieldValidator(field);
|
||||
setValidator(m_validator);
|
||||
m_reg_field = field;
|
||||
}
|
||||
|
||||
/**
|
||||
* SocFieldCachedValue
|
||||
*/
|
||||
SocFieldCachedValue::SocFieldCachedValue(const soc_reg_field_t& field, uint value)
|
||||
:m_field(field), m_value(value)
|
||||
{
|
||||
int idx = field.find_value(value);
|
||||
if(idx != -1)
|
||||
m_name = QString::fromStdString(field.value[idx].name);
|
||||
}
|
||||
|
||||
/**
|
||||
* SocFieldCachedItemDelegate
|
||||
*/
|
||||
|
|
|
@ -129,7 +129,7 @@ public:
|
|||
|
||||
uint field() const;
|
||||
void setField(uint field);
|
||||
void SetRegField(const soc_reg_field_t& field) { m_reg_field = field; }
|
||||
void SetRegField(const soc_reg_field_t& field);
|
||||
|
||||
protected:
|
||||
SocFieldValidator *m_validator;
|
||||
|
@ -154,14 +154,16 @@ class SocFieldCachedValue
|
|||
{
|
||||
public:
|
||||
SocFieldCachedValue():m_value(0) {}
|
||||
SocFieldCachedValue(const soc_reg_field_t& field, uint value)
|
||||
:m_field(field), m_value(value) {}
|
||||
SocFieldCachedValue(const soc_reg_field_t& field, uint value);
|
||||
virtual ~SocFieldCachedValue() {}
|
||||
const soc_reg_field_t& field() const { return m_field; }
|
||||
uint value() const { return m_value; }
|
||||
/* return empty string if there no match */
|
||||
QString value_name() const { return m_name; }
|
||||
protected:
|
||||
soc_reg_field_t m_field;
|
||||
uint m_value;
|
||||
QString m_name;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(SocFieldCachedValue)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue