Author: adrianl
Date: Fri Jan 30 21:43:06 2009
New Revision: 6318
URL:
http://source.netsurf-browser.org?rev=6318&view=rev
Log:
RFix immediate menu-related problems; changes to follow
Modified:
trunk/netsurf/riscos/menus.c
trunk/netsurf/riscos/save.c
trunk/netsurf/riscos/save.h
trunk/netsurf/riscos/window.c
Modified: trunk/netsurf/riscos/menus.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/riscos/menus.c?rev=6318&a...
==============================================================================
--- trunk/netsurf/riscos/menus.c (original)
+++ trunk/netsurf/riscos/menus.c Fri Jan 30 21:43:06 2009
@@ -215,7 +215,7 @@
{ "Object.Object.SaveURL.URI", BROWSER_OBJECT_SAVE_URL_URI, dialog_saveas
},
{ "Object.Object.SaveURL.URL", BROWSER_OBJECT_SAVE_URL_URL, dialog_saveas
},
{ "Object.Object.SaveURL.LinkText", BROWSER_OBJECT_SAVE_URL_TEXT,
dialog_saveas },
- { "_Object.Object.ObjReload", BROWSER_OBJECT_RELOAD, 0 },
+ { "Object.Object.ObjReload", BROWSER_OBJECT_RELOAD, 0 },
{ "Object.Link", BROWSER_OBJECT_LINK, 0 },
{ "Object.Link.LinkSave", BROWSER_LINK_SAVE, 0 },
{ "Object.Link.LinkSave.URI", BROWSER_LINK_SAVE_URI, dialog_saveas },
Modified: trunk/netsurf/riscos/save.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/riscos/save.c?rev=6318&am...
==============================================================================
--- trunk/netsurf/riscos/save.c (original)
+++ trunk/netsurf/riscos/save.c Fri Jan 30 21:43:06 2009
@@ -414,6 +414,49 @@
/**
+ * Initiates drag saving of a link/URL file
+ *
+ * \param save_type format in which URL should be saved
+ * \param url url to be saved
+ * \param title title to be included in URI format, if any
+ * \param g gui window to save from
+ * \
+ */
+
+void ro_gui_drag_save_link(gui_save_type save_type, const char *url,
+ const char *title, struct gui_window *g)
+{
+ wimp_pointer pointer;
+ char icon_buf[20];
+ os_error *error;
+
+ /* Close the save window because otherwise we need two contexts
+ */
+ xwimp_create_menu(wimp_CLOSE_MENU, 0, 0);
+ ro_gui_dialog_close(dialog_saveas);
+
+ gui_save_url = url;
+ gui_save_title = title;
+ gui_save_sourcew = g->window;
+ saving_from_dialog = false;
+
+ error = xwimp_get_pointer_info(&pointer);
+ if (error) {
+ LOG(("xwimp_get_pointer_info: 0x%x: %s",
+ error->errnum, error->errmess));
+ warn_user("WimpError", error->errmess);
+ return;
+ }
+
+ ro_gui_save_set_state(NULL, save_type, url, save_leafname, icon_buf);
+
+ gui_current_drag_type = GUI_DRAG_SAVE;
+
+ ro_gui_drag_icon(pointer.pos.x, pointer.pos.y, icon_buf);
+}
+
+
+/**
* Start drag of icon under the pointer.
*/
Modified: trunk/netsurf/riscos/save.h
URL:
http://source.netsurf-browser.org/trunk/netsurf/riscos/save.h?rev=6318&am...
==============================================================================
--- trunk/netsurf/riscos/save.h (original)
+++ trunk/netsurf/riscos/save.h Fri Jan 30 21:43:06 2009
@@ -32,6 +32,8 @@
void ro_gui_save_prepare(gui_save_type save_type, struct content *c, struct selection
*s,
const char *url, const char *title);
void ro_gui_save_start_drag(wimp_pointer *pointer);
+void ro_gui_drag_save_link(gui_save_type save_type, const char *url,
+ const char *title, struct gui_window *g);
void ro_gui_drag_icon(int x, int y, const char *sprite);
void ro_gui_drag_box_cancel(void);
void ro_gui_save_drag_end(wimp_dragged *drag);
Modified: trunk/netsurf/riscos/window.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/riscos/window.c?rev=6318&...
==============================================================================
--- trunk/netsurf/riscos/window.c (original)
+++ trunk/netsurf/riscos/window.c Fri Jan 30 21:43:06 2009
@@ -2216,6 +2216,7 @@
case ICON_TOOLBAR_URL:
if (pointer->buttons & (wimp_DRAG_SELECT | wimp_DRAG_ADJUST)) {
if (g->bw->current_content) {
+ struct content *c = g->bw->current_content;
gui_save_type save_type;
if (ro_gui_shift_pressed())
@@ -2223,7 +2224,7 @@
else
save_type = GUI_SAVE_LINK_TEXT;
- gui_drag_save_object(save_type, g->bw->current_content, g);
+ ro_gui_drag_save_link(save_type, c->url, c->title, g);
}
}
else