diff options
Diffstat (limited to 'riscos/configure/con_home.c')
-rw-r--r-- | riscos/configure/con_home.c | 32 |
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; +} |