On Tue, 2014-11-04 at 10:50 +0100, Peter Kümmel wrote: Even though I don't use qconf, I think I can say this patch is not obviously trivial. So, could you please add a few lines describing current behavior, why it's wrong, and how this patch fixes it? That might increase the chance this patch gets some review. > Signed-off-by: Peter Kümmel <syntheticpp@xxxxxxx> > --- > scripts/kconfig/qconf.cc | 23 +++++++++++++++++++---- > scripts/kconfig/qconf.h | 2 ++ > 2 files changed, 21 insertions(+), 4 deletions(-) > > diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc > index 9d3b04b..f08472e 100644 > --- a/scripts/kconfig/qconf.cc > +++ b/scripts/kconfig/qconf.cc > @@ -302,13 +302,18 @@ ConfigLineEdit::ConfigLineEdit(ConfigView* parent) > connect(this, SIGNAL(lostFocus()), SLOT(hide())); > } > > -void ConfigLineEdit::show(ConfigItem* i) > +void ConfigLineEdit::updateLineEditText(ConfigItem* i) > { > - item = i; > - if (sym_get_string_value(item->menu->sym)) > - setText(QString::fromLocal8Bit(sym_get_string_value(item->menu->sym))); > + if (sym_get_string_value(i->menu->sym)) > + setText(QString::fromLocal8Bit(sym_get_string_value(i->menu->sym))); > else > setText(QString::null); > +} > + > +void ConfigLineEdit::show(ConfigItem* i) > +{ > + item = i; > + updateLineEditText(item); > Parent::show(); > setFocus(); > } > @@ -317,6 +322,7 @@ void ConfigLineEdit::keyPressEvent(QKeyEvent* e) > { > switch (e->key()) { > case Qt::Key_Escape: > + updateLineEditText(item); > break; > case Qt::Key_Return: > case Qt::Key_Enter: > @@ -332,6 +338,15 @@ void ConfigLineEdit::keyPressEvent(QKeyEvent* e) > hide(); > } > > +void ConfigLineEdit::focusOutEvent(QFocusEvent *e) > +{ > + if (e->lostFocus()) { > + sym_set_string_value(item->menu->sym, text().latin1()); > + parent()->updateList(item); > + } > + Parent::focusOutEvent(e); > +} > + > ConfigList::ConfigList(ConfigView* p, const char *name) > : Parent(p, name), > updateAll(false), > diff --git a/scripts/kconfig/qconf.h b/scripts/kconfig/qconf.h > index bde0c6b..11efb71 100644 > --- a/scripts/kconfig/qconf.h > +++ b/scripts/kconfig/qconf.h > @@ -209,8 +209,10 @@ public: > { > return (ConfigView*)Parent::parent(); > } > + void updateLineEditText(ConfigItem *i); > void show(ConfigItem *i); > void keyPressEvent(QKeyEvent *e); > + void focusOutEvent(QFocusEvent *e); > > public: > ConfigItem *item; Thanks, Paul Bolle -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html