summaryrefslogtreecommitdiff
path: root/frontends/riscos/dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/riscos/dialog.c')
-rw-r--r--frontends/riscos/dialog.c67
1 files changed, 32 insertions, 35 deletions
diff --git a/frontends/riscos/dialog.c b/frontends/riscos/dialog.c
index a50d1289b..67019c4ff 100644
--- a/frontends/riscos/dialog.c
+++ b/frontends/riscos/dialog.c
@@ -39,6 +39,7 @@
#include "utils/messages.h"
#include "utils/nsurl.h"
#include "desktop/version.h"
+#include "desktop/searchweb.h"
#include "netsurf/browser_window.h"
#include "riscos/configure.h"
@@ -49,9 +50,9 @@
#include "riscos/gui.h"
#include "riscos/window.h"
#include "riscos/hotlist.h"
+#include "riscos/pageinfo.h"
#include "riscos/menus.h"
#include "riscos/save.h"
-#include "riscos/sslcert.h"
#include "riscos/toolbar.h"
#include "riscos/url_complete.h"
#include "riscos/url_suggest.h"
@@ -72,7 +73,6 @@
wimp_w dialog_info, dialog_saveas,
- dialog_401li,
dialog_zoom, dialog_pageinfo, dialog_objinfo, dialog_tooltip,
dialog_warning,
dialog_folder, dialog_entry, dialog_search, dialog_print,
@@ -114,9 +114,6 @@ void ro_gui_dialog_init(void)
/* configure window */
ro_gui_configure_initialise();
- /* 401 login window */
- ro_gui_401login_init();
-
/* theme installation */
dialog_theme_install = ro_gui_dialog_create("theme_inst");
ro_gui_wimp_event_register_cancel(dialog_theme_install,
@@ -182,9 +179,6 @@ void ro_gui_dialog_init(void)
* associated dialogues to be set up first.
*/
- /* certificate verification window */
- ro_gui_cert_initialise();
-
/* hotlist window */
ro_gui_hotlist_initialise();
@@ -196,6 +190,9 @@ void ro_gui_dialog_init(void)
/* cookies window */
ro_gui_cookies_initialise();
+
+ /* page info window */
+ ro_gui_pageinfo_initialise();
}
@@ -339,12 +336,16 @@ void ro_gui_dialog_close(wimp_w close)
{
int i;
wimp_caret caret;
+ wimp_w parent = (wimp_w)-1;
os_error *error;
/* Check if we're a persistent window */
for (i = 0; i < MAX_PERSISTENT; i++) {
if (persistent_dialog[i].dialog == close) {
/* We are => invalidate record */
+ if (persistent_dialog[i].parent != NULL) {
+ parent = persistent_dialog[i].parent;
+ }
persistent_dialog[i].parent = NULL;
persistent_dialog[i].dialog = NULL;
break;
@@ -367,7 +368,7 @@ void ro_gui_dialog_close(wimp_w close)
/* Check if we are a persistent window */
if (i < MAX_PERSISTENT) {
error = xwimp_set_caret_position(
- persistent_dialog[i].parent,
+ parent,
wimp_ICON_WINDOW, -100, -100,
32, -1);
/* parent may have been closed first */
@@ -429,9 +430,9 @@ bool ro_gui_dialog_open_top(wimp_w w, struct toolbar *toolbar,
if (!open) {
int dimension;
int scroll_width;
- /* cancel any editing */
- if (ro_toolbar_get_editing(toolbar))
- ro_toolbar_toggle_edit(toolbar);
+ /* cancel any editing */
+ if (ro_toolbar_get_editing(toolbar))
+ ro_toolbar_toggle_edit(toolbar);
/* move to the centre */
ro_gui_screen_size(&screen_width, &screen_height);
@@ -605,7 +606,7 @@ void ro_gui_dialog_open_persistent(wimp_w parent, wimp_w w, bool pointer) {
void ro_gui_dialog_add_persistent(wimp_w parent, wimp_w w) {
- int i;
+ int i;
/* all persistant windows have a back icon */
ro_gui_wimp_update_window_furniture(w, wimp_WINDOW_BACK_ICON,
@@ -754,9 +755,9 @@ static bool ro_gui_dialog_open_url_init(void)
xwimp_close_template();
die(error->errmess);
}
-
+
free(definition);
-
+
ro_gui_wimp_event_register_menu_gright(dialog_openurl, ICON_OPENURL_URL,
ICON_OPENURL_MENU, ro_gui_url_suggest_menu);
ro_gui_wimp_event_register_cancel(dialog_openurl, ICON_OPENURL_CANCEL);
@@ -771,35 +772,31 @@ static bool ro_gui_dialog_open_url_init(void)
-bool ro_gui_dialog_openurl_apply(wimp_w w) {
- const char *urltxt;
- char *url2;
+bool ro_gui_dialog_openurl_apply(wimp_w w)
+{
+ nserror res;
+ const char *url_s;
nsurl *url;
- nserror error;
- urltxt = ro_gui_get_icon_string(w, ICON_OPENURL_URL);
- url2 = strdup(urltxt); /** @todo why is this copied */
- if (url2 == NULL) {
- return false;
- }
+ url_s = ro_gui_get_icon_string(w, ICON_OPENURL_URL);
+
+ res = search_web_omni(url_s, SEARCH_WEB_OMNI_NONE, &url);
- error = nsurl_create(url2, &url);
- free(url2);
- if (error == NSERROR_OK) {
- error = browser_window_create(BW_CREATE_HISTORY,
- url,
- NULL,
- NULL,
- NULL);
+ if (res == NSERROR_OK) {
+ res = browser_window_create(BW_CREATE_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
nsurl_unref(url);
}
- if (error != NSERROR_OK) {
- ro_warn_user(messages_get_errorcode(error), 0);
+
+ if (res != NSERROR_OK) {
+ ro_warn_user(messages_get_errorcode(res), 0);
return false;
}
return true;
-
}