feat(cpn): reorganise and refactor Edit Settings (Profile/Application/Simulator/Update) dialog  (#7623)

This commit is contained in:
Neil Horne
2026-09-14 07:38:48 +10:00
committed by GitHub
parent 244aab8919
commit 6ebd3b9834
88 changed files with 5171 additions and 3489 deletions
+60 -13
View File
@@ -23,47 +23,64 @@
AutoLineEdit::AutoLineEdit(QWidget * parent, bool updateOnChange):
QLineEdit(parent),
AutoWidget(),
AutoWidget(parent),
m_charField(NULL),
m_strField(nullptr)
m_strField(nullptr),
m_value("")
{
if (updateOnChange)
connect(this, &QLineEdit::textChanged, this, &AutoLineEdit::onEdited);
else
connect(this, &QLineEdit::editingFinished, this, &AutoLineEdit::onEdited);
setEditSignal(updateOnChange);
}
AutoLineEdit::~AutoLineEdit()
{
}
void AutoLineEdit::setField(char * field, int len, GenericPanel * panel)
void AutoLineEdit::setField(char * field, int len, AbstractPanel * panel)
{
m_charField = field;
setFieldInit(len, panel);
}
void AutoLineEdit::setField(QString & field, int len, GenericPanel * panel)
void AutoLineEdit::setField(QString & field, int len, AbstractPanel * panel)
{
m_strField = &field;
setFieldInit(len, panel);
}
void AutoLineEdit::setFieldInit(int len, GenericPanel * panel)
void AutoLineEdit::setFieldInit(int len, AbstractPanel * panel)
{
setPanel(panel);
if (len)
setMaxLength(len);
setLength(len);
updateValue();
}
void AutoLineEdit::setLength(int len)
{
if (len) setMaxLength(len);
}
void AutoLineEdit::setEditSignal(bool onChange)
{
disconnect(this, &QLineEdit::textChanged, this, &AutoLineEdit::onEdited);
disconnect(this, &QLineEdit::editingFinished, this, &AutoLineEdit::onEdited);
if (onChange)
connect(this, &QLineEdit::textChanged, this, &AutoLineEdit::onEdited);
else
connect(this, &QLineEdit::editingFinished, this, &AutoLineEdit::onEdited);
}
void AutoLineEdit::updateValue()
{
setLock(true);
if (m_strField)
QLineEdit::setText(*m_strField);
setText(*m_strField);
else if (m_charField)
QLineEdit::setText(m_charField);
setText(m_charField);
else
setText(m_value);
setLock(false);
}
@@ -76,6 +93,8 @@ void AutoLineEdit::onEdited()
*m_strField = text();
else if (m_charField && strcmp(m_charField, text().toLatin1()))
strcpy(m_charField, text().toLatin1());
else if (m_value != text())
m_value = text();
else
return;
@@ -89,3 +108,31 @@ void AutoLineEdit::setAutoText(QString text)
QLineEdit::setText(text);
setLock(false);
}
void AutoLineEdit::setValue(QString text)
{
if (!m_strField && !m_charField) {
m_value = text;
updateValue();
}
}
void AutoLineEdit::setValue(QString text, AbstractPanel * panel, int len)
{
if (!m_strField && !m_charField) {
m_value = text;
setFieldInit(len, panel);
}
}
// virtual default
void AutoLineEdit::setText(const QString & text)
{
QLineEdit::setText(text);
}
// virtual default
QString AutoLineEdit::text() const
{
return QLineEdit::text();
}