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
|
LIBS += -L../lib/ -lsocdesc -lxml2
|
||||||
INCLUDEPATH += ../lib/ ../../hwstub/lib
|
INCLUDEPATH += ../lib/ ../../hwstub/lib
|
||||||
|
|
||||||
VERSION = 2.0.2
|
VERSION = 2.0.3
|
||||||
|
|
||||||
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
|
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
|
||||||
|
|
||||||
|
|
|
@ -340,6 +340,26 @@ void SocFieldEditor::setField(uint field)
|
||||||
setText(QString("0x%1").arg(field, digits, 16, QChar('0')));
|
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
|
* SocFieldCachedItemDelegate
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -129,7 +129,7 @@ public:
|
||||||
|
|
||||||
uint field() const;
|
uint field() const;
|
||||||
void setField(uint field);
|
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:
|
protected:
|
||||||
SocFieldValidator *m_validator;
|
SocFieldValidator *m_validator;
|
||||||
|
@ -154,14 +154,16 @@ class SocFieldCachedValue
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SocFieldCachedValue():m_value(0) {}
|
SocFieldCachedValue():m_value(0) {}
|
||||||
SocFieldCachedValue(const soc_reg_field_t& field, uint value)
|
SocFieldCachedValue(const soc_reg_field_t& field, uint value);
|
||||||
:m_field(field), m_value(value) {}
|
|
||||||
virtual ~SocFieldCachedValue() {}
|
virtual ~SocFieldCachedValue() {}
|
||||||
const soc_reg_field_t& field() const { return m_field; }
|
const soc_reg_field_t& field() const { return m_field; }
|
||||||
uint value() const { return m_value; }
|
uint value() const { return m_value; }
|
||||||
|
/* return empty string if there no match */
|
||||||
|
QString value_name() const { return m_name; }
|
||||||
protected:
|
protected:
|
||||||
soc_reg_field_t m_field;
|
soc_reg_field_t m_field;
|
||||||
uint m_value;
|
uint m_value;
|
||||||
|
QString m_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(SocFieldCachedValue)
|
Q_DECLARE_METATYPE(SocFieldCachedValue)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue