From 8bbb6a4359c4c8b027919877a1fa84b6b9a52860 Mon Sep 17 00:00:00 2001 From: Richard Wilson Date: Sat, 7 Jan 2006 00:38:14 +0000 Subject: [project @ 2006-01-07 00:38:14 by rjw] Home page configuration tool. svn path=/import/netsurf/; revision=2004 --- riscos/configure/con_home.c | 73 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 riscos/configure/con_home.c (limited to 'riscos/configure/con_home.c') diff --git a/riscos/configure/con_home.c b/riscos/configure/con_home.c new file mode 100644 index 000000000..c98608730 --- /dev/null +++ b/riscos/configure/con_home.c @@ -0,0 +1,73 @@ +/* + * This file is part of NetSurf, http://netsurf.sourceforge.net/ + * Licensed under the GNU General Public License, + * http://www.opensource.org/licenses/gpl-license + * Copyright 2005 Richard Wilson + */ + +#include "netsurf/desktop/options.h" +#include "netsurf/riscos/dialog.h" +#include "netsurf/riscos/gui.h" +#include "netsurf/riscos/menus.h" +#include "netsurf/riscos/options.h" +#include "netsurf/riscos/wimp.h" +#include "netsurf/riscos/wimp_event.h" +#include "netsurf/riscos/configure.h" +#include "netsurf/riscos/configure/configure.h" +#include "netsurf/utils/messages.h" +#include "netsurf/utils/utils.h" + + +#define HOME_URL_FIELD 3 +#define HOME_URL_GRIGHT 4 +#define HOME_OPEN_STARTUP 5 +#define HOME_DEFAULT_BUTTON 6 +#define HOME_CANCEL_BUTTON 7 +#define HOME_OK_BUTTON 8 + +static void ro_gui_options_home_default(wimp_pointer *pointer); +static bool ro_gui_options_home_ok(wimp_w w); + +bool ro_gui_options_home_initialise(wimp_w w) { + int suggestions; + + /* set the current values */ + ro_gui_set_icon_string(w, HOME_URL_FIELD, + option_homepage_url ? option_homepage_url : ""); + ro_gui_set_icon_selected_state(w, HOME_OPEN_STARTUP, + option_open_browser_at_startup); + global_history_get_recent(&suggestions); + ro_gui_set_icon_shaded_state(w, + HOME_URL_GRIGHT, (suggestions <= 0)); + + /* 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); + 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_set_help_prefix(w, "HelpHomeConfig"); + ro_gui_wimp_event_memorise(w); + return true; + +} + +void ro_gui_options_home_default(wimp_pointer *pointer) { + /* set the default values */ + ro_gui_set_icon_string(pointer->w, HOME_URL_FIELD, ""); + ro_gui_set_icon_selected_state(pointer->w, HOME_OPEN_STARTUP, false); +} + +bool ro_gui_options_home_ok(wimp_w w) { + if (option_homepage_url) + free(option_homepage_url); + option_homepage_url = strdup(ro_gui_get_icon_string(w, HOME_URL_FIELD)); + option_open_browser_at_startup = ro_gui_get_icon_selected_state(w, + HOME_OPEN_STARTUP); + + ro_gui_save_options(); + return true; +} -- cgit v1.2.3