summaryrefslogtreecommitdiff
path: root/riscos/cookies.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/cookies.c')
-rw-r--r--riscos/cookies.c39
1 files changed, 17 insertions, 22 deletions
diff --git a/riscos/cookies.c b/riscos/cookies.c
index d73e8b5fe..51b1f5f25 100644
--- a/riscos/cookies.c
+++ b/riscos/cookies.c
@@ -45,12 +45,6 @@
#include "utils/url.h"
#include "utils/utils.h"
-static void ro_gui_cookies_menu_prepare(wimp_w window, wimp_menu *menu);
-static bool ro_gui_cookies_menu_select(wimp_w window, wimp_menu *menu,
- wimp_selection *selection, menu_action action);
-static void ro_gui_cookies_menu_warning(wimp_w window, wimp_menu *menu,
- wimp_selection *selection, menu_action action);
-
/* The RISC OS cookie window, toolbar and treeview data. */
static struct ro_cookies_window {
@@ -160,6 +154,9 @@ void ro_gui_cookies_open(void)
bool ro_gui_cookies_toolbar_click(wimp_pointer *pointer)
{
+ if (pointer->buttons == wimp_CLICK_MENU)
+ return ro_gui_wimp_event_process_window_menu_click(pointer);
+
if (cookies_window.toolbar->editor != NULL) {
ro_gui_theme_toolbar_editor_click(cookies_window.toolbar,
pointer);
@@ -193,13 +190,6 @@ bool ro_gui_cookies_toolbar_click(wimp_pointer *pointer)
break;
}
- /* \todo -- We assume that the owning module will have attached a window menu
- * to our parent window. If it hasn't, this call will quietly fail.
- */
-
- if (pointer->buttons == wimp_CLICK_MENU)
- return ro_gui_wimp_event_process_window_menu_click(pointer);
-
return false;
}
@@ -214,24 +204,29 @@ void ro_gui_cookies_menu_prepare(wimp_w window, wimp_menu *menu)
{
bool selection;
- selection = ro_treeview_has_selection(cookies_window.tv);
+ if (menu != cookies_window.menu && menu != tree_toolbar_menu)
+ return;
- ro_gui_menu_set_entry_shaded(cookies_window.menu, TREE_SELECTION,
- !selection);
- ro_gui_menu_set_entry_shaded(cookies_window.menu, TREE_CLEAR_SELECTION,
- !selection);
+ if (menu == cookies_window.menu) {
+ selection = ro_treeview_has_selection(cookies_window.tv);
+
+ ro_gui_menu_set_entry_shaded(cookies_window.menu, TREE_SELECTION,
+ !selection);
+ ro_gui_menu_set_entry_shaded(cookies_window.menu, TREE_CLEAR_SELECTION,
+ !selection);
+ }
- ro_gui_menu_set_entry_shaded(cookies_window.menu, TOOLBAR_BUTTONS,
+ ro_gui_menu_set_entry_shaded(menu, TOOLBAR_BUTTONS,
(cookies_window.toolbar == NULL ||
cookies_window.toolbar->editor));
- ro_gui_menu_set_entry_ticked(cookies_window.menu, TOOLBAR_BUTTONS,
+ ro_gui_menu_set_entry_ticked(menu, TOOLBAR_BUTTONS,
(cookies_window.toolbar != NULL &&
(cookies_window.toolbar->display_buttons ||
(cookies_window.toolbar->editor))));
- ro_gui_menu_set_entry_shaded(cookies_window.menu, TOOLBAR_EDIT,
+ ro_gui_menu_set_entry_shaded(menu, TOOLBAR_EDIT,
cookies_window.toolbar == NULL);
- ro_gui_menu_set_entry_ticked(cookies_window.menu, TOOLBAR_EDIT,
+ ro_gui_menu_set_entry_ticked(menu, TOOLBAR_EDIT,
(cookies_window.toolbar != NULL &&
cookies_window.toolbar->editor));
}