kconfig: gconf: refactor text_insert_help()

text_insert_help() and text_insert_msg() share similar code.
Refactor text_insert_help() to eliminate the code duplication.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Masahiro Yamada 2025-07-17 08:24:13 +09:00
parent 5ceb15fdc6
commit eb549e194b
1 changed files with 9 additions and 26 deletions

View File

@ -64,32 +64,6 @@ static void conf_changed(bool dirty)
/* Utility Functions */ /* Utility Functions */
static void text_insert_help(struct menu *menu)
{
GtkTextBuffer *buffer;
GtkTextIter start, end;
const char *prompt = menu_get_prompt(menu);
struct gstr help = str_new();
menu_get_ext_help(menu, &help);
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
gtk_text_buffer_get_bounds(buffer, &start, &end);
gtk_text_buffer_delete(buffer, &start, &end);
gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
gtk_text_buffer_get_end_iter(buffer, &end);
gtk_text_buffer_insert_with_tags(buffer, &end, prompt, -1, tag1,
NULL);
gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
gtk_text_buffer_get_end_iter(buffer, &end);
gtk_text_buffer_insert_with_tags(buffer, &end, str_get(&help), -1, tag2,
NULL);
str_free(&help);
}
static void text_insert_msg(const char *title, const char *msg) static void text_insert_msg(const char *title, const char *msg)
{ {
GtkTextBuffer *buffer; GtkTextBuffer *buffer;
@ -109,6 +83,15 @@ static void text_insert_msg(const char *title, const char *msg)
NULL); NULL);
} }
static void text_insert_help(struct menu *menu)
{
struct gstr help = str_new();
menu_get_ext_help(menu, &help);
text_insert_msg(menu_get_prompt(menu), str_get(&help));
str_free(&help);
}
static void _select_menu(GtkTreeView *view, GtkTreeModel *model, static void _select_menu(GtkTreeView *view, GtkTreeModel *model,
GtkTreeIter *parent, struct menu *match) GtkTreeIter *parent, struct menu *match)
{ {