From 608d74abda9abc32f024d7aa34ef4b75ca0712ed Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Tue, 20 Aug 2002 21:30:06 +0000 Subject: [PATCH] * menu.c (create_menu): Get help node as an argument. * main.c: Use new create_menu() interface. --- src/ChangeLog | 5 +++++ src/main.c | 15 ++++++++++----- src/menu.c | 20 +++++--------------- src/menu.h | 4 +++- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 6e83df18c..9b4eb9ee5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-08-20 David Martin + + * menu.c (create_menu): Get help node as an argument. + * main.c: Use new create_menu() interface. + 2002-08-20 Pavel Roskin * man2hlp.c: Don't redirect stdout. Check result of ftell. diff --git a/src/main.c b/src/main.c index db1c47ff4..08dba8842 100644 --- a/src/main.c +++ b/src/main.c @@ -1095,12 +1095,17 @@ void init_menu (void) { MenuBar [0] = create_menu ( horizontal_split ? _(" &Above ") : _(" &Left "), - PanelMenu, menu_entries (PanelMenu)); - MenuBar [1] = create_menu (_(" &File "), FileMenu, menu_entries (FileMenu)); - MenuBar [2] = create_menu (_(" &Command "), CmdMenu, menu_entries (CmdMenu)); - MenuBar [3] = create_menu (_(" &Options "), OptMenu, menu_entries (OptMenu)); + PanelMenu, menu_entries (PanelMenu), + "[Left and Right Menus]"); + MenuBar [1] = create_menu (_(" &File "), FileMenu, menu_entries (FileMenu), + "[File Menu]"); + MenuBar [2] = create_menu (_(" &Command "), CmdMenu, menu_entries (CmdMenu), + "[Command Menu]"); + MenuBar [3] = create_menu (_(" &Options "), OptMenu, menu_entries (OptMenu), + "[Options Menu]"); MenuBar [4] = create_menu (horizontal_split ? _(" &Below ") : _(" &Right "), - RightMenu, menu_entries (PanelMenu)); + RightMenu, menu_entries (PanelMenu), + "[Left and Right Menus]"); } void diff --git a/src/menu.c b/src/menu.c index 8a4487cbd..5288b52f7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -48,7 +48,7 @@ static void menu_scan_hotkey(Menu menu) menu->hotkey = 0; } -Menu create_menu (char *name, menu_entry *entries, int count) +Menu create_menu (char *name, menu_entry *entries, int count, char *help_node) { Menu menu; char *cp; @@ -82,6 +82,7 @@ Menu create_menu (char *name, menu_entry *entries, int count) menu->name = g_strdup (name); menu_scan_hotkey(menu); menu->start_x = 0; + menu->help_node = g_strdup (help_node); return menu; } @@ -272,20 +273,8 @@ static int menubar_handle_key (WMenu *menubar, int key) if (key == KEY_F(1)) { if (menubar->dropped) { - switch (menubar->selected) { - case 1: - interactive_display (NULL, "[File Menu]"); - break; - case 2: - interactive_display (NULL, "[Command Menu]"); - break; - case 3: - interactive_display (NULL, "[Options Menu]"); - break; - default: - interactive_display (NULL, "[Left and Right Menus]"); - break; - } + interactive_display (NULL, + (menubar->menu [menubar->selected])->help_node); } else { interactive_display (NULL, "[Menu Bar]"); } @@ -545,6 +534,7 @@ void destroy_menu (Menu menu) { g_free (menu->name); + g_free (menu->help_node); g_free (menu); } diff --git a/src/menu.h b/src/menu.h index 0e637aeee..bd7568283 100644 --- a/src/menu.h +++ b/src/menu.h @@ -24,6 +24,7 @@ typedef struct { int hotkey; menu_entry *entries; int start_x; /* position relative to menubar start */ + char *help_node; } sMenu; typedef sMenu *Menu; @@ -43,7 +44,8 @@ typedef struct { int previous_selection; /* Selected widget before activating menu */ } WMenu; -Menu create_menu (char *name, menu_entry *entries, int count); +Menu create_menu (char *name, menu_entry *entries, int count, + char *help_node); void destroy_menu (Menu menu); WMenu *menubar_new (int y, int x, int cols, Menu menu [], int items); void menubar_arrange (WMenu* menubar);