Re: [PATCH] kconfig: qconf: Fix find on split mode

From: Masahiro Yamada
Date: Sun Jun 28 2020 - 10:47:27 EST


On Sun, Jun 28, 2020 at 5:40 PM Maxim Levitsky <mlevitsk@xxxxxxxxxx> wrote:
>
> On Thu, 2020-06-25 at 16:52 +0200, Mauro Carvalho Chehab wrote:
> > The logic handling find on split mode is currently broken.
> > Fix it, making it work again as expected.
>
> I tested this patch and it works well.
> There is one really small cosmetic issue:
>
> If you select search result, and then select another search result
> which happens not to update the 'menu', then both the results are
> selected (that is the old one doesn't clear its selection)

I see this too.
So, this can be improved somehow...



>
> Best regards,
> Maxim Levitsky
>
> >
> > Reported-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> > ---
> > scripts/kconfig/qconf.cc | 19 +++++++++----------
> > 1 file changed, 9 insertions(+), 10 deletions(-)
> >
> > diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
> > index c0ac8f7b5f1a..b8f577c6e8aa 100644
> > --- a/scripts/kconfig/qconf.cc
> > +++ b/scripts/kconfig/qconf.cc
> > @@ -1645,22 +1645,21 @@ void ConfigMainWindow::setMenuLink(struct menu *menu)
> > return;
> > list->setRootMenu(parent);
> > break;
> > - case symbolMode:
> > + case menuMode:
> > if (menu->flags & MENU_ROOT) {
> > - configList->setRootMenu(menu);
> > + menuList->setRootMenu(menu);
> > configList->clearSelection();
> > - list = menuList;
> > - } else {
> > list = configList;
> > + } else {
> > + configList->setRootMenu(menu);
> > + configList->clearSelection();
> > +
> > parent = menu_get_parent_menu(menu->parent);
> > if (!parent)
> > return;
> > - item = menuList->findConfigItem(parent);
> > - if (item) {
> > - item->setSelected(true);
> > - menuList->scrollToItem(item);
> > - }
> > - list->setRootMenu(parent);
> > + menuList->setRootMenu(parent);
> > +
> > + list = menuList;
> > }
> > break;
> > case fullMode:
>
>


--
Best Regards
Masahiro Yamada