This allows to associate specific prompts with main menu
and submenus thus providing for better navigation when
submenus are in use.
---
src/shared/shell.c | 3 +++
src/shared/shell.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/src/shared/shell.c b/src/shared/shell.c
index cfdcc76c4..a821c8d0a 100644
--- a/src/shared/shell.c
+++ b/src/shared/shell.c
@@ -1226,6 +1226,9 @@ bool bt_shell_set_menu(const struct bt_shell_menu *menu)
if (!data.main)
data.main = menu;
+ if (menu->prompt)
+ bt_shell_set_prompt(menu->prompt);
+
return true;
}
diff --git a/src/shared/shell.h b/src/shared/shell.h
index e14d58381..a9eee506f 100644
--- a/src/shared/shell.h
+++ b/src/shared/shell.h
@@ -53,6 +53,7 @@ struct bt_shell_menu_entry {
struct bt_shell_menu {
const char *name;
const char *desc;
+ const char *prompt;
const struct bt_shell_menu_entry entries[];
};
--
2.21.0
Hi Luiz,
On Tue, 2019-10-22 at 22:41 -0700, Inga Stotland wrote:
> This allows to associate specific prompts with main menu
> and submenus thus providing for better navigation when
> submenus are in use.
> ---
> src/shared/shell.c | 3 +++
> src/shared/shell.h | 1 +
> 2 files changed, 4 insertions(+)
>
> diff --git a/src/shared/shell.c b/src/shared/shell.c
> index cfdcc76c4..a821c8d0a 100644
> --- a/src/shared/shell.c
> +++ b/src/shared/shell.c
> @@ -1226,6 +1226,9 @@ bool bt_shell_set_menu(const struct bt_shell_menu *menu)
> if (!data.main)
> data.main = menu;
>
> + if (menu->prompt)
> + bt_shell_set_prompt(menu->prompt);
> +
> return true;
> }
>
> diff --git a/src/shared/shell.h b/src/shared/shell.h
> index e14d58381..a9eee506f 100644
> --- a/src/shared/shell.h
> +++ b/src/shared/shell.h
> @@ -53,6 +53,7 @@ struct bt_shell_menu_entry {
> struct bt_shell_menu {
> const char *name;
> const char *desc;
> + const char *prompt;
> const struct bt_shell_menu_entry entries[];
> };
>
Do you have any comments for this patch?
Best regards,
Inga
Hi Inga,
On Wed, Nov 13, 2019 at 7:33 PM Stotland, Inga <[email protected]> wrote:
>
> Hi Luiz,
>
> On Tue, 2019-10-22 at 22:41 -0700, Inga Stotland wrote:
> > This allows to associate specific prompts with main menu
> > and submenus thus providing for better navigation when
> > submenus are in use.
> > ---
> > src/shared/shell.c | 3 +++
> > src/shared/shell.h | 1 +
> > 2 files changed, 4 insertions(+)
> >
> > diff --git a/src/shared/shell.c b/src/shared/shell.c
> > index cfdcc76c4..a821c8d0a 100644
> > --- a/src/shared/shell.c
> > +++ b/src/shared/shell.c
> > @@ -1226,6 +1226,9 @@ bool bt_shell_set_menu(const struct bt_shell_menu *menu)
> > if (!data.main)
> > data.main = menu;
> >
> > + if (menu->prompt)
> > + bt_shell_set_prompt(menu->prompt);
> > +
> > return true;
> > }
> >
> > diff --git a/src/shared/shell.h b/src/shared/shell.h
> > index e14d58381..a9eee506f 100644
> > --- a/src/shared/shell.h
> > +++ b/src/shared/shell.h
> > @@ -53,6 +53,7 @@ struct bt_shell_menu_entry {
> > struct bt_shell_menu {
> > const char *name;
> > const char *desc;
> > + const char *prompt;
> > const struct bt_shell_menu_entry entries[];
> > };
> >
>
> Do you have any comments for this patch?
I recall experimenting with something similar, but the problem is that
sometimes there is already a prompt set, for instance we set the
address when connected on bluetoothctl and that should probably stay
even if you change the menu, perhaps instead overwrite the prompt we
could have another section so we append the menu name at the end of
the prompt or something like that.
--
Luiz Augusto von Dentz