bool ro_gui_iconbar_menu_select(wimp_w w, wimp_i i, wimp_menu *menu, wimp_selection *selection, menu_action action) { nsurl *url; nserror error; if (w != wimp_ICON_BAR || i != wimp_ICON_WINDOW) return false; switch (action) { case HELP_OPEN_CONTENTS: error = nsurl_create("http://www.netsurf-browser.org/documentation/", &url); if (error == NSERROR_OK) { error = browser_window_create(BW_CREATE_HISTORY, url, NULL, NULL, NULL); nsurl_unref(url); } if (error != NSERROR_OK) { warn_user(messages_get_errorcode(error), 0); } return true; case BROWSER_NAVIGATE_URL: ro_gui_dialog_prepare_open_url(); ro_gui_dialog_open_persistent(NULL, dialog_openurl, true); return true; case HOTLIST_SHOW: ro_gui_hotlist_open(); return true; case HISTORY_SHOW_GLOBAL: ro_gui_global_history_open(); return true; case COOKIES_SHOW: ro_gui_cookies_open(); return true; case CHOICES_SHOW: ro_gui_configure_show(); return true; case APPLICATION_QUIT: if (ro_gui_prequit()) { LOG(("QUIT in response to user request")); netsurf_quit = true; } return true; default: return false; } return false; }
void ro_gui_download_close_confirmed(query_id id, enum query_response res, void *p) { struct gui_download_window *dw = p; dw->query = QUERY_INVALID; dw->close_confirmed = true; if (dw->query_rsn == QueryRsn_Quit) { /* destroy all our downloads */ while (download_window_list) ro_gui_download_window_destroy_wrapper(download_window_list); /* and restart the shutdown */ if (ro_gui_prequit()) netsurf_quit = true; } else ro_gui_download_window_destroy(dw, false); }