From 72d3bec792c614783d6333267852675f14f7bf94 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 27 Dec 2016 11:45:18 +0000 Subject: Update RISC OS global history to use core window interface --- frontends/riscos/dialog.c | 2 +- frontends/riscos/global_history.c | 534 +++++++++++++++++++++++--------------- frontends/riscos/global_history.h | 40 ++- frontends/riscos/gui.c | 5 +- frontends/riscos/gui/button_bar.h | 9 - frontends/riscos/iconbar.c | 2 +- frontends/riscos/window.c | 6 +- 7 files changed, 364 insertions(+), 234 deletions(-) (limited to 'frontends/riscos') diff --git a/frontends/riscos/dialog.c b/frontends/riscos/dialog.c index 64f1dba1e..1e6ae5591 100644 --- a/frontends/riscos/dialog.c +++ b/frontends/riscos/dialog.c @@ -187,7 +187,7 @@ void ro_gui_dialog_init(void) ro_gui_hotlist_initialise(); /* global history window */ - ro_gui_global_history_preinitialise(); + ro_gui_global_history_initialise(); /* cookies window */ ro_gui_cookies_initialise(); diff --git a/frontends/riscos/global_history.c b/frontends/riscos/global_history.c index e893630d1..94e1d4a03 100644 --- a/frontends/riscos/global_history.c +++ b/frontends/riscos/global_history.c @@ -1,6 +1,6 @@ /* - * Copyright 2005 Richard Wilson * Copyright 2010 Stephen Fryatt + * Copyright 2016 Vincent Sanders * * This file is part of NetSurf, http://www.netsurf-browser.org/ * @@ -19,183 +19,122 @@ /** * \file - * Global history implementation for RISC OS. + * Implementation of RISC OS global history. */ -#include -#include -#include +#include #include -#include -#include -#include "oslib/wimp.h" -#include "oslib/wimpspriteop.h" +#include #include "utils/nsoption.h" #include "utils/messages.h" #include "utils/log.h" #include "netsurf/window.h" +#include "netsurf/plotters.h" #include "netsurf/keypress.h" #include "desktop/global_history.h" -#include "desktop/tree.h" #include "riscos/dialog.h" -#include "riscos/global_history.h" #include "riscos/gui.h" #include "riscos/menus.h" #include "riscos/save.h" #include "riscos/toolbar.h" -#include "riscos/treeview.h" #include "riscos/wimp.h" #include "riscos/wimp_event.h" +#include "riscos/corewindow.h" +#include "riscos/global_history.h" -static void ro_gui_global_history_toolbar_update_buttons(void); -static void ro_gui_global_history_toolbar_save_buttons(char *config); -static bool ro_gui_global_history_menu_prepare(wimp_w w, wimp_i i, - wimp_menu *menu, wimp_pointer *pointer); -static void ro_gui_global_history_menu_warning(wimp_w w, wimp_i i, - wimp_menu *menu, wimp_selection *selection, menu_action action); -static bool ro_gui_global_history_menu_select(wimp_w w, wimp_i i, - wimp_menu *menu, wimp_selection *selection, menu_action action); -static void ro_gui_global_history_toolbar_click(button_bar_action action); - -struct ro_treeview_callbacks ro_global_history_treeview_callbacks = { - ro_gui_global_history_toolbar_click, - ro_gui_global_history_toolbar_update_buttons, - ro_gui_global_history_toolbar_save_buttons +struct ro_global_history_window { + struct ro_corewindow core; + wimp_menu *menu; }; -/* The RISC OS global history window, toolbar and treeview data */ - -static struct ro_global_history_window { - wimp_w window; - struct toolbar *toolbar; - ro_treeview *tv; - wimp_menu *menu; -} global_history_window; - -/** - * Pre-Initialise the global history tree. This is called for things that - * need to be done at the gui_init() stage, such as loading templates. - */ +/** global_history window is a singleton */ +static struct ro_global_history_window *global_history_window = NULL; -void ro_gui_global_history_preinitialise(void) -{ - /* Create our window. */ +/** riscos template for global_history window */ +static wimp_window *dialog_global_history_template; - global_history_window.window = ro_gui_dialog_create("tree"); - ro_gui_set_window_title(global_history_window.window, - messages_get("GlobalHistory")); -} /** - * Initialise global history tree, at the gui_init2() stage. + * callback to draw on drawable area of ro global_history window + * + * \param ro_cw The riscos core window structure. + * \param r The rectangle of the window that needs updating. + * \param originx The risc os plotter x origin. + * \param originy The risc os plotter y origin. + * \return NSERROR_OK on success otherwise apropriate error code */ - -void ro_gui_global_history_postinitialise(void) +static nserror +global_history_draw(struct ro_corewindow *ro_cw, + int originx, + int originy, + struct rect *r) { - /* Create our toolbar. */ - - global_history_window.toolbar = ro_toolbar_create(NULL, - global_history_window.window, - THEME_STYLE_GLOBAL_HISTORY_TOOLBAR, TOOLBAR_FLAGS_NONE, - ro_treeview_get_toolbar_callbacks(), NULL, - "HelpGHistoryToolbar"); - if (global_history_window.toolbar != NULL) { - ro_toolbar_add_buttons(global_history_window.toolbar, - global_history_toolbar_buttons, - nsoption_charp(toolbar_history)); - ro_toolbar_rebuild(global_history_window.toolbar); - } - - /* Create the treeview with the window and toolbar. */ - - global_history_window.tv = - ro_treeview_create(global_history_window.window, - global_history_window.toolbar, - &ro_global_history_treeview_callbacks, - TREE_HISTORY); - if (global_history_window.tv == NULL) { - LOG("Failed to allocate treeview"); - return; - } - - ro_toolbar_update_client_data(global_history_window.toolbar, - global_history_window.tv); + struct redraw_context ctx = { + .interactive = true, + .background_images = true, + .plot = &ro_plotters + }; - /* Build the global history window menu. */ + ro_plot_origin_x = originx; + ro_plot_origin_y = originy; + no_font_blending = true; + global_history_redraw(0, 0, r, &ctx); + no_font_blending = false; - static const struct ns_menu global_history_definition = { - "History", { - { "History", NO_ACTION, 0 }, - { "_History.Export", HISTORY_EXPORT, &dialog_saveas }, - { "History.Expand", TREE_EXPAND_ALL, 0 }, - { "History.Expand.All", TREE_EXPAND_ALL, 0 }, - { "History.Expand.Folders", TREE_EXPAND_FOLDERS, 0 }, - { "History.Expand.Links", TREE_EXPAND_LINKS, 0 }, - { "History.Collapse", TREE_COLLAPSE_ALL, 0 }, - { "History.Collapse.All", TREE_COLLAPSE_ALL, 0 }, - { "History.Collapse.Folders", TREE_COLLAPSE_FOLDERS, 0 }, - { "History.Collapse.Links", TREE_COLLAPSE_LINKS, 0 }, - { "History.Toolbars", NO_ACTION, 0 }, - { "_History.Toolbars.ToolButtons", TOOLBAR_BUTTONS, 0 }, - { "History.Toolbars.EditToolbar",TOOLBAR_EDIT, 0 }, - { "Selection", TREE_SELECTION, 0 }, - { "Selection.Launch", TREE_SELECTION_LAUNCH, 0 }, - { "Selection.Delete", TREE_SELECTION_DELETE, 0 }, - { "SelectAll", TREE_SELECT_ALL, 0 }, - { "Clear", TREE_CLEAR_SELECTION, 0 }, - {NULL, 0, 0} - } - }; - global_history_window.menu = ro_gui_menu_define_menu( - &global_history_definition); - - ro_gui_wimp_event_register_menu(global_history_window.window, - global_history_window.menu, false, false); - ro_gui_wimp_event_register_menu_prepare(global_history_window.window, - ro_gui_global_history_menu_prepare); - ro_gui_wimp_event_register_menu_selection(global_history_window.window, - ro_gui_global_history_menu_select); - ro_gui_wimp_event_register_menu_warning(global_history_window.window, - ro_gui_global_history_menu_warning); + return NSERROR_OK; } + /** - * Destroy the global history window. + * callback for keypress on ro coookie window + * + * \param ro_cw The ro core window structure. + * \param nskey The netsurf key code. + * \return NSERROR_OK if key processed, + * NSERROR_NOT_IMPLEMENTED if key not processed + * otherwise apropriate error code */ - -void ro_gui_global_history_destroy(void) +static nserror global_history_key(struct ro_corewindow *ro_cw, uint32_t nskey) { - if (global_history_window.tv == NULL) - return; - - ro_treeview_destroy(global_history_window.tv); + if (global_history_keypress(nskey)) { + return NSERROR_OK; + } + return NSERROR_NOT_IMPLEMENTED; } + /** - * Open the global history window. + * callback for mouse event on ro global_history window + * + * \param ro_cw The ro core window structure. + * \param mouse_state mouse state + * \param x location of event + * \param y location of event + * \return NSERROR_OK on sucess otherwise apropriate error code. */ - -void ro_gui_global_history_open(void) +static nserror +global_history_mouse(struct ro_corewindow *ro_cw, + browser_mouse_state mouse_state, + int x, int y) { - ro_gui_global_history_toolbar_update_buttons(); + global_history_mouse_action(mouse_state, x, y); - if (!ro_gui_dialog_open_top(global_history_window.window, - global_history_window.toolbar, 600, 800)) { - ro_treeview_set_origin(global_history_window.tv, 0, - -(ro_toolbar_height( - global_history_window.toolbar))); - } + return NSERROR_OK; } + /** - * Handle toolbar button clicks. + * handle clicks in ro core window toolbar. * - * \param action The action to handle + * \param ro_cw The ro core window structure. + * \param action The button bar action. + * \return NSERROR_OK if config saved, otherwise apropriate error code */ - -void ro_gui_global_history_toolbar_click(button_bar_action action) +static nserror +global_history_toolbar_click(struct ro_corewindow *ro_cw, + button_bar_action action) { switch (action) { case TOOLBAR_BUTTON_DELETE: @@ -225,156 +164,194 @@ void ro_gui_global_history_toolbar_click(button_bar_action action) default: break; } + + return NSERROR_OK; } /** - * Update the button state in the global history toolbar. + * Handle updating state of buttons in ro core window toolbar. + * + * \param ro_cw The ro core window structure. + * \return NSERROR_OK if config saved, otherwise apropriate error code */ - -void ro_gui_global_history_toolbar_update_buttons(void) +static nserror global_history_toolbar_update(struct ro_corewindow *ro_cw) { - ro_toolbar_set_button_shaded_state(global_history_window.toolbar, + ro_toolbar_set_button_shaded_state(ro_cw->toolbar, TOOLBAR_BUTTON_DELETE, !global_history_has_selection()); - ro_toolbar_set_button_shaded_state(global_history_window.toolbar, + ro_toolbar_set_button_shaded_state(ro_cw->toolbar, TOOLBAR_BUTTON_LAUNCH, !global_history_has_selection()); + return NSERROR_OK; } /** - * Save a new button arrangement in the global history toolbar. + * callback for saving of toolbar state in ro global history window * - * \param *config The new button configuration string. + * \param ro_cw The ro core window structure. + * \param config The new toolbar configuration. + * \return NSERROR_OK if config saved, otherwise apropriate error code */ - -void ro_gui_global_history_toolbar_save_buttons(char *config) +static nserror +global_history_toolbar_save(struct ro_corewindow *ro_cw, char *config) { nsoption_set_charp(toolbar_history, config); ro_gui_save_options(); + + return NSERROR_OK; } /** - * Prepare the global history menu for opening + * Prepare the global_history menu for display * - * \param w The window owning the menu. - * \param i The icon owning the menu. - * \param *menu The menu about to be opened. - * \param *pointer Pointer to the relevant wimp event block, or - * NULL for an Adjust click. - * \return true if the event was handled; else false. + * \param w The window owning the menu. + * \param i The icon owning the menu. + * \param menu The menu from which the selection was made. + * \param pointer The pointer shape + * \return true if action accepted; else false. */ - -bool ro_gui_global_history_menu_prepare(wimp_w w, wimp_i i, wimp_menu *menu, - wimp_pointer *pointer) +static bool +global_history_menu_prepare(wimp_w w, + wimp_i i, + wimp_menu *menu, + wimp_pointer *pointer) { bool selection; + struct ro_global_history_window *global_historyw; - if (menu != global_history_window.menu) + global_historyw = (struct ro_global_history_window *)ro_gui_wimp_event_get_user_data(w); + + if ((global_historyw == NULL) || + (menu != global_historyw->menu)) { return false; + } selection = global_history_has_selection(); - ro_gui_menu_set_entry_shaded(global_history_window.menu, - TREE_SELECTION, !selection); - ro_gui_menu_set_entry_shaded(global_history_window.menu, - TREE_CLEAR_SELECTION, !selection); + ro_gui_menu_set_entry_shaded(menu, TREE_SELECTION, !selection); + ro_gui_menu_set_entry_shaded(menu, TREE_CLEAR_SELECTION, !selection); ro_gui_save_prepare(GUI_SAVE_HISTORY_EXPORT_HTML, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL, NULL); ro_gui_menu_set_entry_shaded(menu, TOOLBAR_BUTTONS, - ro_toolbar_menu_option_shade( - global_history_window.toolbar)); + ro_toolbar_menu_option_shade(global_historyw->core.toolbar)); ro_gui_menu_set_entry_ticked(menu, TOOLBAR_BUTTONS, - ro_toolbar_menu_buttons_tick( - global_history_window.toolbar)); + ro_toolbar_menu_buttons_tick(global_historyw->core.toolbar)); ro_gui_menu_set_entry_shaded(menu, TOOLBAR_EDIT, - ro_toolbar_menu_edit_shade( - global_history_window.toolbar)); + ro_toolbar_menu_edit_shade(global_historyw->core.toolbar)); ro_gui_menu_set_entry_ticked(menu, TOOLBAR_EDIT, - ro_toolbar_menu_edit_tick( - global_history_window.toolbar)); + ro_toolbar_menu_edit_tick(global_historyw->core.toolbar)); return true; } + /** - * Handle submenu warnings for the global_hostory menu + * Handle submenu warnings for the global_history menu * - * \param w The window owning the menu. - * \param i The icon owning the menu. - * \param *menu The menu to which the warning applies. - * \param *selection The wimp menu selection data. - * \param action The selected menu action. + * \param w The window owning the menu. + * \param i The icon owning the menu. + * \param menu The menu to which the warning applies. + * \param selection The wimp menu selection data. + * \param action The selected menu action. */ - -void ro_gui_global_history_menu_warning(wimp_w w, wimp_i i, wimp_menu *menu, - wimp_selection *selection, menu_action action) +static void +global_history_menu_warning(wimp_w w, + wimp_i i, + wimp_menu *menu, + wimp_selection *selection, + menu_action action) { /* Do nothing */ } + /** - * Handle selections from the global history menu + * Handle selections from the global_history menu * - * \param w The window owning the menu. - * \param i The icon owning the menu. - * \param *menu The menu from which the selection was made. - * \param *selection The wimp menu selection data. - * \param action The selected menu action. - * \return true if action accepted; else false. + * \param w The window owning the menu. + * \param i The icon owning the menu. + * \param menu The menu from which the selection was made. + * \param selection The wimp menu selection data. + * \param action The selected menu action. + * \return true if action accepted; else false. */ - -bool ro_gui_global_history_menu_select(wimp_w w, wimp_i i, wimp_menu *menu, - wimp_selection *selection, menu_action action) +static bool +global_history_menu_select(wimp_w w, + wimp_i i, + wimp_menu *menu, + wimp_selection *selection, + menu_action action) { + struct ro_global_history_window *global_historyw; + + global_historyw = (struct ro_global_history_window *)ro_gui_wimp_event_get_user_data(w); + + if ((global_historyw == NULL) || + (menu != global_historyw->menu)) { + return false; + } + switch (action) { case HISTORY_EXPORT: ro_gui_dialog_open_persistent(w, dialog_saveas, true); return true; + case TREE_EXPAND_ALL: global_history_expand(false); return true; + case TREE_EXPAND_FOLDERS: global_history_expand(true); return true; + case TREE_EXPAND_LINKS: global_history_expand(false); return true; + case TREE_COLLAPSE_ALL: global_history_contract(true); return true; + case TREE_COLLAPSE_FOLDERS: global_history_contract(true); return true; + case TREE_COLLAPSE_LINKS: global_history_contract(false); return true; + case TREE_SELECTION_LAUNCH: global_history_keypress(NS_KEY_CR); return true; + case TREE_SELECTION_DELETE: global_history_keypress(NS_KEY_DELETE_LEFT); return true; + case TREE_SELECT_ALL: global_history_keypress(NS_KEY_SELECT_ALL); return true; + case TREE_CLEAR_SELECTION: global_history_keypress(NS_KEY_CLEAR_SELECTION); return true; + case TOOLBAR_BUTTONS: - ro_toolbar_set_display_buttons(global_history_window.toolbar, - !ro_toolbar_get_display_buttons( - global_history_window.toolbar)); + ro_toolbar_set_display_buttons(global_historyw->core.toolbar, + !ro_toolbar_get_display_buttons(global_historyw->core.toolbar)); return true; + case TOOLBAR_EDIT: - ro_toolbar_toggle_edit(global_history_window.toolbar); + ro_toolbar_toggle_edit(global_historyw->core.toolbar); return true; + default: return false; } @@ -382,33 +359,178 @@ bool ro_gui_global_history_menu_select(wimp_w w, wimp_i i, wimp_menu *menu, return false; } + /** - * Check if a particular window handle is the global history window + * Creates the window for the global_history tree. * - * \param window the window in question - * \return true if this window is the global history + * \return NSERROR_OK on success else appropriate error code on faliure. */ +static nserror ro_global_history_init(void) +{ + struct ro_global_history_window *ncwin; + nserror res; + static const struct ns_menu global_history_menu_def = { + "History", { + { "History", NO_ACTION, 0 }, + { "_History.Export", HISTORY_EXPORT, &dialog_saveas }, + { "History.Expand", TREE_EXPAND_ALL, 0 }, + { "History.Expand.All", TREE_EXPAND_ALL, 0 }, + { "History.Expand.Folders", TREE_EXPAND_FOLDERS, 0 }, + { "History.Expand.Links", TREE_EXPAND_LINKS, 0 }, + { "History.Collapse", TREE_COLLAPSE_ALL, 0 }, + { "History.Collapse.All", TREE_COLLAPSE_ALL, 0 }, + { "History.Collapse.Folders", TREE_COLLAPSE_FOLDERS, 0 }, + { "History.Collapse.Links", TREE_COLLAPSE_LINKS, 0 }, + { "History.Toolbars", NO_ACTION, 0 }, + { "_History.Toolbars.ToolButtons", TOOLBAR_BUTTONS, 0 }, + { "History.Toolbars.EditToolbar",TOOLBAR_EDIT, 0 }, + { "Selection", TREE_SELECTION, 0 }, + { "Selection.Launch", TREE_SELECTION_LAUNCH, 0 }, + { "Selection.Delete", TREE_SELECTION_DELETE, 0 }, + { "SelectAll", TREE_SELECT_ALL, 0 }, + { "Clear", TREE_CLEAR_SELECTION, 0 }, + { NULL, 0, 0} + } + }; + + static const struct button_bar_buttons global_history_toolbar_buttons[] = { + { "delete", TOOLBAR_BUTTON_DELETE, TOOLBAR_BUTTON_NONE, '0', "0"}, + { "expand", TOOLBAR_BUTTON_EXPAND, TOOLBAR_BUTTON_COLLAPSE, '1', "1"}, + { "open", TOOLBAR_BUTTON_OPEN, TOOLBAR_BUTTON_CLOSE, '2', "2"}, + { "launch", TOOLBAR_BUTTON_LAUNCH, TOOLBAR_BUTTON_NONE, '3', "3"}, + { NULL, TOOLBAR_BUTTON_NONE, TOOLBAR_BUTTON_NONE, '\0', ""} + }; + + if (global_history_window != NULL) { + return NSERROR_OK; + } + + ncwin = malloc(sizeof(struct ro_global_history_window)); + if (ncwin == NULL) { + return NSERROR_NOMEM; + } + + /* create window from template */ + ncwin->core.wh = wimp_create_window(dialog_global_history_template); + + ro_gui_set_window_title(ncwin->core.wh, messages_get("GlobalHistory")); + + /* initialise callbacks */ + ncwin->core.draw = global_history_draw; + ncwin->core.key = global_history_key; + ncwin->core.mouse = global_history_mouse; + ncwin->core.toolbar_click = global_history_toolbar_click; + ncwin->core.toolbar_save = global_history_toolbar_save; + /* update is not valid untill global history is initialised */ + ncwin->core.toolbar_update = NULL; + + /* initialise core window */ + res = ro_corewindow_init(&ncwin->core, + global_history_toolbar_buttons, + nsoption_charp(toolbar_history), + THEME_STYLE_GLOBAL_HISTORY_TOOLBAR, + "HelpGHistoryToolbar"); + if (res != NSERROR_OK) { + free(ncwin); + return res; + } + + res = global_history_init(ncwin->core.cb_table, + (struct core_window *)ncwin); + if (res != NSERROR_OK) { + free(ncwin); + return res; + } -bool ro_gui_global_history_check_window(wimp_w window) + /* setup toolbar update post global_history manager initialisation */ + ncwin->core.toolbar_update = global_history_toolbar_update; + global_history_toolbar_update(&ncwin->core); + + /* Build the global_history window menu. */ + ncwin->menu = ro_gui_menu_define_menu(&global_history_menu_def); + + ro_gui_wimp_event_register_menu(ncwin->core.wh, + ncwin->menu, false, false); + ro_gui_wimp_event_register_menu_prepare(ncwin->core.wh, + global_history_menu_prepare); + ro_gui_wimp_event_register_menu_selection(ncwin->core.wh, + global_history_menu_select); + ro_gui_wimp_event_register_menu_warning(ncwin->core.wh, + global_history_menu_warning); + + /* memoise window so it can be represented when necessary + * instead of recreating every time. + */ + global_history_window = ncwin; + + return NSERROR_OK; +} + + +/* exported interface documented in riscos/global_history.h */ +nserror ro_gui_global_history_present(void) { - if (global_history_window.window == window) + nserror res; + + res = ro_global_history_init(); + if (res == NSERROR_OK) { + LOG("Presenting"); + ro_gui_dialog_open_top(global_history_window->core.wh, + global_history_window->core.toolbar, + 600, 800); + } else { + LOG("Failed presenting code %d", res); + } + + return res; +} + + +/* exported interface documented in riscos/global_history.h */ +void ro_gui_global_history_initialise(void) +{ + dialog_global_history_template = ro_gui_dialog_load_template("tree"); +} + + +/* exported interface documented in riscos/global_history.h */ +nserror ro_gui_global_history_finalise(void) +{ + nserror res; + + if (global_history_window == NULL) { + return NSERROR_OK; + } + + res = global_history_fini(); + if (res == NSERROR_OK) { + res = ro_corewindow_fini(&global_history_window->core); + + free(global_history_window); + global_history_window = NULL; + } + + return res; +} + + +/* exported interface documented in riscos/global_history.h */ +bool ro_gui_global_history_check_window(wimp_w wh) +{ + if ((global_history_window != NULL) && + (global_history_window->core.wh == wh)) { return true; - else - return false; + } + return false; } -/** - * Check if a particular menu handle is the global history menu - * - * \param *menu The menu in question. - * \return true if this menu is the global history menu - */ +/* exported interface documented in riscos/global_history.h */ bool ro_gui_global_history_check_menu(wimp_menu *menu) { - if (global_history_window.menu == menu) + if ((global_history_window != NULL) && + (global_history_window->menu == menu)) { return true; - else - return false; + } + return false; } - diff --git a/frontends/riscos/global_history.h b/frontends/riscos/global_history.h index 6f5ba11eb..0d368c3da 100644 --- a/frontends/riscos/global_history.h +++ b/frontends/riscos/global_history.h @@ -17,21 +17,41 @@ * along with this program. If not, see . */ -/** \file - * Global history (interface). +/** + * \file + * RISc OS global history interface. */ -#ifndef _NETSURF_RISCOS_GLOBALHISTORY_H_ -#define _NETSURF_RISCOS_GLOBALHISTORY_H_ +#ifndef RISCOS_GLOBALHISTORY_H +#define RISCOS_GLOBALHISTORY_H -#include "riscos/menus.h" +/** + * initialise the global history window template ready for subsequent use. + */ +void ro_gui_global_history_initialise(void); + +/** + * make the global history window visible. + * + * \return NSERROR_OK on success else appropriate error code on faliure. + */ +nserror ro_gui_global_history_present(void); + +/** + * Free any resources allocated for the global history window. + * + * \return NSERROR_OK on success else appropriate error code on faliure. + */ +nserror ro_gui_global_history_finalise(void); -void ro_gui_global_history_preinitialise(void); -void ro_gui_global_history_postinitialise(void); -void ro_gui_global_history_destroy(void); -void ro_gui_global_history_open(void); -void ro_gui_global_history_save(void); +/** + * check if window handle is for the global history window + */ bool ro_gui_global_history_check_window(wimp_w window); + +/** + * check if menu handle is for the global history menu + */ bool ro_gui_global_history_check_menu(wimp_menu *menu); #endif diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c index 4834396d6..1f56798f9 100644 --- a/frontends/riscos/gui.c +++ b/frontends/riscos/gui.c @@ -1271,9 +1271,6 @@ static nserror gui_init(int argc, char** argv) /* certificate verification window */ ro_gui_cert_postinitialise(); - /* global history window */ - ro_gui_global_history_postinitialise(); - open_window = nsoption_bool(open_browser_at_startup); /* parse command-line arguments */ @@ -1561,7 +1558,7 @@ static void gui_quit(void) urldb_save_cookies(nsoption_charp(cookie_jar)); urldb_save(nsoption_charp(url_save)); ro_gui_window_quit(); - ro_gui_global_history_destroy(); + ro_gui_global_history_finalise(); ro_gui_hotlist_finalise(); ro_gui_cookies_finalise(); ro_gui_saveas_quit(); diff --git a/frontends/riscos/gui/button_bar.h b/frontends/riscos/gui/button_bar.h index eb8f18bfe..5cde986ee 100644 --- a/frontends/riscos/gui/button_bar.h +++ b/frontends/riscos/gui/button_bar.h @@ -95,15 +95,6 @@ static const struct button_bar_buttons brower_toolbar_buttons[] = { {NULL, TOOLBAR_BUTTON_NONE, TOOLBAR_BUTTON_NONE, '\0', ""} }; -static const struct button_bar_buttons global_history_toolbar_buttons[] = { - {"delete", TOOLBAR_BUTTON_DELETE, TOOLBAR_BUTTON_NONE, '0', "0"}, - {"expand", TOOLBAR_BUTTON_EXPAND, TOOLBAR_BUTTON_COLLAPSE, '1', "1"}, - {"open", TOOLBAR_BUTTON_OPEN, TOOLBAR_BUTTON_CLOSE, '2', "2"}, - {"launch", TOOLBAR_BUTTON_LAUNCH, TOOLBAR_BUTTON_NONE, '3', "3"}, - {NULL, TOOLBAR_BUTTON_NONE, TOOLBAR_BUTTON_NONE, '\0', ""} -}; - - struct button_bar; diff --git a/frontends/riscos/iconbar.c b/frontends/riscos/iconbar.c index e0ce15d09..3430ed2f0 100644 --- a/frontends/riscos/iconbar.c +++ b/frontends/riscos/iconbar.c @@ -228,7 +228,7 @@ bool ro_gui_iconbar_menu_select(wimp_w w, wimp_i i, wimp_menu *menu, ro_gui_hotlist_present(); return true; case HISTORY_SHOW_GLOBAL: - ro_gui_global_history_open(); + ro_gui_global_history_present(); return true; case COOKIES_SHOW: ro_gui_cookies_present(); diff --git a/frontends/riscos/window.c b/frontends/riscos/window.c index 569860ea6..3e84846a3 100644 --- a/frontends/riscos/window.c +++ b/frontends/riscos/window.c @@ -1953,7 +1953,7 @@ bool ro_gui_window_handle_local_keypress(struct gui_window *g, wimp_key *key, case IS_WIMP_KEY + wimp_KEY_CONTROL + wimp_KEY_F7: /* Show global history */ - ro_gui_global_history_open(); + ro_gui_global_history_present(); return true; case IS_WIMP_KEY + wimp_KEY_F8: /* View source */ @@ -2696,7 +2696,7 @@ bool ro_gui_window_menu_select(wimp_w w, wimp_i i, wimp_menu *menu, ro_gui_window_action_local_history(g); break; case HISTORY_SHOW_GLOBAL: - ro_gui_global_history_open(); + ro_gui_global_history_present(); break; /* hotlist actions */ @@ -3607,7 +3607,7 @@ void ro_gui_window_toolbar_click(void *data, break; case TOOLBAR_BUTTON_HISTORY_GLOBAL: - ro_gui_global_history_open(); + ro_gui_global_history_present(); break; case TOOLBAR_BUTTON_HOME: -- cgit v1.2.3