summaryrefslogtreecommitdiff
path: root/riscos/configure/con_home.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/configure/con_home.c')
-rw-r--r--riscos/configure/con_home.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/riscos/configure/con_home.c b/riscos/configure/con_home.c
index fbe1b7039..65cc4e39a 100644
--- a/riscos/configure/con_home.c
+++ b/riscos/configure/con_home.c
@@ -30,7 +30,6 @@
#include "utils/messages.h"
#include "utils/utils.h"
-
#define HOME_URL_FIELD 3
#define HOME_URL_GRIGHT 4
#define HOME_OPEN_STARTUP 5
@@ -40,6 +39,8 @@
static void ro_gui_options_home_default(wimp_pointer *pointer);
static bool ro_gui_options_home_ok(wimp_w w);
+static bool ro_gui_options_home_menu_prepare(wimp_w w, wimp_i i,
+ wimp_menu *menu, wimp_pointer *pointer);
bool ro_gui_options_home_initialise(wimp_w w)
{
@@ -53,13 +54,15 @@ bool ro_gui_options_home_initialise(wimp_w w)
/* initialise all functions for a newly created window */
ro_gui_wimp_event_register_menu_gright(w, HOME_URL_FIELD,
- HOME_URL_GRIGHT, url_suggest_menu);
+ HOME_URL_GRIGHT, ro_gui_url_suggest_menu);
ro_gui_wimp_event_register_checkbox(w, HOME_OPEN_STARTUP);
ro_gui_wimp_event_register_button(w, HOME_DEFAULT_BUTTON,
ro_gui_options_home_default);
ro_gui_wimp_event_register_cancel(w, HOME_CANCEL_BUTTON);
ro_gui_wimp_event_register_ok(w, HOME_OK_BUTTON,
ro_gui_options_home_ok);
+ ro_gui_wimp_event_register_menu_prepare(w,
+ ro_gui_options_home_menu_prepare);
ro_gui_wimp_event_set_help_prefix(w, "HelpHomeConfig");
ro_gui_wimp_event_memorise(w);
return true;
@@ -84,3 +87,28 @@ bool ro_gui_options_home_ok(wimp_w w)
ro_gui_save_options();
return true;
}
+
+
+/**
+ * Callback to prepare menus in the Configure Home dialog. At present, this
+ * only has to handle the URL Suggestion pop-up.
+ *
+ * \param w The window handle owning the menu.
+ * \param i The icon handle owning the menu.
+ * \param *menu The menu to be prepared.
+ * \param *pointer The associated mouse click event block, or NULL
+ * on an Adjust-click re-opening.
+ * \return true if the event was handled; false if not.
+ */
+
+bool ro_gui_options_home_menu_prepare(wimp_w w, wimp_i i, wimp_menu *menu,
+ wimp_pointer *pointer)
+{
+ if (menu != ro_gui_url_suggest_menu || i != HOME_URL_GRIGHT)
+ return false;
+
+ if (pointer != NULL)
+ ro_gui_url_suggest_prepare_menu();
+
+ return true;
+}