Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/19742c826aca5494a1f10e3a869190531e7ae25b
...commit
http://git.netsurf-browser.org/netsurf.git/commit/19742c826aca5494a1f10e3a869190531e7ae25b
...tree
http://git.netsurf-browser.org/netsurf.git/tree/19742c826aca5494a1f10e3a869190531e7ae25b
The branch, master has been updated
via 19742c826aca5494a1f10e3a869190531e7ae25b (commit)
via 76618d958869859666cc0e33a414d2b2ffed9dcf (commit)
via df5c18315ff13e215f661eacd2d81e3c0a758e57 (commit)
via d0df3fa4b340071fbe54f9e7966f62b873b52b81 (commit)
via 1cd30fdb3c1f163beceb0bde7485c10a886de531 (commit)
via ae36d35728f8622396faba7aeb58434aff2d0331 (commit)
via a5aa53657c6feaf8ddd29ee33f8d5e89138ec996 (commit)
via 1edf8f28480fcb780dc6504022c65b6cc6c019cf (commit)
via c64d48005c31a7046f224b796a3da5ac0e79751d (commit)
via 4713e1c8af2e4defbc127150838bd35549038b7b (commit)
via ca1a519cfad66978c18181b4a544b485f69aee90 (commit)
via b9dd0a60c300b0de6b117500f67b6724b520652c (commit)
from 83c38318530678b81fa837e8c330107c97f447e2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=19742c826aca5494a1f10e3a869190531e7ae25b
commit 19742c826aca5494a1f10e3a869190531e7ae25b
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Make gadget object enum private to gui.c
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 7cef291..7af15d7 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -193,6 +193,45 @@
extern struct gui_utf8_table *amiga_utf8_table;
+enum
+{
+ OID_MAIN = 0,
+ OID_VSCROLL,
+ OID_HSCROLL,
+ GID_MAIN,
+ GID_TABLAYOUT,
+ GID_BROWSER,
+ GID_STATUS,
+ GID_URL,
+ GID_ICON,
+ GID_STOP,
+ GID_RELOAD,
+ GID_HOME,
+ GID_BACK,
+ GID_FORWARD,
+ GID_THROBBER,
+ GID_SEARCH_ICON,
+ GID_FAVE,
+ GID_FAVE_ADD,
+ GID_FAVE_RMV,
+ GID_CLOSETAB,
+ GID_CLOSETAB_BM,
+ GID_ADDTAB,
+ GID_ADDTAB_BM,
+ GID_TABS,
+ GID_TABS_FLAG,
+ GID_SEARCHSTRING,
+ GID_TOOLBARLAYOUT,
+ GID_HOTLIST,
+ GID_HOTLISTLAYOUT,
+ GID_HOTLISTSEPBAR,
+ GID_HSCROLL,
+ GID_HSCROLLLAYOUT,
+ GID_VSCROLL,
+ GID_VSCROLLLAYOUT,
+ GID_LAST
+};
+
struct gui_window_2 {
struct ami_generic_window w;
struct Window *win;
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 265698f..359e2dc 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -47,45 +47,6 @@ enum {
AMI_WIN_MAIN
};
-enum
-{
- OID_MAIN = 0,
- OID_VSCROLL,
- OID_HSCROLL,
- GID_MAIN,
- GID_TABLAYOUT,
- GID_BROWSER,
- GID_STATUS,
- GID_URL,
- GID_ICON,
- GID_STOP,
- GID_RELOAD,
- GID_HOME,
- GID_BACK,
- GID_FORWARD,
- GID_THROBBER,
- GID_SEARCH_ICON,
- GID_FAVE,
- GID_FAVE_ADD,
- GID_FAVE_RMV,
- GID_CLOSETAB,
- GID_CLOSETAB_BM,
- GID_ADDTAB,
- GID_ADDTAB_BM,
- GID_TABS,
- GID_TABS_FLAG,
- GID_SEARCHSTRING,
- GID_TOOLBARLAYOUT,
- GID_HOTLIST,
- GID_HOTLISTLAYOUT,
- GID_HOTLISTSEPBAR,
- GID_HSCROLL,
- GID_HSCROLLLAYOUT,
- GID_VSCROLL,
- GID_VSCROLLLAYOUT,
- GID_LAST
-};
-
struct find_window;
struct ami_history_local_window;
struct ami_menu_data;
diff --git a/frontends/amiga/gui_options.c b/frontends/amiga/gui_options.c
index 7e302c3..9b6cc8d 100755
--- a/frontends/amiga/gui_options.c
+++ b/frontends/amiga/gui_options.c
@@ -83,7 +83,8 @@
enum
{
- GID_OPTS_MAIN = GID_MAIN,
+ OID_MAIN = 0,
+ GID_OPTS_MAIN,
GID_OPTS_HOMEPAGE,
GID_OPTS_HOMEPAGE_DEFAULT,
GID_OPTS_HOMEPAGE_CURRENT,
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=76618d958869859666cc0e33a414d2b2ffed9dcf
commit 76618d958869859666cc0e33a414d2b2ffed9dcf
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
make gui_window_2 private to gui.c
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 1671e9d..7cef291 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -193,6 +193,55 @@
extern struct gui_utf8_table *amiga_utf8_table;
+struct gui_window_2 {
+ struct ami_generic_window w;
+ struct Window *win;
+ Object *restrict objects[GID_LAST];
+ struct gui_window *gw; /* currently-displayed gui_window */
+ bool redraw_required;
+ int throbber_frame;
+ struct List tab_list;
+ ULONG tabs;
+ ULONG next_tab;
+ struct Node *last_new_tab;
+ struct Hook scrollerhook;
+ browser_mouse_state mouse_state;
+ browser_mouse_state key_state;
+ ULONG throbber_update_count;
+ struct find_window *searchwin;
+ ULONG oldh;
+ ULONG oldv;
+ int temp;
+ bool redraw_scroll;
+ bool new_content;
+ struct ami_menu_data *menu_data[AMI_MENU_AREXX_MAX + 1]; /* only for
GadTools menus */
+ ULONG hotlist_items;
+ Object *restrict hotlist_toolbar_lab[AMI_GUI_TOOLBAR_MAX];
+ struct List hotlist_toolbar_list;
+ struct List *web_search_list;
+ Object *search_bm;
+ char *restrict svbuffer;
+ char *restrict status;
+ char *restrict wintitle;
+ char *restrict helphints[GID_LAST];
+ browser_mouse_state prev_mouse_state;
+ struct timeval lastclick;
+ struct AppIcon *appicon; /* iconify appicon */
+ struct DiskObject *dobj; /* iconify appicon */
+ struct Hook favicon_hook;
+ struct Hook throbber_hook;
+ struct Hook *ctxmenu_hook;
+ Object *restrict history_ctxmenu[2];
+ Object *clicktab_ctxmenu;
+ gui_drag_type drag_op;
+ struct IBox *ptr_lock;
+ struct AppWindow *appwin;
+ struct MinList *shared_pens;
+ gui_pointer_shape mouse_pointer;
+ struct Menu *imenu; /* Intuition menu */
+ bool closed; /* Window has been closed (via menu) */
+};
+
struct gui_window
{
struct gui_window_2 *shared;
@@ -412,6 +461,10 @@ Object *ami_gui2_get_object(struct gui_window_2 *gwin, int
object_type)
assert(gwin != NULL);
switch(object_type) {
+ case AMI_WIN_MAIN:
+ obj = OID_MAIN;
+ break;
+
case AMI_GAD_THROBBER:
obj = GID_THROBBER;
break;
@@ -461,10 +514,16 @@ void ami_gui2_set_menu(struct gui_window_2 *gwin, struct
Menu *menu)
if(menu != NULL) {
gwin->imenu = menu;
} else {
- ami_gui_menu_freemenus(gwin->imenu);
+ ami_gui_menu_freemenus(gwin->imenu, gwin->menu_data);
}
}
+struct ami_menu_data **ami_gui2_get_menu_data(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->menu_data;
+}
+
struct form_control *ami_gui_get_control(struct gui_window *gw)
{
assert(gw != NULL);
@@ -501,18 +560,6 @@ void ami_gui2_set_ctxmenu_history(struct gui_window_2
*gwin, ULONG direction, Ob
gwin->history_ctxmenu[direction] = ctx_hist;
}
-Object *ami_gui2_get_ctxmenu_clicktab(struct gui_window_2 *gwin)
-{
- assert(gwin != NULL);
- return gwin->clicktab_ctxmenu;
-}
-
-void ami_gui2_set_ctxmenu_clicktab(struct gui_window_2 *gwin, Object *ctx_tab)
-{
- assert(gwin != NULL);
- gwin->clicktab_ctxmenu = ctx_tab;
-}
-
void ami_gui2_set_closed(struct gui_window_2 *gwin, bool closed)
{
assert(gwin != NULL);
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index e3f0f43..265698f 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -43,7 +43,8 @@ enum {
AMI_GAD_THROBBER = 0,
AMI_GAD_TABS,
AMI_GAD_URL,
- AMI_GAD_SEARCH
+ AMI_GAD_SEARCH,
+ AMI_WIN_MAIN
};
enum
@@ -113,54 +114,6 @@ struct ami_generic_window {
const struct ami_win_event_table *tbl;
};
-struct gui_window_2 {
- struct ami_generic_window w;
- struct Window *win;
- Object *restrict objects[GID_LAST];
- struct gui_window *gw; /* currently-displayed gui_window */
- bool redraw_required;
- int throbber_frame;
- struct List tab_list;
- ULONG tabs;
- ULONG next_tab;
- struct Node *last_new_tab;
- struct Hook scrollerhook;
- browser_mouse_state mouse_state;
- browser_mouse_state key_state;
- ULONG throbber_update_count;
- struct find_window *searchwin;
- ULONG oldh;
- ULONG oldv;
- int temp;
- bool redraw_scroll;
- bool new_content;
- struct ami_menu_data *menu_data[AMI_MENU_AREXX_MAX + 1]; /* only for
GadTools menus */
- ULONG hotlist_items;
- Object *restrict hotlist_toolbar_lab[AMI_GUI_TOOLBAR_MAX];
- struct List hotlist_toolbar_list;
- struct List *web_search_list;
- Object *search_bm;
- char *restrict svbuffer;
- char *restrict status;
- char *restrict wintitle;
- char *restrict helphints[GID_LAST];
- browser_mouse_state prev_mouse_state;
- struct timeval lastclick;
- struct AppIcon *appicon; /* iconify appicon */
- struct DiskObject *dobj; /* iconify appicon */
- struct Hook favicon_hook;
- struct Hook throbber_hook;
- struct Hook *ctxmenu_hook;
- Object *restrict history_ctxmenu[2];
- Object *clicktab_ctxmenu;
- gui_drag_type drag_op;
- struct IBox *ptr_lock;
- struct AppWindow *appwin;
- struct MinList *shared_pens;
- gui_pointer_shape mouse_pointer;
- struct Menu *imenu; /* Intuition menu */
- bool closed; /* Window has been closed (via menu) */
-};
extern struct MinList *window_list; /**\todo stop arexx.c poking about in here
*/
extern struct Screen *scrn;
@@ -380,11 +333,16 @@ struct Window *ami_gui2_get_window(struct gui_window_2
*gwin);
struct Menu *ami_gui_get_menu(struct gui_window *gw);
/**
- * Set imenu to gui_window_2. A value of NULL will free the menu.
+ * Set imenu to gui_window_2. A value of NULL will free the menu (and
menu_data!)
*/
void ami_gui2_set_menu(struct gui_window_2 *gwin, struct Menu *menu);
/**
+ * Get menu_data from gui_window_2
+ */
+struct ami_menu_data **ami_gui2_get_menu_data(struct gui_window_2 *gwin);
+
+/**
* Get control (for select menu) from gui_window
*/
struct form_control *ami_gui_get_control(struct gui_window *gw);
@@ -415,16 +373,6 @@ Object *ami_gui2_get_ctxmenu_history(struct gui_window_2
*gwin, ULONG direction)
void ami_gui2_set_ctxmenu_history(struct gui_window_2 *gwin, ULONG direction,
Object *ctx_hist);
/**
- * Get ctxmenu clicktab from gui_window_2
- */
-Object *ami_gui2_get_ctxmenu_clicktab(struct gui_window_2 *gwin);
-
-/**
- * Set ctxmenu clicktab in gui_window_2
- */
-void ami_gui2_set_ctxmenu_clicktab(struct gui_window_2 *gwin, Object *ctx_tab);
-
-/**
* Set closed in gui_window_2
*/
void ami_gui2_set_closed(struct gui_window_2 *gwin, bool closed);
diff --git a/frontends/amiga/gui_menu.c b/frontends/amiga/gui_menu.c
index 08891f3..7eda6bc 100644
--- a/frontends/amiga/gui_menu.c
+++ b/frontends/amiga/gui_menu.c
@@ -681,7 +681,7 @@ void ami_gui_menu_update_checked(struct gui_window_2 *gwin)
struct Menu *menustrip;
- GetAttr(WINDOW_MenuStrip, gwin->objects[OID_MAIN], (ULONG *)&menustrip);
+ GetAttr(WINDOW_MenuStrip, ami_gui2_get_object(gwin, AMI_WIN_MAIN),
(ULONG *)&menustrip);
if(!menustrip) return;
if(nsoption_bool(enable_javascript) == true) {
if((ItemAddress(menustrip, ami_gui_menu_number(M_JS))->Flags &
CHECKED) == 0)
@@ -1050,11 +1050,12 @@ struct Menu *ami_gui_menu_create(struct gui_window_2
*gwin)
#endif
} else {
struct Menu *temp_menu;
+ struct ami_menu_data **md = ami_gui2_get_menu_data(gwin);
- ami_init_menulabs(gwin->menu_data);
- ami_menu_scan(gwin->menu_data);
- ami_menu_arexx_scan(gwin->menu_data);
- temp_menu = ami_menu_layout(gwin->menu_data,
AMI_MENU_AREXX_MAX);
+ ami_init_menulabs(md);
+ ami_menu_scan(md);
+ ami_menu_arexx_scan(md);
+ temp_menu = ami_menu_layout(md, AMI_MENU_AREXX_MAX);
ami_gui2_set_menu(gwin, temp_menu);
return temp_menu;
}
@@ -1094,11 +1095,15 @@ static void ami_free_menulabs(struct ami_menu_data **md)
}
}
-void ami_gui_menu_freemenus(struct Menu *menu)
+void ami_gui_menu_freemenus(struct Menu *menu, struct ami_menu_data **md)
{
if(menu != NULL) {
FreeMenus(menu);
}
+
+ if(md != NULL) {
+ ami_free_menulabs(md);
+ }
}
void ami_gui_menu_free(struct gui_window_2 *gwin)
@@ -1107,7 +1112,7 @@ void ami_gui_menu_free(struct gui_window_2 *gwin)
#ifdef __amigaos4__
gui_menu_count--;
- SetAttrs(gwin->objects[OID_MAIN], WINDOW_MenuStrip, NULL,
TAG_DONE);
+ SetAttrs(ami_gui2_get_object(gwin, AMI_WIN_MAIN),
WINDOW_MenuStrip, NULL, TAG_DONE);
if(gui_menu_count == 0) {
ami_free_menulabs(gui_menu_data);
@@ -1117,7 +1122,6 @@ void ami_gui_menu_free(struct gui_window_2 *gwin)
}
#endif
} else {
- ami_free_menulabs(gwin->menu_data);
ami_gui2_set_menu(gwin, NULL);
}
}
diff --git a/frontends/amiga/gui_menu.h b/frontends/amiga/gui_menu.h
index bffe978..ed72c24 100644
--- a/frontends/amiga/gui_menu.h
+++ b/frontends/amiga/gui_menu.h
@@ -109,6 +109,7 @@ struct gui_window;
struct gui_window_2;
struct hlcache_handle;
struct Window;
+struct ami_menu_data;
ULONG ami_gui_menu_number(int item);
struct Menu *ami_gui_menu_create(struct gui_window_2 *gwin);
@@ -158,6 +159,6 @@ bool ami_gui_menu_quit_selected(void);
/**
* Frees a menu. Only used on OS3 and old OS4.
*/
-void ami_gui_menu_freemenus(struct Menu *menu);
+void ami_gui_menu_freemenus(struct Menu *menu, struct ami_menu_data **md);
#endif
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=df5c18315ff13e215f661eacd2d81e3c0a758e57
commit df5c18315ff13e215f661eacd2d81e3c0a758e57
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Pass ptr to clicktab var instead of func calls
diff --git a/frontends/amiga/ctxmenu.c b/frontends/amiga/ctxmenu.c
index e9ab0e6..92f399f 100644
--- a/frontends/amiga/ctxmenu.c
+++ b/frontends/amiga/ctxmenu.c
@@ -586,13 +586,13 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
**************************/
/** Exported interface documented in ctxmenu.h **/
-struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin)
+struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin, Object
**clicktab_obj)
{
Object *root_menu;
Object *clicktab;
- if(ami_gui2_get_ctxmenu_clicktab(gwin) != NULL) {
- return (struct Menu *)ami_gui2_get_ctxmenu_clicktab(gwin);
+ if(*clicktab_obj != NULL) {
+ return (struct Menu *)*clicktab_obj;
}
clicktab = MStrip,
@@ -604,7 +604,7 @@ struct Menu *ami_ctxmenu_clicktab_create(struct
gui_window_2 *gwin)
MEnd,
MEnd;
- ami_gui2_set_ctxmenu_clicktab(gwin, clicktab);
+ *clicktab_obj = clicktab;
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABNEW, gwin);
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABCLOSE_OTHER, gwin);
diff --git a/frontends/amiga/ctxmenu.h b/frontends/amiga/ctxmenu.h
index 08a5fe5..39a8387 100644
--- a/frontends/amiga/ctxmenu.h
+++ b/frontends/amiga/ctxmenu.h
@@ -75,10 +75,11 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
* Create ClickTab context menu
*
* \param gwin struct gui_window_2 *
- * \returns pointer to menu (for convenience, is also stored in gwin structure)
+ * \param clicktab_obj ptr to memory to hold clicktab menu object
+ * \returns pointer to menu (for convenience)
* The returned pointer MUST be disposed of with DisposeObject before program
exit.
*/
-struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin);
+struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin, Object
**clicktab_obj);
#else //__amigaos4__
inline void ami_ctxmenu_init(void) {}
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 9832b1d..1671e9d 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -3660,7 +3660,7 @@ static void ami_toggletabbar(struct gui_window_2 *gwin,
bool show)
GA_ID, GID_TABS,
GA_RelVerify, TRUE,
GA_Underscore, 13, // disable kb
shortcuts
- GA_ContextMenu,
ami_ctxmenu_clicktab_create(gwin),
+ GA_ContextMenu,
ami_ctxmenu_clicktab_create(gwin, &gwin->clicktab_ctxmenu),
CLICKTAB_Labels, &gwin->tab_list,
CLICKTAB_LabelTruncate, TRUE,
CLICKTAB_CloseImage,
gwin->objects[GID_CLOSETAB_BM],
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index f45d22e..e3f0f43 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -152,7 +152,7 @@ struct gui_window_2 {
struct Hook throbber_hook;
struct Hook *ctxmenu_hook;
Object *restrict history_ctxmenu[2];
- Object *restrict clicktab_ctxmenu;
+ Object *clicktab_ctxmenu;
gui_drag_type drag_op;
struct IBox *ptr_lock;
struct AppWindow *appwin;
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=d0df3fa4b340071fbe54f9e7966f62b873b52b81
commit d0df3fa4b340071fbe54f9e7966f62b873b52b81
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
more accessor for gui_window_2
diff --git a/frontends/amiga/arexx.c b/frontends/amiga/arexx.c
index 5b5f0ea..24da3e7 100644
--- a/frontends/amiga/arexx.c
+++ b/frontends/amiga/arexx.c
@@ -191,9 +191,9 @@ static struct gui_window *ami_find_tab_gwin(struct
gui_window_2 *gwin, int tab)
struct Node *ntab;
struct gui_window *gw;
- if((tab == 0) || (gwin->tabs == 0)) return
ami_gui2_get_gui_window(gwin);
+ if((tab == 0) || (ami_gui2_get_tabs(gwin) == 0)) return
ami_gui2_get_gui_window(gwin);
- ctab = GetHead(&gwin->tab_list);
+ ctab = GetHead(ami_gui2_get_tab_list(gwin));
do
{
@@ -215,9 +215,9 @@ static int ami_find_tab_bw(struct gui_window_2 *gwin,
struct browser_window *bw)
struct Node *ntab;
struct gui_window *tgw = NULL;
- if((bw == NULL) || (gwin->tabs == 0)) return 1;
+ if((bw == NULL) || (ami_gui2_get_tabs(gwin) == 0)) return 1;
- ctab = GetHead(&gwin->tab_list);
+ ctab = GetHead(ami_gui2_get_tab_list(gwin));
do
{
@@ -418,7 +418,7 @@ RXHOOKF(rx_gettitle)
if(gw)
{
- if(ami_gui_get_gui_window_2(gw)->tabs > 1)
+ if(ami_gui2_get_tabs(ami_gui_get_gui_window_2(gw)) > 1)
strcpy(result, ami_gui_get_tab_title(gw));
else
strcpy(result, ami_gui_get_win_title(gw));
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index 7a5c5f4..731492b 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -299,23 +299,23 @@ void ami_drag_selection(struct gui_window *g)
x = ami_gui2_get_window(gwin)->MouseX;
y = ami_gui2_get_window(gwin)->MouseY;
- if(ami_gadget_hit(gwin->objects[GID_URL], x, y))
+ if(ami_gadget_hit(ami_gui2_get_object(gwin, AMI_GAD_URL), x, y))
{
if((sel =
browser_window_get_selection(ami_gui_get_browser_window(g))))
{
utf8text = ami_utf8_easy(sel);
- RefreshSetGadgetAttrs((struct Gadget
*)gwin->objects[GID_URL],
+ RefreshSetGadgetAttrs((struct Gadget
*)ami_gui2_get_object(gwin, AMI_GAD_URL),
ami_gui2_get_window(gwin), NULL,
STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
}
- else if(ami_gadget_hit(gwin->objects[GID_SEARCHSTRING], x, y))
+ else if(ami_gadget_hit(ami_gui2_get_object(gwin,
AMI_GAD_SEARCH), x, y))
{
if((sel =
browser_window_get_selection(ami_gui_get_browser_window(g))))
{
utf8text = ami_utf8_easy(sel);
- RefreshSetGadgetAttrs((struct Gadget
*)gwin->objects[GID_SEARCHSTRING],
+ RefreshSetGadgetAttrs((struct Gadget
*)ami_gui2_get_object(gwin, AMI_GAD_SEARCH),
ami_gui2_get_window(gwin), NULL,
STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
diff --git a/frontends/amiga/ctxmenu.c b/frontends/amiga/ctxmenu.c
index b245324..e9ab0e6 100644
--- a/frontends/amiga/ctxmenu.c
+++ b/frontends/amiga/ctxmenu.c
@@ -499,15 +499,15 @@ void ami_ctxmenu_init(void)
static bool ami_ctxmenu_history(int direction, struct gui_window_2 *gwin,
const struct history_entry *entry)
{
Object *history_root;
- int id = AMI_CTX_ID_HISTORY0 + gwin->temp;
+ int id = AMI_CTX_ID_HISTORY0 + ami_gui2_get_ctxmenu_history_tmp(gwin);
if(direction == AMI_CTXMENU_HISTORY_FORWARD) id += 10;
- if(gwin->temp >= 10) return false;
+ if(ami_gui2_get_ctxmenu_history_tmp(gwin) >= 10) return false;
ctxmenu_item_hook[id].h_Entry = (HOOKFUNC)ami_ctxmenu_item_history;
ctxmenu_item_hook[id].h_Data = (APTR)entry;
- history_root = (Object *)IDoMethod(gwin->history_ctxmenu[direction],
MM_FINDID, 0, AMI_CTX_ID_HISTORY);
+ history_root = (Object *)IDoMethod(ami_gui2_get_ctxmenu_history(gwin,
direction), MM_FINDID, 0, AMI_CTX_ID_HISTORY);
IDoMethod(history_root, OM_ADDMEMBER, MStrip,
MA_Type, T_ITEM,
@@ -518,7 +518,7 @@ static bool ami_ctxmenu_history(int direction, struct
gui_window_2 *gwin, const
MA_UserData,
&ctxmenu_item_hook[id],
MEnd);
- gwin->temp++;
+ ami_gui2_set_ctxmenu_history_tmp(gwin,
ami_gui2_get_ctxmenu_history_tmp(gwin) + 1);
return true;
}
@@ -544,11 +544,11 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
{
Object *obj;
- if(gwin->history_ctxmenu[direction] == NULL) {
+ if(ami_gui2_get_ctxmenu_history(gwin, direction) == NULL) {
if(ctxmenu_item_label[AMI_CTX_ID_HISTORY] == NULL)
ctxmenu_item_label[AMI_CTX_ID_HISTORY] =
ami_utf8_easy(messages_get("History"));
- gwin->history_ctxmenu[direction] = MStrip,
+ obj = MStrip,
MA_Type, T_ROOT,
MA_AddChild, MStrip,
MA_Type, T_MENU,
@@ -558,14 +558,17 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
//MA_FreeImage, FALSE,
MEnd,
MEnd;
+
+ ami_gui2_set_ctxmenu_history(gwin, direction, obj);
+
} else {
for (int i = 0; i < 20; i++) {
- obj = (Object
*)IDoMethod(gwin->history_ctxmenu[direction],
+ obj = (Object
*)IDoMethod(ami_gui2_get_ctxmenu_history(gwin, direction),
MM_FINDID, 0, AMI_CTX_ID_HISTORY0 + i);
- if(obj != NULL)
IDoMethod(gwin->history_ctxmenu[direction], OM_REMMEMBER, obj);
+ if(obj != NULL)
IDoMethod(ami_gui2_get_ctxmenu_history(gwin, direction), OM_REMMEMBER, obj);
}
- gwin->temp = 0;
+ ami_gui2_set_ctxmenu_history_tmp(gwin, 0);
if(direction == AMI_CTXMENU_HISTORY_BACK) {
browser_window_history_enumerate_back(ami_gui2_get_browser_window(gwin),
ami_ctxmenu_history_back, gwin);
@@ -574,7 +577,7 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
}
}
- return (struct Menu *)gwin->history_ctxmenu[direction];
+ return (struct Menu *)ami_gui2_get_ctxmenu_history(gwin, direction);
}
@@ -586,10 +589,13 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin)
{
Object *root_menu;
+ Object *clicktab;
- if(gwin->clicktab_ctxmenu != NULL) return (struct Menu
*)gwin->clicktab_ctxmenu;
+ if(ami_gui2_get_ctxmenu_clicktab(gwin) != NULL) {
+ return (struct Menu *)ami_gui2_get_ctxmenu_clicktab(gwin);
+ }
- gwin->clicktab_ctxmenu = MStrip,
+ clicktab = MStrip,
MA_Type, T_ROOT,
MA_AddChild, root_menu = MStrip,
MA_Type, T_MENU,
@@ -598,10 +604,12 @@ struct Menu *ami_ctxmenu_clicktab_create(struct
gui_window_2 *gwin)
MEnd,
MEnd;
+ ami_gui2_set_ctxmenu_clicktab(gwin, clicktab);
+
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABNEW, gwin);
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABCLOSE_OTHER, gwin);
- return (struct Menu *)gwin->clicktab_ctxmenu;
+ return (struct Menu *)clicktab;
}
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 64e1524..9832b1d 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -339,6 +339,18 @@ struct Node *ami_gui_get_tab_node(struct gui_window *gw)
return gw->tab_node;
}
+ULONG ami_gui2_get_tabs(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->tabs;
+}
+
+struct List *ami_gui2_get_tab_list(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return &gwin->tab_list;
+}
+
struct hlcache_handle *ami_gui_get_favicon(struct gui_window *gw)
{
assert(gw != NULL);
@@ -393,12 +405,11 @@ void ami_gui_set_throbber_frame(struct gui_window *gw,
int frame)
gw->shared->throbber_frame = frame;
}
-Object *ami_gui_get_object(struct gui_window *gw, int object_type)
+Object *ami_gui2_get_object(struct gui_window_2 *gwin, int object_type)
{
ULONG obj = 0;
- assert(gw != NULL);
- assert(gw->shared != NULL);
+ assert(gwin != NULL);
switch(object_type) {
case AMI_GAD_THROBBER:
@@ -409,12 +420,20 @@ Object *ami_gui_get_object(struct gui_window *gw, int
object_type)
obj = GID_TABS;
break;
+ case AMI_GAD_URL:
+ obj = GID_URL;
+ break;
+
+ case AMI_GAD_SEARCH:
+ obj = GID_SEARCHSTRING;
+ break;
+
default:
return NULL;
break;
}
- return gw->shared->objects[obj];
+ return gwin->objects[obj];
}
@@ -458,6 +477,53 @@ void ami_gui_set_control(struct gui_window *gw, struct
form_control *control)
gw->control = control;
}
+void ami_gui2_set_ctxmenu_history_tmp(struct gui_window_2 *gwin, int temp)
+{
+ assert(gwin != NULL);
+ gwin->temp = temp;
+}
+
+int ami_gui2_get_ctxmenu_history_tmp(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->temp;
+}
+
+Object *ami_gui2_get_ctxmenu_history(struct gui_window_2 *gwin, ULONG
direction)
+{
+ assert(gwin != NULL);
+ return gwin->history_ctxmenu[direction];
+}
+
+void ami_gui2_set_ctxmenu_history(struct gui_window_2 *gwin, ULONG direction,
Object *ctx_hist)
+{
+ assert(gwin != NULL);
+ gwin->history_ctxmenu[direction] = ctx_hist;
+}
+
+Object *ami_gui2_get_ctxmenu_clicktab(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->clicktab_ctxmenu;
+}
+
+void ami_gui2_set_ctxmenu_clicktab(struct gui_window_2 *gwin, Object *ctx_tab)
+{
+ assert(gwin != NULL);
+ gwin->clicktab_ctxmenu = ctx_tab;
+}
+
+void ami_gui2_set_closed(struct gui_window_2 *gwin, bool closed)
+{
+ assert(gwin != NULL);
+ gwin->closed = closed;
+}
+
+void ami_gui2_set_new_content(struct gui_window_2 *gwin, bool new_content)
+{
+ assert(gwin != NULL);
+ gwin->new_content = new_content;
+}
/** undocumented, or internal, or documented elsewhere **/
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 3b9298a..f45d22e 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -41,7 +41,9 @@
/* valid options for ami_gui_get_object */
enum {
AMI_GAD_THROBBER = 0,
- AMI_GAD_TABS
+ AMI_GAD_TABS,
+ AMI_GAD_URL,
+ AMI_GAD_SEARCH
};
enum
@@ -86,6 +88,9 @@ enum
struct find_window;
struct ami_history_local_window;
struct ami_menu_data;
+struct gui_window;
+struct gui_window_2;
+struct IBox;
#define AMI_GUI_TOOLBAR_MAX 20
@@ -305,6 +310,16 @@ const char *ami_gui_get_win_title(struct gui_window *gw);
struct Node *ami_gui_get_tab_node(struct gui_window *gw);
/**
+ * Get tabs from gui_window_2
+ */
+ULONG ami_gui2_get_tabs(struct gui_window_2 *gwin);
+
+/**
+ * Get tab list from gui_window_2
+ */
+struct List *ami_gui2_get_tab_list(struct gui_window_2 *gwin);
+
+/**
* Get favicon from gui_window
*/
struct hlcache_handle *ami_gui_get_favicon(struct gui_window *gw);
@@ -347,7 +362,7 @@ void ami_gui_set_throbbing(struct gui_window *gw, bool
throbbing);
/**
* Get object from gui_window
*/
-Object *ami_gui_get_object(struct gui_window *gw, int object_type);
+Object *ami_gui2_get_object(struct gui_window_2 *gwin, int object_type);
/**
* Get window from gui_window
@@ -379,5 +394,45 @@ struct form_control *ami_gui_get_control(struct gui_window
*gw);
*/
void ami_gui_set_control(struct gui_window *gw, struct form_control *control);
+/**
+ * Set ctxmenu history tmp in gui_window_2
+ */
+void ami_gui2_set_ctxmenu_history_tmp(struct gui_window_2 *gwin, int temp);
+
+/**
+ * Get ctxmenu history tmp from gui_window_2
+ */
+int ami_gui2_get_ctxmenu_history_tmp(struct gui_window_2 *gwin);
+
+/**
+ * Get ctxmenu history from gui_window_2
+ */
+Object *ami_gui2_get_ctxmenu_history(struct gui_window_2 *gwin, ULONG
direction);
+
+/**
+ * Set ctxmenu history in gui_window_2
+ */
+void ami_gui2_set_ctxmenu_history(struct gui_window_2 *gwin, ULONG direction,
Object *ctx_hist);
+
+/**
+ * Get ctxmenu clicktab from gui_window_2
+ */
+Object *ami_gui2_get_ctxmenu_clicktab(struct gui_window_2 *gwin);
+
+/**
+ * Set ctxmenu clicktab in gui_window_2
+ */
+void ami_gui2_set_ctxmenu_clicktab(struct gui_window_2 *gwin, Object *ctx_tab);
+
+/**
+ * Set closed in gui_window_2
+ */
+void ami_gui2_set_closed(struct gui_window_2 *gwin, bool closed);
+
+/**
+ * Set new_content in gui_window_2
+ */
+void ami_gui2_set_new_content(struct gui_window_2 *gwin, bool new_content);
+
#endif
diff --git a/frontends/amiga/gui_menu.c b/frontends/amiga/gui_menu.c
index 4256432..08891f3 100644
--- a/frontends/amiga/gui_menu.c
+++ b/frontends/amiga/gui_menu.c
@@ -157,7 +157,7 @@ HOOKF(void, ami_menu_item_project_closewin, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- gwin->closed = true;
+ ami_gui2_set_closed(gwin, true);
}
HOOKF(void, ami_menu_item_project_print, APTR, window, struct IntuiMessage *)
@@ -405,7 +405,7 @@ HOOKF(void, ami_menu_item_browser_redraw, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
ami_schedule_redraw(gwin, true);
- gwin->new_content = true;
+ ami_gui2_set_new_content(gwin, true);
}
HOOKF(void, ami_menu_item_hotlist_add, APTR, window, struct IntuiMessage *)
diff --git a/frontends/amiga/theme.c b/frontends/amiga/theme.c
index 275e19f..3e6ed86 100644
--- a/frontends/amiga/theme.c
+++ b/frontends/amiga/theme.c
@@ -416,10 +416,10 @@ void gui_window_start_throbber(struct gui_window *g)
if(nsoption_bool(kiosk_mode)) return;
#ifdef __amigaos4__
- if(ami_gui_get_tab_node(g) && (ami_gui_get_gui_window_2(g)->tabs > 1))
+ if(ami_gui_get_tab_node(g) &&
(ami_gui2_get_tabs(ami_gui_get_gui_window_2(g)) > 1))
{
SetClickTabNodeAttrs(ami_gui_get_tab_node(g), TNA_Flagged,
TRUE, TAG_DONE);
- RefreshGadgets((APTR)ami_gui_get_object(g, AMI_GAD_TABS),
+
RefreshGadgets((APTR)ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_TABS),
ami_gui_get_window(g), NULL);
}
#endif
@@ -437,16 +437,16 @@ void gui_window_stop_throbber(struct gui_window *g)
if(nsoption_bool(kiosk_mode)) return;
#ifdef __amigaos4__
- if(ami_gui_get_tab_node(g) && (ami_gui_get_gui_window_2(g)->tabs > 1))
+ if(ami_gui_get_tab_node(g) &&
(ami_gui2_get_tabs(ami_gui_get_gui_window_2(g)) > 1))
{
SetClickTabNodeAttrs(ami_gui_get_tab_node(g), TNA_Flagged,
FALSE, TAG_DONE);
- RefreshGadgets((APTR)ami_gui_get_object(g, AMI_GAD_TABS),
+
RefreshGadgets((APTR)ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_TABS),
ami_gui_get_window(g), NULL);
}
#endif
if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g), g)) {
- if(ami_gui_get_space_box(ami_gui_get_object(g,
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
+
if(ami_gui_get_space_box(ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
}
@@ -471,7 +471,7 @@ static void ami_throbber_update(void *p)
int frame = 0;
if(!g) return;
- if(!ami_gui_get_object(g, AMI_GAD_THROBBER)) return;
+ if(!ami_gui2_get_object(ami_gui_get_gui_window_2(g), AMI_GAD_THROBBER))
return;
if(ami_gui_get_throbbing(g) == true) {
frame = ami_gui_get_throbber_frame(g);
@@ -481,7 +481,7 @@ static void ami_throbber_update(void *p)
}
if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g),g)) {
- if(ami_gui_get_space_box(ami_gui_get_object(g,
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
+
if(ami_gui_get_space_box(ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
}
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=1cd30fdb3c1f163beceb0bde7485c10a886de531
commit 1cd30fdb3c1f163beceb0bde7485c10a886de531
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Move ami_(re)set_pointer (back?) into gui.c as they need to set/read the
gui_window_2 structure
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 2132a24..64e1524 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -452,9 +452,6 @@ struct form_control *ami_gui_get_control(struct gui_window
*gw)
return gw->control;
}
-/**
- * Set control (for select menu) to gui_window
- */
void ami_gui_set_control(struct gui_window *gw, struct form_control *control)
{
assert(gw != NULL);
@@ -462,6 +459,22 @@ void ami_gui_set_control(struct gui_window *gw, struct
form_control *control)
}
+/** undocumented, or internal, or documented elsewhere **/
+
+void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update)
+{
+ if(gwin->mouse_pointer == shape) return;
+ ami_update_pointer(ami_gui2_get_window(gwin), shape);
+ if(update == true) gwin->mouse_pointer = shape;
+}
+
+/* reset the mouse pointer back to what NetSurf last set it as */
+void ami_reset_pointer(struct gui_window_2 *gwin)
+{
+ ami_update_pointer(ami_gui2_get_window(gwin), gwin->mouse_pointer);
+}
+
+
STRPTR ami_locale_langs(int *codeset)
{
struct Locale *locale;
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index bc1dc39..3b9298a 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -186,7 +186,8 @@ void ami_gui_update_hotlist_button(struct gui_window_2
*gwin);
nserror ami_gui_new_blank_tab(struct gui_window_2 *gwin);
int ami_gui_count_windows(int window, int *tabs);
void ami_gui_set_scale(struct gui_window *gw, float scale);
-
+void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update);
+void ami_reset_pointer(struct gui_window_2 *gwin);
/**
* Close a window and all tabs attached to it.
diff --git a/frontends/amiga/theme.c b/frontends/amiga/theme.c
index 900f465..275e19f 100644
--- a/frontends/amiga/theme.c
+++ b/frontends/amiga/theme.c
@@ -218,19 +218,6 @@ void gui_window_set_pointer(struct gui_window *g,
gui_pointer_shape shape)
ami_set_pointer(ami_gui_get_gui_window_2(g), shape, true);
}
-void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update)
-{
- if(gwin->mouse_pointer == shape) return;
- ami_update_pointer(ami_gui2_get_window(gwin), shape);
- if(update == true) gwin->mouse_pointer = shape;
-}
-
-/* reset the mouse pointer back to what NetSurf last set it as */
-void ami_reset_pointer(struct gui_window_2 *gwin)
-{
- ami_update_pointer(ami_gui2_get_window(gwin), gwin->mouse_pointer);
-}
-
void ami_update_pointer(struct Window *win, gui_pointer_shape shape)
{
if(ami_drag_has_data()) return; /**\todo check this shouldn't be
drag_in_progress */
diff --git a/frontends/amiga/theme.h b/frontends/amiga/theme.h
index 6de7bc1..6ab3c0e 100644
--- a/frontends/amiga/theme.h
+++ b/frontends/amiga/theme.h
@@ -40,8 +40,6 @@ void ami_update_throbber(struct gui_window_2 *g,bool redraw);
void ami_init_mouse_pointers(void);
void ami_mouse_pointers_free(void);
-void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update);
-void ami_reset_pointer(struct gui_window_2 *gwin);
/* Use the following ONLY if nothing other than the Intuition window pointer
is available,
* and ALWAYS in preference to SetWindowPointer(), as it features more
pointers and uses
* the correct ones specified in user preferences. */
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=ae36d35728f8622396faba7aeb58434aff2d0331
commit ae36d35728f8622396faba7aeb58434aff2d0331
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
throbber crap
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 3920616..2132a24 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -379,6 +379,45 @@ void ami_gui_set_throbbing(struct gui_window *gw, bool
throbbing)
gw->throbbing = throbbing;
}
+int ami_gui_get_throbber_frame(struct gui_window *gw)
+{
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ return gw->shared->throbber_frame;
+}
+
+void ami_gui_set_throbber_frame(struct gui_window *gw, int frame)
+{
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ gw->shared->throbber_frame = frame;
+}
+
+Object *ami_gui_get_object(struct gui_window *gw, int object_type)
+{
+ ULONG obj = 0;
+
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+
+ switch(object_type) {
+ case AMI_GAD_THROBBER:
+ obj = GID_THROBBER;
+ break;
+
+ case AMI_GAD_TABS:
+ obj = GID_TABS;
+ break;
+
+ default:
+ return NULL;
+ break;
+ }
+
+ return gw->shared->objects[obj];
+}
+
+
struct Window *ami_gui2_get_window(struct gui_window_2 *gwin)
{
assert(gwin != NULL);
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index e1042c5..bc1dc39 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -38,6 +38,12 @@
#define HOOKF(ret,func,type,ptr,msgtype) static ASM ret func(REG(a0, struct
Hook *hook),REG(a2, type ptr), REG(a1, msgtype msg))
#endif
+/* valid options for ami_gui_get_object */
+enum {
+ AMI_GAD_THROBBER = 0,
+ AMI_GAD_TABS
+};
+
enum
{
OID_MAIN = 0,
@@ -323,11 +329,26 @@ void ami_gui_set_find_window(struct gui_window *gw,
struct find_window *fw);
bool ami_gui_get_throbbing(struct gui_window *gw);
/**
+ * Get throbbing frame from gui_window
+ */
+int ami_gui_get_throbber_frame(struct gui_window *gw);
+
+/**
+ * Set throbbing frame in gui_window
+ */
+void ami_gui_set_throbber_frame(struct gui_window *gw, int frame);
+
+/**
* Set throbbing status in gui_window
*/
void ami_gui_set_throbbing(struct gui_window *gw, bool throbbing);
/**
+ * Get object from gui_window
+ */
+Object *ami_gui_get_object(struct gui_window *gw, int object_type);
+
+/**
* Get window from gui_window
*/
struct Window *ami_gui_get_window(struct gui_window *gw);
diff --git a/frontends/amiga/theme.c b/frontends/amiga/theme.c
index c20d025..900f465 100644
--- a/frontends/amiga/theme.c
+++ b/frontends/amiga/theme.c
@@ -432,13 +432,13 @@ void gui_window_start_throbber(struct gui_window *g)
if(ami_gui_get_tab_node(g) && (ami_gui_get_gui_window_2(g)->tabs > 1))
{
SetClickTabNodeAttrs(ami_gui_get_tab_node(g), TNA_Flagged,
TRUE, TAG_DONE);
-
RefreshGadgets((APTR)ami_gui_get_gui_window_2(g)->objects[GID_TABS],
+ RefreshGadgets((APTR)ami_gui_get_object(g, AMI_GAD_TABS),
ami_gui_get_window(g), NULL);
}
#endif
ami_gui_set_throbbing(g, true);
- if(ami_gui_get_gui_window_2(g)->throbber_frame == 0)
ami_gui_get_gui_window_2(g)->throbber_frame = 1;
+ if(ami_gui_get_throbber_frame(g) == 0) ami_gui_set_throbber_frame(g, 1);
ami_throbber_redraw_schedule(throbber_update_interval, g);
}
@@ -453,13 +453,13 @@ void gui_window_stop_throbber(struct gui_window *g)
if(ami_gui_get_tab_node(g) && (ami_gui_get_gui_window_2(g)->tabs > 1))
{
SetClickTabNodeAttrs(ami_gui_get_tab_node(g), TNA_Flagged,
FALSE, TAG_DONE);
-
RefreshGadgets((APTR)ami_gui_get_gui_window_2(g)->objects[GID_TABS],
+ RefreshGadgets((APTR)ami_gui_get_object(g, AMI_GAD_TABS),
ami_gui_get_window(g), NULL);
}
#endif
if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g), g)) {
-
if(ami_gui_get_space_box(ami_gui_get_gui_window_2(g)->objects[GID_THROBBER],
&bbox) != NSERROR_OK) {
+ if(ami_gui_get_space_box(ami_gui_get_object(g,
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
}
@@ -484,17 +484,17 @@ static void ami_throbber_update(void *p)
int frame = 0;
if(!g) return;
- if(!ami_gui_get_gui_window_2(g)->objects[GID_THROBBER]) return;
+ if(!ami_gui_get_object(g, AMI_GAD_THROBBER)) return;
if(ami_gui_get_throbbing(g) == true) {
- frame = ami_gui_get_gui_window_2(g)->throbber_frame;
- ami_gui_get_gui_window_2(g)->throbber_frame++;
- if(ami_gui_get_gui_window_2(g)->throbber_frame >
(throbber_frames-1))
- ami_gui_get_gui_window_2(g)->throbber_frame=1;
+ frame = ami_gui_get_throbber_frame(g);
+ ami_gui_set_throbber_frame(g, frame + 1);
+ if(ami_gui_get_throbber_frame(g) > (throbber_frames-1))
+ ami_gui_set_throbber_frame(g, 1);
}
if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g),g)) {
-
if(ami_gui_get_space_box(ami_gui_get_gui_window_2(g)->objects[GID_THROBBER],
&bbox) != NSERROR_OK) {
+ if(ami_gui_get_space_box(ami_gui_get_object(g,
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
}
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=a5aa53657c6feaf8ddd29ee33f8d5e89138ec996
commit a5aa53657c6feaf8ddd29ee33f8d5e89138ec996
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
get the window title from a gui_window
diff --git a/frontends/amiga/arexx.c b/frontends/amiga/arexx.c
index 6d1bdf1..5b5f0ea 100644
--- a/frontends/amiga/arexx.c
+++ b/frontends/amiga/arexx.c
@@ -421,7 +421,7 @@ RXHOOKF(rx_gettitle)
if(ami_gui_get_gui_window_2(gw)->tabs > 1)
strcpy(result, ami_gui_get_tab_title(gw));
else
- strcpy(result, ami_gui_get_gui_window_2(gw)->wintitle);
+ strcpy(result, ami_gui_get_win_title(gw));
}
else
{
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index e9ceb1a..3920616 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -320,6 +320,13 @@ struct gui_window *ami_gui2_get_gui_window(struct
gui_window_2 *gwin)
return gwin->gw;
}
+const char *ami_gui_get_win_title(struct gui_window *gw)
+{
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ return (const char *)gw->shared->wintitle;
+}
+
const char *ami_gui_get_tab_title(struct gui_window *gw)
{
assert(gw != NULL);
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index e163901..e1042c5 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -288,6 +288,11 @@ struct List *ami_gui_get_download_list(struct gui_window
*gw);
const char *ami_gui_get_tab_title(struct gui_window *gw);
/**
+ * Get window title from gui_window
+ */
+const char *ami_gui_get_win_title(struct gui_window *gw);
+
+/**
* Get tab node from gui_window
*/
struct Node *ami_gui_get_tab_node(struct gui_window *gw);
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=1edf8f28480fcb780dc6504022c65b6cc6c019cf
commit 1edf8f28480fcb780dc6504022c65b6cc6c019cf
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
set find window function
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index a2cee10..e9ceb1a 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -350,6 +350,16 @@ void ami_gui_set_history_window(struct gui_window *gw,
struct ami_history_local_
gw->hw = hw;
}
+void ami_gui_set_find_window(struct gui_window *gw, struct find_window *fw)
+{
+ /* This needs to be in gui_window_2 as it is shared amongst tabs (I
think),
+ * it just happens that the find code only knows of the gui_window
+ */
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ gw->shared->searchwin = fw;
+}
+
bool ami_gui_get_throbbing(struct gui_window *gw)
{
assert(gw != NULL);
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 50a340e..e163901 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -308,6 +308,11 @@ struct ami_history_local_window
*ami_gui_get_history_window(struct gui_window *g
void ami_gui_set_history_window(struct gui_window *gw, struct
ami_history_local_window *hw);
/**
+ * Set search window in gui_window
+ */
+void ami_gui_set_find_window(struct gui_window *gw, struct find_window *fw);
+
+/**
* Get throbbing status from gui_window
*/
bool ami_gui_get_throbbing(struct gui_window *gw);
diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c
index b210fd4..aad8e4c 100755
--- a/frontends/amiga/search.c
+++ b/frontends/amiga/search.c
@@ -144,9 +144,9 @@ void ami_search_open(struct gui_window *gwin)
if(fwin)
{
browser_window_search_clear(ami_gui_get_browser_window(fwin->gwin));
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = NULL;
+ ami_gui_set_find_window(fwin->gwin, NULL);
fwin->gwin = gwin;
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = fwin;
+ ami_gui_set_find_window(fwin->gwin, fwin);
WindowToFront(fwin->win);
ActivateWindow(fwin->win);
return;
@@ -220,7 +220,7 @@ void ami_search_open(struct gui_window *gwin)
fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_S_MAIN]);
fwin->gwin = gwin;
ami_gui_win_list_add(fwin, AMINS_FINDWINDOW, &ami_search_table);
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = fwin;
+ ami_gui_set_find_window(fwin->gwin, fwin);
ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_S_MAIN],
fwin->win,
NULL, (ULONG)fwin->objects[GID_S_SEARCHSTRING]);
@@ -229,7 +229,7 @@ void ami_search_open(struct gui_window *gwin)
void ami_search_close(void)
{
browser_window_search_clear(ami_gui_get_browser_window(fwin->gwin));
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = NULL;
+ ami_gui_set_find_window(fwin->gwin, NULL);
DisposeObject(fwin->objects[OID_S_MAIN]);
/* Free local charset version of messages */
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=c64d48005c31a7046f224b796a3da5ac0e79751d
commit c64d48005c31a7046f224b796a3da5ac0e79751d
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Try moving form_control into gui_window
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 0d7299f..a2cee10 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -214,6 +214,7 @@ struct gui_window
struct MinList *deferred_rects;
struct browser_window *bw;
float scale;
+ struct form_control *control;
};
struct ami_gui_tb_userdata {
@@ -391,9 +392,8 @@ void ami_gui2_set_menu(struct gui_window_2 *gwin, struct
Menu *menu)
struct form_control *ami_gui_get_control(struct gui_window *gw)
{
- /* TODO: does this need to be in the shared window? */
assert(gw != NULL);
- return gw->shared->control;
+ return gw->control;
}
/**
@@ -401,9 +401,8 @@ struct form_control *ami_gui_get_control(struct gui_window
*gw)
*/
void ami_gui_set_control(struct gui_window *gw, struct form_control *control)
{
- /* TODO: does this need to be in the shared window? */
assert(gw != NULL);
- gw->shared->control = control;
+ gw->control = control;
}
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index d5967de..50a340e 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -114,7 +114,6 @@ struct gui_window_2 {
ULONG next_tab;
struct Node *last_new_tab;
struct Hook scrollerhook;
- struct form_control *control;
browser_mouse_state mouse_state;
browser_mouse_state key_state;
ULONG throbber_update_count;
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=4713e1c8af2e4defbc127150838bd35549038b7b
commit 4713e1c8af2e4defbc127150838bd35549038b7b
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Accessor for the select menu control pointer
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 55d57d5..0d7299f 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -389,6 +389,24 @@ void ami_gui2_set_menu(struct gui_window_2 *gwin, struct
Menu *menu)
}
}
+struct form_control *ami_gui_get_control(struct gui_window *gw)
+{
+ /* TODO: does this need to be in the shared window? */
+ assert(gw != NULL);
+ return gw->shared->control;
+}
+
+/**
+ * Set control (for select menu) to gui_window
+ */
+void ami_gui_set_control(struct gui_window *gw, struct form_control *control)
+{
+ /* TODO: does this need to be in the shared window? */
+ assert(gw != NULL);
+ gw->shared->control = control;
+}
+
+
STRPTR ami_locale_langs(int *codeset)
{
struct Locale *locale;
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 6877bee..d5967de 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -338,5 +338,15 @@ struct Menu *ami_gui_get_menu(struct gui_window *gw);
*/
void ami_gui2_set_menu(struct gui_window_2 *gwin, struct Menu *menu);
+/**
+ * Get control (for select menu) from gui_window
+ */
+struct form_control *ami_gui_get_control(struct gui_window *gw);
+
+/**
+ * Set control (for select menu) to gui_window
+ */
+void ami_gui_set_control(struct gui_window *gw, struct form_control *control);
+
#endif
diff --git a/frontends/amiga/selectmenu.c b/frontends/amiga/selectmenu.c
index 06f43cc..6fb3cf9 100644
--- a/frontends/amiga/selectmenu.c
+++ b/frontends/amiga/selectmenu.c
@@ -74,7 +74,7 @@ HOOKF(uint32, ami_popup_hook, Object *, item, APTR)
struct gui_window *gwin = hook->h_Data;
if(GetAttr(PMIA_ID, item, &itemid)) {
-
form_select_process_selection(ami_gui_get_gui_window_2(gwin)->control, itemid);
+ form_select_process_selection(ami_gui_get_control(gwin),
itemid);
}
return itemid;
@@ -111,7 +111,7 @@ void gui_create_form_select_menu(struct gui_window *g,
selectmenuhook.h_SubEntry = NULL;
selectmenuhook.h_Data = g;
- ami_gui_get_gui_window_2(g)->control = control;
+ ami_gui_set_control(g, control);
selectmenuobj = PMMENU(form_control_get_name(control)),
PMA_MenuHandler, &selectmenuhook, End;
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=ca1a519cfad66978c18181b4a544b485f69aee90
commit ca1a519cfad66978c18181b4a544b485f69aee90
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
remove direct access to gui_window_2's gui_window
diff --git a/frontends/amiga/arexx.c b/frontends/amiga/arexx.c
index b2e2ac8..6d1bdf1 100644
--- a/frontends/amiga/arexx.c
+++ b/frontends/amiga/arexx.c
@@ -191,7 +191,7 @@ static struct gui_window *ami_find_tab_gwin(struct
gui_window_2 *gwin, int tab)
struct Node *ntab;
struct gui_window *gw;
- if((tab == 0) || (gwin->tabs == 0)) return gwin->gw;
+ if((tab == 0) || (gwin->tabs == 0)) return
ami_gui2_get_gui_window(gwin);
ctab = GetHead(&gwin->tab_list);
@@ -625,7 +625,7 @@ RXHOOKF(rx_active)
if(node->Type == AMINS_WINDOW)
{
windows++;
- if(gwin->gw == gw)
+ if(IS_CURRENT_GW(gwin,gw))
{
window = windows;
break;
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index ae3d22e..7a5c5f4 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -288,8 +288,8 @@ void ami_drag_selection(struct gui_window *g)
iffh = ami_clipboard_init_internal(1);
browser_window_key_press(ami_gui_get_browser_window(g),
NS_KEY_COPY_SELECTION);
-
browser_window_mouse_click(ami_gui_get_browser_window(gwin->gw),
BROWSER_MOUSE_PRESS_1, x, y);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_PASTE);
+ browser_window_mouse_click(ami_gui2_get_browser_window(gwin),
BROWSER_MOUSE_PRESS_1, x, y);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_PASTE);
ami_clipboard_free_internal(iffh);
iffh = old_iffh;
diff --git a/frontends/amiga/ctxmenu.c b/frontends/amiga/ctxmenu.c
index f0a2a20..b245324 100644
--- a/frontends/amiga/ctxmenu.c
+++ b/frontends/amiga/ctxmenu.c
@@ -107,8 +107,8 @@ HOOKF(void, ami_ctxmenu_item_selcopy, APTR, window, struct
IntuiMessage *)
{
struct gui_window_2 *gwin = (struct gui_window_2 *)hook->h_Data;
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_COPY_SELECTION);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CLEAR_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_COPY_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CLEAR_SELECTION);
}
HOOKF(void, ami_ctxmenu_item_websearch, APTR, window, struct IntuiMessage *)
@@ -117,11 +117,11 @@ HOOKF(void, ami_ctxmenu_item_websearch, APTR, window,
struct IntuiMessage *)
nsurl *url;
struct gui_window_2 *gwin = (struct gui_window_2 *)hook->h_Data;
- char *sel =
browser_window_get_selection(ami_gui_get_browser_window(gwin->gw));
+ char *sel =
browser_window_get_selection(ami_gui2_get_browser_window(gwin));
ret = search_web_omni(sel, SEARCH_WEB_OMNI_SEARCHONLY, &url);
if (ret == NSERROR_OK) {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
@@ -146,8 +146,8 @@ HOOKF(void, ami_ctxmenu_item_urlopentab, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
nserror error = browser_window_create(BW_CREATE_CLONE |
BW_CREATE_HISTORY | BW_CREATE_TAB,
url,
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
-
ami_gui_get_browser_window(gwin->gw),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
+
ami_gui2_get_browser_window(gwin),
&bw);
if (error != NSERROR_OK)
@@ -163,8 +163,8 @@ HOOKF(void, ami_ctxmenu_item_urlopenwin, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
nserror error = browser_window_create(BW_CREATE_CLONE |
BW_CREATE_HISTORY,
url,
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
-
ami_gui_get_browser_window(gwin->gw),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
+
ami_gui2_get_browser_window(gwin),
&bw);
if (error != NSERROR_OK)
@@ -178,9 +178,9 @@ HOOKF(void, ami_ctxmenu_item_urldownload, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
- browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
+ browser_window_access_url(ami_gui2_get_browser_window(gwin)),
BW_NAVIGATE_DOWNLOAD,
NULL,
NULL,
@@ -198,9 +198,9 @@ HOOKF(void, ami_ctxmenu_item_objshow, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
hlcache_handle_get_url(hook->h_Data),
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
BW_NAVIGATE_HISTORY,
NULL,
NULL,
@@ -238,9 +238,9 @@ HOOKF(void, ami_ctxmenu_item_frameshow, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
hlcache_handle_get_url(hook->h_Data),
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
BW_NAVIGATE_HISTORY,
NULL,
NULL,
@@ -271,7 +271,7 @@ HOOKF(void, ami_ctxmenu_item_history, APTR, window, struct
IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_history_go(ami_gui_get_browser_window(gwin->gw),
+ browser_window_history_go(ami_gui2_get_browser_window(gwin),
(struct history_entry *)hook->h_Data, false);
}
@@ -301,7 +301,7 @@ static uint32 ami_ctxmenu_hook_func(struct Hook *hook,
struct Window *window, st
Object *root_menu;
bool ctxmenu_has_content = false;
struct gui_window_2 *gwin = hook->h_Data;
- struct hlcache_handle *cc =
browser_window_get_content(ami_gui_get_browser_window(gwin->gw));
+ struct hlcache_handle *cc =
browser_window_get_content(ami_gui2_get_browser_window(gwin));
struct browser_window_features ccdata;
int mx = window->MouseX;
int my = window->MouseY;
@@ -329,11 +329,11 @@ static uint32 ami_ctxmenu_hook_func(struct Hook *hook,
struct Window *window, st
return 0;
}
- browser_window_get_features(ami_gui_get_browser_window(gwin->gw), x, y,
&ccdata);
+ browser_window_get_features(ami_gui2_get_browser_window(gwin), x, y,
&ccdata);
- if((browser_window_can_select(ami_gui_get_browser_window(gwin->gw))) &&
-
((browser_window_get_editor_flags(ami_gui_get_browser_window(gwin->gw)) &
BW_EDITOR_CAN_COPY)) &&
- (sel =
browser_window_get_selection(ami_gui_get_browser_window(gwin->gw)))) {
+ if((browser_window_can_select(ami_gui2_get_browser_window(gwin))) &&
+
((browser_window_get_editor_flags(ami_gui2_get_browser_window(gwin)) &
BW_EDITOR_CAN_COPY)) &&
+ (sel =
browser_window_get_selection(ami_gui2_get_browser_window(gwin)))) {
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_SELCOPY, gwin);
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_WEBSEARCH, gwin);
@@ -568,9 +568,9 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
gwin->temp = 0;
if(direction == AMI_CTXMENU_HISTORY_BACK) {
-
browser_window_history_enumerate_back(ami_gui_get_browser_window(gwin->gw),
ami_ctxmenu_history_back, gwin);
+
browser_window_history_enumerate_back(ami_gui2_get_browser_window(gwin),
ami_ctxmenu_history_back, gwin);
} else {
-
browser_window_history_enumerate_forward(ami_gui_get_browser_window(gwin->gw),
ami_ctxmenu_history_forward, gwin);
+
browser_window_history_enumerate_forward(ami_gui2_get_browser_window(gwin),
ami_ctxmenu_history_forward, gwin);
}
}
diff --git a/frontends/amiga/file.c b/frontends/amiga/file.c
index 4d02ddf..1d74d6f 100644
--- a/frontends/amiga/file.c
+++ b/frontends/amiga/file.c
@@ -100,7 +100,7 @@ void ami_file_open(struct gui_window_2 *gwin)
if (netsurf_path_to_nsurl(temp, &url) != NSERROR_OK) {
amiga_warn_user("NoMemory", 0);
} else {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
@@ -268,7 +268,7 @@ void ami_file_save_req(int type, struct gui_window_2 *gwin,
AddPart(fname, savereq->fr_File, 1024);
ami_file_save(type, fname, ami_gui2_get_window(gwin), object,
- ami_gui_get_favicon(gwin->gw),
ami_gui_get_browser_window(gwin->gw));
+ ami_gui_get_favicon(ami_gui2_get_gui_window(gwin)),
ami_gui2_get_browser_window(gwin));
}
if(fname) free(fname);
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 6db8434..55d57d5 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -288,13 +288,19 @@ static void gui_window_place_caret(struct gui_window *g,
int x, int y, int heigh
nsoptions[NSOPTION_##OPTION].value.i = VALUE; \
nsoptions_default[NSOPTION_##OPTION].value.i = VALUE
-/* Function documented in gui.h */
+/* Functions documented in gui.h */
struct browser_window *ami_gui_get_browser_window(struct gui_window *gw)
{
assert(gw != NULL);
return gw->bw;
}
+struct browser_window *ami_gui2_get_browser_window(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return ami_gui_get_browser_window(gwin->gw);
+}
+
struct List *ami_gui_get_download_list(struct gui_window *gw)
{
assert(gw != NULL);
@@ -307,6 +313,12 @@ struct gui_window_2 *ami_gui_get_gui_window_2(struct
gui_window *gw)
return gw->shared;
}
+struct gui_window *ami_gui2_get_gui_window(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->gw;
+}
+
const char *ami_gui_get_tab_title(struct gui_window *gw)
{
assert(gw != NULL);
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 6b08189..6877bee 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -157,6 +157,8 @@ extern struct Screen *scrn;
extern struct MsgPort *sport;
extern struct gui_window *cur_gw;
+#define IS_CURRENT_GW(GWIN,GW) (ami_gui2_get_gui_window(GWIN) == GW)
+
/* The return value for these functions must be deallocated using FreeVec() */
STRPTR ami_locale_langs(int *codeset);
char *ami_gui_get_cache_favicon_name(struct nsurl *url, bool only_if_avail);
@@ -262,11 +264,21 @@ void ami_gui_adjust_scale(struct gui_window *gw, float
adjustment);
struct browser_window *ami_gui_get_browser_window(struct gui_window *gw);
/**
+ * Get browser window from gui_window_2
+ */
+struct browser_window *ami_gui2_get_browser_window(struct gui_window_2 *gwin);
+
+/**
* Get gui_window_2 from gui_window
*/
struct gui_window_2 *ami_gui_get_gui_window_2(struct gui_window *gw);
/**
+ * Get gui_window from gui_window_2
+ */
+struct gui_window *ami_gui2_get_gui_window(struct gui_window_2 *gwin);
+
+/**
* Get download list from gui_window
*/
struct List *ami_gui_get_download_list(struct gui_window *gw);
diff --git a/frontends/amiga/gui_menu.c b/frontends/amiga/gui_menu.c
index f82384b..4256432 100644
--- a/frontends/amiga/gui_menu.c
+++ b/frontends/amiga/gui_menu.c
@@ -141,7 +141,7 @@ HOOKF(void, ami_menu_item_project_save, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_file_save_req(type, gwin,
browser_window_get_content(ami_gui_get_browser_window(gwin->gw)));
+ ami_file_save_req(type, gwin,
browser_window_get_content(ami_gui2_get_browser_window(gwin)));
}
HOOKF(void, ami_menu_item_project_closetab, APTR, window, struct IntuiMessage
*)
@@ -149,7 +149,7 @@ HOOKF(void, ami_menu_item_project_closetab, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_destroy(ami_gui_get_browser_window(gwin->gw));
+ browser_window_destroy(ami_gui2_get_browser_window(gwin));
}
HOOKF(void, ami_menu_item_project_closewin, APTR, window, struct IntuiMessage
*)
@@ -166,7 +166,7 @@ HOOKF(void, ami_menu_item_project_print, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
ami_set_pointer(gwin, GUI_POINTER_WAIT, false);
-
ami_print_ui(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)));
+
ami_print_ui(browser_window_get_content(ami_gui2_get_browser_window(gwin)));
ami_reset_pointer(gwin);
}
@@ -243,7 +243,7 @@ HOOKF(void, ami_menu_item_edit_cut, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CUT_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CUT_SELECTION);
}
HOOKF(void, ami_menu_item_edit_copy, APTR, window, struct IntuiMessage *)
@@ -252,22 +252,22 @@ HOOKF(void, ami_menu_item_edit_copy, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- if(browser_window_can_select(ami_gui_get_browser_window(gwin->gw))) {
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_COPY_SELECTION);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CLEAR_SELECTION);
+ if(browser_window_can_select(ami_gui2_get_browser_window(gwin))) {
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_COPY_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CLEAR_SELECTION);
}
- else if((bm =
content_get_bitmap(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)))))
{
+ else if((bm =
content_get_bitmap(browser_window_get_content(ami_gui2_get_browser_window(gwin)))))
{
/** @todo It should be checked that the lifetime of
* the objects containing the values returned (and the
* constness cast away) is safe.
*/
- ami_bitmap_set_url(bm,
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)));
- ami_bitmap_set_title(bm,
browser_window_get_title(ami_gui_get_browser_window(gwin->gw)));
+ ami_bitmap_set_url(bm,
browser_window_access_url(ami_gui2_get_browser_window(gwin)));
+ ami_bitmap_set_title(bm,
browser_window_get_title(ami_gui2_get_browser_window(gwin)));
ami_easy_clipboard_bitmap(bm);
}
#ifdef WITH_NS_SVG
- else
if(ami_mime_compare(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)),
"svg") == true) {
-
ami_easy_clipboard_svg(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)));
+ else
if(ami_mime_compare(browser_window_get_content(ami_gui2_get_browser_window(gwin)),
"svg") == true) {
+
ami_easy_clipboard_svg(browser_window_get_content(ami_gui2_get_browser_window(gwin)));
}
#endif
}
@@ -277,7 +277,7 @@ HOOKF(void, ami_menu_item_edit_paste, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_PASTE);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_PASTE);
}
HOOKF(void, ami_menu_item_edit_selectall, APTR, window, struct IntuiMessage *)
@@ -285,8 +285,8 @@ HOOKF(void, ami_menu_item_edit_selectall, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_SELECT_ALL);
- gui_start_selection(gwin->gw);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_SELECT_ALL);
+ gui_start_selection(ami_gui2_get_gui_window(gwin));
}
HOOKF(void, ami_menu_item_edit_clearsel, APTR, window, struct IntuiMessage *)
@@ -294,7 +294,7 @@ HOOKF(void, ami_menu_item_edit_clearsel, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CLEAR_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CLEAR_SELECTION);
}
HOOKF(void, ami_menu_item_edit_undo, APTR, window, struct IntuiMessage *)
@@ -302,7 +302,7 @@ HOOKF(void, ami_menu_item_edit_undo, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_UNDO);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_UNDO);
}
HOOKF(void, ami_menu_item_edit_redo, APTR, window, struct IntuiMessage *)
@@ -310,7 +310,7 @@ HOOKF(void, ami_menu_item_edit_redo, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_REDO);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_REDO);
}
HOOKF(void, ami_menu_item_browser_find, APTR, window, struct IntuiMessage *)
@@ -318,7 +318,7 @@ HOOKF(void, ami_menu_item_browser_find, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_search_open(gwin->gw);
+ ami_search_open(ami_gui2_get_gui_window(gwin));
}
HOOKF(void, ami_menu_item_browser_localhistory, APTR, window, struct
IntuiMessage *)
@@ -326,7 +326,7 @@ HOOKF(void, ami_menu_item_browser_localhistory, APTR,
window, struct IntuiMessag
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_history_local_present(gwin->gw);
+ ami_history_local_present(ami_gui2_get_gui_window(gwin));
}
HOOKF(void, ami_menu_item_browser_globalhistory, APTR, window, struct
IntuiMessage *)
@@ -380,7 +380,7 @@ HOOKF(void, ami_menu_item_browser_scale_decrease, APTR,
window, struct IntuiMess
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_gui_adjust_scale(gwin->gw, -0.1);
+ ami_gui_adjust_scale(ami_gui2_get_gui_window(gwin), -0.1);
}
HOOKF(void, ami_menu_item_browser_scale_normal, APTR, window, struct
IntuiMessage *)
@@ -388,7 +388,7 @@ HOOKF(void, ami_menu_item_browser_scale_normal, APTR,
window, struct IntuiMessag
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_gui_set_scale(gwin->gw, 1.0);
+ ami_gui_set_scale(ami_gui2_get_gui_window(gwin), 1.0);
}
HOOKF(void, ami_menu_item_browser_scale_increase, APTR, window, struct
IntuiMessage *)
@@ -396,7 +396,7 @@ HOOKF(void, ami_menu_item_browser_scale_increase, APTR,
window, struct IntuiMess
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_gui_adjust_scale(gwin->gw, +0.1);
+ ami_gui_adjust_scale(ami_gui2_get_gui_window(gwin), +0.1);
}
HOOKF(void, ami_menu_item_browser_redraw, APTR, window, struct IntuiMessage *)
@@ -414,7 +414,7 @@ HOOKF(void, ami_menu_item_hotlist_add, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- bw = ami_gui_get_browser_window(gwin->gw);
+ bw = ami_gui2_get_browser_window(gwin);
if (bw == NULL || browser_window_has_content(bw) == false)
return;
@@ -436,7 +436,7 @@ HOOKF(void, ami_menu_item_hotlist_entries, APTR, window,
struct IntuiMessage *)
if(url == NULL) return;
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
diff --git a/frontends/amiga/history.c b/frontends/amiga/history.c
index 1b75ad4..2cd2f84 100644
--- a/frontends/amiga/history.c
+++ b/frontends/amiga/history.c
@@ -203,7 +203,7 @@ ami_history_global_drag_end(struct ami_corewindow *ami_cw,
int x, int y)
DisplayBeep(scrn);
} else if(url) {
if((gwin = ami_window_at_pointer(AMINS_WINDOW))) {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
diff --git a/frontends/amiga/hotlist.c b/frontends/amiga/hotlist.c
index 7740d53..e8cf3a1 100644
--- a/frontends/amiga/hotlist.c
+++ b/frontends/amiga/hotlist.c
@@ -254,7 +254,7 @@ ami_hotlist_drag_end(struct ami_corewindow *ami_cw, int x,
int y)
DisplayBeep(scrn);
} else if(url) {
if((gwin = ami_window_at_pointer(AMINS_WINDOW))) {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
diff --git a/frontends/amiga/theme.c b/frontends/amiga/theme.c
index f41d04b..c20d025 100644
--- a/frontends/amiga/theme.c
+++ b/frontends/amiga/theme.c
@@ -458,7 +458,7 @@ void gui_window_stop_throbber(struct gui_window *g)
}
#endif
- if(g == ami_gui_get_gui_window_2(g)->gw) {
+ if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g), g)) {
if(ami_gui_get_space_box(ami_gui_get_gui_window_2(g)->objects[GID_THROBBER],
&bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
@@ -493,7 +493,7 @@ static void ami_throbber_update(void *p)
ami_gui_get_gui_window_2(g)->throbber_frame=1;
}
- if(ami_gui_get_gui_window_2(g)->gw == g) {
+ if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g),g)) {
if(ami_gui_get_space_box(ami_gui_get_gui_window_2(g)->objects[GID_THROBBER],
&bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=b9dd0a60c300b0de6b117500f67b6724b520652c
commit b9dd0a60c300b0de6b117500f67b6724b520652c
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
accessor for window from gui_window_2
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index d0372c2..ae3d22e 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -280,8 +280,8 @@ void ami_drag_selection(struct gui_window *g)
return;
}
- x = gwin->win->MouseX;
- y = gwin->win->MouseY;
+ x = ami_gui2_get_window(gwin)->MouseX;
+ y = ami_gui2_get_window(gwin)->MouseY;
if(ami_text_box_at_point(gwin, (ULONG *)&x, (ULONG *)&y))
{
@@ -296,8 +296,8 @@ void ami_drag_selection(struct gui_window *g)
}
else
{
- x = gwin->win->MouseX;
- y = gwin->win->MouseY;
+ x = ami_gui2_get_window(gwin)->MouseX;
+ y = ami_gui2_get_window(gwin)->MouseY;
if(ami_gadget_hit(gwin->objects[GID_URL], x, y))
{
@@ -305,7 +305,7 @@ void ami_drag_selection(struct gui_window *g)
{
utf8text = ami_utf8_easy(sel);
RefreshSetGadgetAttrs((struct Gadget
*)gwin->objects[GID_URL],
- gwin->win, NULL, STRINGA_TextVal,
utf8text, TAG_DONE);
+ ami_gui2_get_window(gwin), NULL,
STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
@@ -316,7 +316,7 @@ void ami_drag_selection(struct gui_window *g)
{
utf8text = ami_utf8_easy(sel);
RefreshSetGadgetAttrs((struct Gadget
*)gwin->objects[GID_SEARCHSTRING],
- gwin->win, NULL, STRINGA_TextVal,
utf8text, TAG_DONE);
+ ami_gui2_get_window(gwin), NULL,
STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
diff --git a/frontends/amiga/drag.c b/frontends/amiga/drag.c
index c022a9c..0495427 100644
--- a/frontends/amiga/drag.c
+++ b/frontends/amiga/drag.c
@@ -304,7 +304,7 @@ static void *ami_find_gwin_by_id(struct Window *win, uint32
type)
if(node->Type == type)
{
gwin = node->objstruct;
- if(win == gwin->win) return gwin;
+ if(win == ami_gui2_get_window(gwin)) return
gwin;
}
} while((node = nnode));
}
diff --git a/frontends/amiga/file.c b/frontends/amiga/file.c
index 40d7288..4d02ddf 100644
--- a/frontends/amiga/file.c
+++ b/frontends/amiga/file.c
@@ -84,7 +84,7 @@ void ami_file_open(struct gui_window_2 *gwin)
if(AslRequestTags(filereq,
ASLFR_TitleText, messages_get("NetSurf"),
- ASLFR_Window, gwin->win,
+ ASLFR_Window, ami_gui2_get_window(gwin),
ASLFR_SleepWindow, TRUE,
ASLFR_Screen, scrn,
ASLFR_DoSaveMode, FALSE,
@@ -257,7 +257,7 @@ void ami_file_save_req(int type, struct gui_window_2 *gwin,
}
if(AslRequestTags(savereq,
- ASLFR_Window, gwin->win,
+ ASLFR_Window, ami_gui2_get_window(gwin),
ASLFR_SleepWindow, TRUE,
ASLFR_TitleText, messages_get("NetSurf"),
ASLFR_Screen, scrn,
@@ -267,7 +267,7 @@ void ami_file_save_req(int type, struct gui_window_2 *gwin,
strlcpy(fname, savereq->fr_Drawer, 1024);
AddPart(fname, savereq->fr_File, 1024);
- ami_file_save(type, fname, gwin->win, object,
+ ami_file_save(type, fname, ami_gui2_get_window(gwin), object,
ami_gui_get_favicon(gwin->gw),
ami_gui_get_browser_window(gwin->gw));
}
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index ca0fda1..6db8434 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -349,11 +349,16 @@ void ami_gui_set_throbbing(struct gui_window *gw, bool
throbbing)
gw->throbbing = throbbing;
}
+struct Window *ami_gui2_get_window(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->win;
+}
+
struct Window *ami_gui_get_window(struct gui_window *gw)
{
assert(gw != NULL);
- assert(gw->shared != NULL);
- return gw->shared->win;
+ return ami_gui2_get_window(gw->shared);
}
struct Menu *ami_gui_get_menu(struct gui_window *gw)
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 727b578..6b08189 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -312,6 +312,11 @@ void ami_gui_set_throbbing(struct gui_window *gw, bool
throbbing);
struct Window *ami_gui_get_window(struct gui_window *gw);
/**
+ * Get window from gui_window_2
+ */
+struct Window *ami_gui2_get_window(struct gui_window_2 *gwin);
+
+/**
* Get imenu from gui_window
*/
struct Menu *ami_gui_get_menu(struct gui_window *gw);
diff --git a/frontends/amiga/gui_menu.c b/frontends/amiga/gui_menu.c
index b86abcb..f82384b 100644
--- a/frontends/amiga/gui_menu.c
+++ b/frontends/amiga/gui_menu.c
@@ -191,7 +191,7 @@ HOOKF(void, ami_menu_item_project_about, APTR, window,
struct IntuiMessage *)
#ifdef __amigaos4__
sel = TimedDosRequesterTags(TDR_ImageType,TDRIMAGE_INFO,
TDR_TitleString, messages_get("NetSurf"),
- TDR_Window, gwin->win,
+ TDR_Window, ami_gui2_get_window(gwin),
TDR_GadgetString, temp2,
TDR_FormatString,"NetSurf %s\nBuild date
%s\n\nhttp://www.netsurf-browser.org",
TDR_Arg1,netsurf_version,
@@ -206,7 +206,7 @@ HOOKF(void, ami_menu_item_project_about, APTR, window,
struct IntuiMessage *)
temp2,
};
- sel = EasyRequest(gwin->win, &about_req, NULL, netsurf_version,
verdate);
+ sel = EasyRequest(ami_gui2_get_window(gwin), &about_req, NULL,
netsurf_version, verdate);
#endif
free(temp2);
@@ -455,10 +455,10 @@ HOOKF(void, ami_menu_item_settings_snapshot, APTR,
window, struct IntuiMessage *
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- nsoption_set_int(window_x, gwin->win->LeftEdge);
- nsoption_set_int(window_y, gwin->win->TopEdge);
- nsoption_set_int(window_width, gwin->win->Width);
- nsoption_set_int(window_height, gwin->win->Height);
+ nsoption_set_int(window_x, ami_gui2_get_window(gwin)->LeftEdge);
+ nsoption_set_int(window_y, ami_gui2_get_window(gwin)->TopEdge);
+ nsoption_set_int(window_width, ami_gui2_get_window(gwin)->Width);
+ nsoption_set_int(window_height, ami_gui2_get_window(gwin)->Height);
}
HOOKF(void, ami_menu_item_settings_save, APTR, window, struct IntuiMessage *)
@@ -473,7 +473,7 @@ HOOKF(void, ami_menu_item_arexx_execute, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
if(AslRequestTags(filereq,
- ASLFR_Window, gwin->win,
+ ASLFR_Window,
ami_gui2_get_window(gwin),
ASLFR_SleepWindow, TRUE,
ASLFR_TitleText,
messages_get("NetSurf"),
ASLFR_Screen, scrn,
@@ -706,7 +706,7 @@ void ami_gui_menu_update_checked(struct gui_window_2 *gwin)
ItemAddress(menustrip,
ami_gui_menu_number(M_IMGBACK))->Flags ^= CHECKED;
}
- ResetMenuStrip(gwin->win, menustrip);
+ ResetMenuStrip(ami_gui2_get_window(gwin), menustrip);
}
void ami_gui_menu_update_disabled(struct gui_window *g, struct hlcache_handle
*c)
diff --git a/frontends/amiga/theme.c b/frontends/amiga/theme.c
index 8e2f470..f41d04b 100644
--- a/frontends/amiga/theme.c
+++ b/frontends/amiga/theme.c
@@ -221,14 +221,14 @@ void gui_window_set_pointer(struct gui_window *g,
gui_pointer_shape shape)
void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update)
{
if(gwin->mouse_pointer == shape) return;
- ami_update_pointer(gwin->win, shape);
+ ami_update_pointer(ami_gui2_get_window(gwin), shape);
if(update == true) gwin->mouse_pointer = shape;
}
/* reset the mouse pointer back to what NetSurf last set it as */
void ami_reset_pointer(struct gui_window_2 *gwin)
{
- ami_update_pointer(gwin->win, gwin->mouse_pointer);
+ ami_update_pointer(ami_gui2_get_window(gwin), gwin->mouse_pointer);
}
void ami_update_pointer(struct Window *win, gui_pointer_shape shape)
-----------------------------------------------------------------------
Summary of changes:
frontends/amiga/arexx.c | 14 +--
frontends/amiga/clipboard.c | 24 ++--
frontends/amiga/ctxmenu.c | 80 +++++++------
frontends/amiga/ctxmenu.h | 5 +-
frontends/amiga/drag.c | 2 +-
frontends/amiga/file.c | 10 +-
frontends/amiga/gui.c | 265 ++++++++++++++++++++++++++++++++++++++++-
frontends/amiga/gui.h | 198 ++++++++++++++++--------------
frontends/amiga/gui_menu.c | 90 +++++++-------
frontends/amiga/gui_menu.h | 3 +-
frontends/amiga/gui_options.c | 3 +-
frontends/amiga/history.c | 2 +-
frontends/amiga/hotlist.c | 2 +-
frontends/amiga/search.c | 8 +-
frontends/amiga/selectmenu.c | 4 +-
frontends/amiga/theme.c | 41 +++----
frontends/amiga/theme.h | 2 -
17 files changed, 515 insertions(+), 238 deletions(-)
diff --git a/frontends/amiga/arexx.c b/frontends/amiga/arexx.c
index b2e2ac8..24da3e7 100644
--- a/frontends/amiga/arexx.c
+++ b/frontends/amiga/arexx.c
@@ -191,9 +191,9 @@ static struct gui_window *ami_find_tab_gwin(struct
gui_window_2 *gwin, int tab)
struct Node *ntab;
struct gui_window *gw;
- if((tab == 0) || (gwin->tabs == 0)) return gwin->gw;
+ if((tab == 0) || (ami_gui2_get_tabs(gwin) == 0)) return
ami_gui2_get_gui_window(gwin);
- ctab = GetHead(&gwin->tab_list);
+ ctab = GetHead(ami_gui2_get_tab_list(gwin));
do
{
@@ -215,9 +215,9 @@ static int ami_find_tab_bw(struct gui_window_2 *gwin,
struct browser_window *bw)
struct Node *ntab;
struct gui_window *tgw = NULL;
- if((bw == NULL) || (gwin->tabs == 0)) return 1;
+ if((bw == NULL) || (ami_gui2_get_tabs(gwin) == 0)) return 1;
- ctab = GetHead(&gwin->tab_list);
+ ctab = GetHead(ami_gui2_get_tab_list(gwin));
do
{
@@ -418,10 +418,10 @@ RXHOOKF(rx_gettitle)
if(gw)
{
- if(ami_gui_get_gui_window_2(gw)->tabs > 1)
+ if(ami_gui2_get_tabs(ami_gui_get_gui_window_2(gw)) > 1)
strcpy(result, ami_gui_get_tab_title(gw));
else
- strcpy(result, ami_gui_get_gui_window_2(gw)->wintitle);
+ strcpy(result, ami_gui_get_win_title(gw));
}
else
{
@@ -625,7 +625,7 @@ RXHOOKF(rx_active)
if(node->Type == AMINS_WINDOW)
{
windows++;
- if(gwin->gw == gw)
+ if(IS_CURRENT_GW(gwin,gw))
{
window = windows;
break;
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index d0372c2..731492b 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -280,43 +280,43 @@ void ami_drag_selection(struct gui_window *g)
return;
}
- x = gwin->win->MouseX;
- y = gwin->win->MouseY;
+ x = ami_gui2_get_window(gwin)->MouseX;
+ y = ami_gui2_get_window(gwin)->MouseY;
if(ami_text_box_at_point(gwin, (ULONG *)&x, (ULONG *)&y))
{
iffh = ami_clipboard_init_internal(1);
browser_window_key_press(ami_gui_get_browser_window(g),
NS_KEY_COPY_SELECTION);
-
browser_window_mouse_click(ami_gui_get_browser_window(gwin->gw),
BROWSER_MOUSE_PRESS_1, x, y);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_PASTE);
+ browser_window_mouse_click(ami_gui2_get_browser_window(gwin),
BROWSER_MOUSE_PRESS_1, x, y);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_PASTE);
ami_clipboard_free_internal(iffh);
iffh = old_iffh;
}
else
{
- x = gwin->win->MouseX;
- y = gwin->win->MouseY;
+ x = ami_gui2_get_window(gwin)->MouseX;
+ y = ami_gui2_get_window(gwin)->MouseY;
- if(ami_gadget_hit(gwin->objects[GID_URL], x, y))
+ if(ami_gadget_hit(ami_gui2_get_object(gwin, AMI_GAD_URL), x, y))
{
if((sel =
browser_window_get_selection(ami_gui_get_browser_window(g))))
{
utf8text = ami_utf8_easy(sel);
- RefreshSetGadgetAttrs((struct Gadget
*)gwin->objects[GID_URL],
- gwin->win, NULL, STRINGA_TextVal,
utf8text, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget
*)ami_gui2_get_object(gwin, AMI_GAD_URL),
+ ami_gui2_get_window(gwin), NULL,
STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
}
- else if(ami_gadget_hit(gwin->objects[GID_SEARCHSTRING], x, y))
+ else if(ami_gadget_hit(ami_gui2_get_object(gwin,
AMI_GAD_SEARCH), x, y))
{
if((sel =
browser_window_get_selection(ami_gui_get_browser_window(g))))
{
utf8text = ami_utf8_easy(sel);
- RefreshSetGadgetAttrs((struct Gadget
*)gwin->objects[GID_SEARCHSTRING],
- gwin->win, NULL, STRINGA_TextVal,
utf8text, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget
*)ami_gui2_get_object(gwin, AMI_GAD_SEARCH),
+ ami_gui2_get_window(gwin), NULL,
STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
diff --git a/frontends/amiga/ctxmenu.c b/frontends/amiga/ctxmenu.c
index f0a2a20..92f399f 100644
--- a/frontends/amiga/ctxmenu.c
+++ b/frontends/amiga/ctxmenu.c
@@ -107,8 +107,8 @@ HOOKF(void, ami_ctxmenu_item_selcopy, APTR, window, struct
IntuiMessage *)
{
struct gui_window_2 *gwin = (struct gui_window_2 *)hook->h_Data;
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_COPY_SELECTION);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CLEAR_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_COPY_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CLEAR_SELECTION);
}
HOOKF(void, ami_ctxmenu_item_websearch, APTR, window, struct IntuiMessage *)
@@ -117,11 +117,11 @@ HOOKF(void, ami_ctxmenu_item_websearch, APTR, window,
struct IntuiMessage *)
nsurl *url;
struct gui_window_2 *gwin = (struct gui_window_2 *)hook->h_Data;
- char *sel =
browser_window_get_selection(ami_gui_get_browser_window(gwin->gw));
+ char *sel =
browser_window_get_selection(ami_gui2_get_browser_window(gwin));
ret = search_web_omni(sel, SEARCH_WEB_OMNI_SEARCHONLY, &url);
if (ret == NSERROR_OK) {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
@@ -146,8 +146,8 @@ HOOKF(void, ami_ctxmenu_item_urlopentab, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
nserror error = browser_window_create(BW_CREATE_CLONE |
BW_CREATE_HISTORY | BW_CREATE_TAB,
url,
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
-
ami_gui_get_browser_window(gwin->gw),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
+
ami_gui2_get_browser_window(gwin),
&bw);
if (error != NSERROR_OK)
@@ -163,8 +163,8 @@ HOOKF(void, ami_ctxmenu_item_urlopenwin, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
nserror error = browser_window_create(BW_CREATE_CLONE |
BW_CREATE_HISTORY,
url,
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
-
ami_gui_get_browser_window(gwin->gw),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
+
ami_gui2_get_browser_window(gwin),
&bw);
if (error != NSERROR_OK)
@@ -178,9 +178,9 @@ HOOKF(void, ami_ctxmenu_item_urldownload, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
- browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
+ browser_window_access_url(ami_gui2_get_browser_window(gwin)),
BW_NAVIGATE_DOWNLOAD,
NULL,
NULL,
@@ -198,9 +198,9 @@ HOOKF(void, ami_ctxmenu_item_objshow, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
hlcache_handle_get_url(hook->h_Data),
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
BW_NAVIGATE_HISTORY,
NULL,
NULL,
@@ -238,9 +238,9 @@ HOOKF(void, ami_ctxmenu_item_frameshow, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
hlcache_handle_get_url(hook->h_Data),
-
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)),
+
browser_window_access_url(ami_gui2_get_browser_window(gwin)),
BW_NAVIGATE_HISTORY,
NULL,
NULL,
@@ -271,7 +271,7 @@ HOOKF(void, ami_ctxmenu_item_history, APTR, window, struct
IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_history_go(ami_gui_get_browser_window(gwin->gw),
+ browser_window_history_go(ami_gui2_get_browser_window(gwin),
(struct history_entry *)hook->h_Data, false);
}
@@ -301,7 +301,7 @@ static uint32 ami_ctxmenu_hook_func(struct Hook *hook,
struct Window *window, st
Object *root_menu;
bool ctxmenu_has_content = false;
struct gui_window_2 *gwin = hook->h_Data;
- struct hlcache_handle *cc =
browser_window_get_content(ami_gui_get_browser_window(gwin->gw));
+ struct hlcache_handle *cc =
browser_window_get_content(ami_gui2_get_browser_window(gwin));
struct browser_window_features ccdata;
int mx = window->MouseX;
int my = window->MouseY;
@@ -329,11 +329,11 @@ static uint32 ami_ctxmenu_hook_func(struct Hook *hook,
struct Window *window, st
return 0;
}
- browser_window_get_features(ami_gui_get_browser_window(gwin->gw), x, y,
&ccdata);
+ browser_window_get_features(ami_gui2_get_browser_window(gwin), x, y,
&ccdata);
- if((browser_window_can_select(ami_gui_get_browser_window(gwin->gw))) &&
-
((browser_window_get_editor_flags(ami_gui_get_browser_window(gwin->gw)) &
BW_EDITOR_CAN_COPY)) &&
- (sel =
browser_window_get_selection(ami_gui_get_browser_window(gwin->gw)))) {
+ if((browser_window_can_select(ami_gui2_get_browser_window(gwin))) &&
+
((browser_window_get_editor_flags(ami_gui2_get_browser_window(gwin)) &
BW_EDITOR_CAN_COPY)) &&
+ (sel =
browser_window_get_selection(ami_gui2_get_browser_window(gwin)))) {
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_SELCOPY, gwin);
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_WEBSEARCH, gwin);
@@ -499,15 +499,15 @@ void ami_ctxmenu_init(void)
static bool ami_ctxmenu_history(int direction, struct gui_window_2 *gwin,
const struct history_entry *entry)
{
Object *history_root;
- int id = AMI_CTX_ID_HISTORY0 + gwin->temp;
+ int id = AMI_CTX_ID_HISTORY0 + ami_gui2_get_ctxmenu_history_tmp(gwin);
if(direction == AMI_CTXMENU_HISTORY_FORWARD) id += 10;
- if(gwin->temp >= 10) return false;
+ if(ami_gui2_get_ctxmenu_history_tmp(gwin) >= 10) return false;
ctxmenu_item_hook[id].h_Entry = (HOOKFUNC)ami_ctxmenu_item_history;
ctxmenu_item_hook[id].h_Data = (APTR)entry;
- history_root = (Object *)IDoMethod(gwin->history_ctxmenu[direction],
MM_FINDID, 0, AMI_CTX_ID_HISTORY);
+ history_root = (Object *)IDoMethod(ami_gui2_get_ctxmenu_history(gwin,
direction), MM_FINDID, 0, AMI_CTX_ID_HISTORY);
IDoMethod(history_root, OM_ADDMEMBER, MStrip,
MA_Type, T_ITEM,
@@ -518,7 +518,7 @@ static bool ami_ctxmenu_history(int direction, struct
gui_window_2 *gwin, const
MA_UserData,
&ctxmenu_item_hook[id],
MEnd);
- gwin->temp++;
+ ami_gui2_set_ctxmenu_history_tmp(gwin,
ami_gui2_get_ctxmenu_history_tmp(gwin) + 1);
return true;
}
@@ -544,11 +544,11 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
{
Object *obj;
- if(gwin->history_ctxmenu[direction] == NULL) {
+ if(ami_gui2_get_ctxmenu_history(gwin, direction) == NULL) {
if(ctxmenu_item_label[AMI_CTX_ID_HISTORY] == NULL)
ctxmenu_item_label[AMI_CTX_ID_HISTORY] =
ami_utf8_easy(messages_get("History"));
- gwin->history_ctxmenu[direction] = MStrip,
+ obj = MStrip,
MA_Type, T_ROOT,
MA_AddChild, MStrip,
MA_Type, T_MENU,
@@ -558,23 +558,26 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
//MA_FreeImage, FALSE,
MEnd,
MEnd;
+
+ ami_gui2_set_ctxmenu_history(gwin, direction, obj);
+
} else {
for (int i = 0; i < 20; i++) {
- obj = (Object
*)IDoMethod(gwin->history_ctxmenu[direction],
+ obj = (Object
*)IDoMethod(ami_gui2_get_ctxmenu_history(gwin, direction),
MM_FINDID, 0, AMI_CTX_ID_HISTORY0 + i);
- if(obj != NULL)
IDoMethod(gwin->history_ctxmenu[direction], OM_REMMEMBER, obj);
+ if(obj != NULL)
IDoMethod(ami_gui2_get_ctxmenu_history(gwin, direction), OM_REMMEMBER, obj);
}
- gwin->temp = 0;
+ ami_gui2_set_ctxmenu_history_tmp(gwin, 0);
if(direction == AMI_CTXMENU_HISTORY_BACK) {
-
browser_window_history_enumerate_back(ami_gui_get_browser_window(gwin->gw),
ami_ctxmenu_history_back, gwin);
+
browser_window_history_enumerate_back(ami_gui2_get_browser_window(gwin),
ami_ctxmenu_history_back, gwin);
} else {
-
browser_window_history_enumerate_forward(ami_gui_get_browser_window(gwin->gw),
ami_ctxmenu_history_forward, gwin);
+
browser_window_history_enumerate_forward(ami_gui2_get_browser_window(gwin),
ami_ctxmenu_history_forward, gwin);
}
}
- return (struct Menu *)gwin->history_ctxmenu[direction];
+ return (struct Menu *)ami_gui2_get_ctxmenu_history(gwin, direction);
}
@@ -583,13 +586,16 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
**************************/
/** Exported interface documented in ctxmenu.h **/
-struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin)
+struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin, Object
**clicktab_obj)
{
Object *root_menu;
+ Object *clicktab;
- if(gwin->clicktab_ctxmenu != NULL) return (struct Menu
*)gwin->clicktab_ctxmenu;
+ if(*clicktab_obj != NULL) {
+ return (struct Menu *)*clicktab_obj;
+ }
- gwin->clicktab_ctxmenu = MStrip,
+ clicktab = MStrip,
MA_Type, T_ROOT,
MA_AddChild, root_menu = MStrip,
MA_Type, T_MENU,
@@ -598,10 +604,12 @@ struct Menu *ami_ctxmenu_clicktab_create(struct
gui_window_2 *gwin)
MEnd,
MEnd;
+ *clicktab_obj = clicktab;
+
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABNEW, gwin);
ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABCLOSE_OTHER, gwin);
- return (struct Menu *)gwin->clicktab_ctxmenu;
+ return (struct Menu *)clicktab;
}
diff --git a/frontends/amiga/ctxmenu.h b/frontends/amiga/ctxmenu.h
index 08a5fe5..39a8387 100644
--- a/frontends/amiga/ctxmenu.h
+++ b/frontends/amiga/ctxmenu.h
@@ -75,10 +75,11 @@ struct Menu *ami_ctxmenu_history_create(int direction,
struct gui_window_2 *gwin
* Create ClickTab context menu
*
* \param gwin struct gui_window_2 *
- * \returns pointer to menu (for convenience, is also stored in gwin structure)
+ * \param clicktab_obj ptr to memory to hold clicktab menu object
+ * \returns pointer to menu (for convenience)
* The returned pointer MUST be disposed of with DisposeObject before program
exit.
*/
-struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin);
+struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin, Object
**clicktab_obj);
#else //__amigaos4__
inline void ami_ctxmenu_init(void) {}
diff --git a/frontends/amiga/drag.c b/frontends/amiga/drag.c
index c022a9c..0495427 100644
--- a/frontends/amiga/drag.c
+++ b/frontends/amiga/drag.c
@@ -304,7 +304,7 @@ static void *ami_find_gwin_by_id(struct Window *win, uint32
type)
if(node->Type == type)
{
gwin = node->objstruct;
- if(win == gwin->win) return gwin;
+ if(win == ami_gui2_get_window(gwin)) return
gwin;
}
} while((node = nnode));
}
diff --git a/frontends/amiga/file.c b/frontends/amiga/file.c
index 40d7288..1d74d6f 100644
--- a/frontends/amiga/file.c
+++ b/frontends/amiga/file.c
@@ -84,7 +84,7 @@ void ami_file_open(struct gui_window_2 *gwin)
if(AslRequestTags(filereq,
ASLFR_TitleText, messages_get("NetSurf"),
- ASLFR_Window, gwin->win,
+ ASLFR_Window, ami_gui2_get_window(gwin),
ASLFR_SleepWindow, TRUE,
ASLFR_Screen, scrn,
ASLFR_DoSaveMode, FALSE,
@@ -100,7 +100,7 @@ void ami_file_open(struct gui_window_2 *gwin)
if (netsurf_path_to_nsurl(temp, &url) != NSERROR_OK) {
amiga_warn_user("NoMemory", 0);
} else {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
@@ -257,7 +257,7 @@ void ami_file_save_req(int type, struct gui_window_2 *gwin,
}
if(AslRequestTags(savereq,
- ASLFR_Window, gwin->win,
+ ASLFR_Window, ami_gui2_get_window(gwin),
ASLFR_SleepWindow, TRUE,
ASLFR_TitleText, messages_get("NetSurf"),
ASLFR_Screen, scrn,
@@ -267,8 +267,8 @@ void ami_file_save_req(int type, struct gui_window_2 *gwin,
strlcpy(fname, savereq->fr_Drawer, 1024);
AddPart(fname, savereq->fr_File, 1024);
- ami_file_save(type, fname, gwin->win, object,
- ami_gui_get_favicon(gwin->gw),
ami_gui_get_browser_window(gwin->gw));
+ ami_file_save(type, fname, ami_gui2_get_window(gwin), object,
+ ami_gui_get_favicon(ami_gui2_get_gui_window(gwin)),
ami_gui2_get_browser_window(gwin));
}
if(fname) free(fname);
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index ca0fda1..7af15d7 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -193,6 +193,94 @@
extern struct gui_utf8_table *amiga_utf8_table;
+enum
+{
+ OID_MAIN = 0,
+ OID_VSCROLL,
+ OID_HSCROLL,
+ GID_MAIN,
+ GID_TABLAYOUT,
+ GID_BROWSER,
+ GID_STATUS,
+ GID_URL,
+ GID_ICON,
+ GID_STOP,
+ GID_RELOAD,
+ GID_HOME,
+ GID_BACK,
+ GID_FORWARD,
+ GID_THROBBER,
+ GID_SEARCH_ICON,
+ GID_FAVE,
+ GID_FAVE_ADD,
+ GID_FAVE_RMV,
+ GID_CLOSETAB,
+ GID_CLOSETAB_BM,
+ GID_ADDTAB,
+ GID_ADDTAB_BM,
+ GID_TABS,
+ GID_TABS_FLAG,
+ GID_SEARCHSTRING,
+ GID_TOOLBARLAYOUT,
+ GID_HOTLIST,
+ GID_HOTLISTLAYOUT,
+ GID_HOTLISTSEPBAR,
+ GID_HSCROLL,
+ GID_HSCROLLLAYOUT,
+ GID_VSCROLL,
+ GID_VSCROLLLAYOUT,
+ GID_LAST
+};
+
+struct gui_window_2 {
+ struct ami_generic_window w;
+ struct Window *win;
+ Object *restrict objects[GID_LAST];
+ struct gui_window *gw; /* currently-displayed gui_window */
+ bool redraw_required;
+ int throbber_frame;
+ struct List tab_list;
+ ULONG tabs;
+ ULONG next_tab;
+ struct Node *last_new_tab;
+ struct Hook scrollerhook;
+ browser_mouse_state mouse_state;
+ browser_mouse_state key_state;
+ ULONG throbber_update_count;
+ struct find_window *searchwin;
+ ULONG oldh;
+ ULONG oldv;
+ int temp;
+ bool redraw_scroll;
+ bool new_content;
+ struct ami_menu_data *menu_data[AMI_MENU_AREXX_MAX + 1]; /* only for
GadTools menus */
+ ULONG hotlist_items;
+ Object *restrict hotlist_toolbar_lab[AMI_GUI_TOOLBAR_MAX];
+ struct List hotlist_toolbar_list;
+ struct List *web_search_list;
+ Object *search_bm;
+ char *restrict svbuffer;
+ char *restrict status;
+ char *restrict wintitle;
+ char *restrict helphints[GID_LAST];
+ browser_mouse_state prev_mouse_state;
+ struct timeval lastclick;
+ struct AppIcon *appicon; /* iconify appicon */
+ struct DiskObject *dobj; /* iconify appicon */
+ struct Hook favicon_hook;
+ struct Hook throbber_hook;
+ struct Hook *ctxmenu_hook;
+ Object *restrict history_ctxmenu[2];
+ Object *clicktab_ctxmenu;
+ gui_drag_type drag_op;
+ struct IBox *ptr_lock;
+ struct AppWindow *appwin;
+ struct MinList *shared_pens;
+ gui_pointer_shape mouse_pointer;
+ struct Menu *imenu; /* Intuition menu */
+ bool closed; /* Window has been closed (via menu) */
+};
+
struct gui_window
{
struct gui_window_2 *shared;
@@ -214,6 +302,7 @@ struct gui_window
struct MinList *deferred_rects;
struct browser_window *bw;
float scale;
+ struct form_control *control;
};
struct ami_gui_tb_userdata {
@@ -288,13 +377,19 @@ static void gui_window_place_caret(struct gui_window *g,
int x, int y, int heigh
nsoptions[NSOPTION_##OPTION].value.i = VALUE; \
nsoptions_default[NSOPTION_##OPTION].value.i = VALUE
-/* Function documented in gui.h */
+/* Functions documented in gui.h */
struct browser_window *ami_gui_get_browser_window(struct gui_window *gw)
{
assert(gw != NULL);
return gw->bw;
}
+struct browser_window *ami_gui2_get_browser_window(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return ami_gui_get_browser_window(gwin->gw);
+}
+
struct List *ami_gui_get_download_list(struct gui_window *gw)
{
assert(gw != NULL);
@@ -307,6 +402,19 @@ struct gui_window_2 *ami_gui_get_gui_window_2(struct
gui_window *gw)
return gw->shared;
}
+struct gui_window *ami_gui2_get_gui_window(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->gw;
+}
+
+const char *ami_gui_get_win_title(struct gui_window *gw)
+{
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ return (const char *)gw->shared->wintitle;
+}
+
const char *ami_gui_get_tab_title(struct gui_window *gw)
{
assert(gw != NULL);
@@ -319,6 +427,18 @@ struct Node *ami_gui_get_tab_node(struct gui_window *gw)
return gw->tab_node;
}
+ULONG ami_gui2_get_tabs(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->tabs;
+}
+
+struct List *ami_gui2_get_tab_list(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return &gwin->tab_list;
+}
+
struct hlcache_handle *ami_gui_get_favicon(struct gui_window *gw)
{
assert(gw != NULL);
@@ -337,6 +457,16 @@ void ami_gui_set_history_window(struct gui_window *gw,
struct ami_history_local_
gw->hw = hw;
}
+void ami_gui_set_find_window(struct gui_window *gw, struct find_window *fw)
+{
+ /* This needs to be in gui_window_2 as it is shared amongst tabs (I
think),
+ * it just happens that the find code only knows of the gui_window
+ */
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ gw->shared->searchwin = fw;
+}
+
bool ami_gui_get_throbbing(struct gui_window *gw)
{
assert(gw != NULL);
@@ -349,11 +479,66 @@ void ami_gui_set_throbbing(struct gui_window *gw, bool
throbbing)
gw->throbbing = throbbing;
}
-struct Window *ami_gui_get_window(struct gui_window *gw)
+int ami_gui_get_throbber_frame(struct gui_window *gw)
{
assert(gw != NULL);
assert(gw->shared != NULL);
- return gw->shared->win;
+ return gw->shared->throbber_frame;
+}
+
+void ami_gui_set_throbber_frame(struct gui_window *gw, int frame)
+{
+ assert(gw != NULL);
+ assert(gw->shared != NULL);
+ gw->shared->throbber_frame = frame;
+}
+
+Object *ami_gui2_get_object(struct gui_window_2 *gwin, int object_type)
+{
+ ULONG obj = 0;
+
+ assert(gwin != NULL);
+
+ switch(object_type) {
+ case AMI_WIN_MAIN:
+ obj = OID_MAIN;
+ break;
+
+ case AMI_GAD_THROBBER:
+ obj = GID_THROBBER;
+ break;
+
+ case AMI_GAD_TABS:
+ obj = GID_TABS;
+ break;
+
+ case AMI_GAD_URL:
+ obj = GID_URL;
+ break;
+
+ case AMI_GAD_SEARCH:
+ obj = GID_SEARCHSTRING;
+ break;
+
+ default:
+ return NULL;
+ break;
+ }
+
+ return gwin->objects[obj];
+}
+
+
+struct Window *ami_gui2_get_window(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->win;
+}
+
+struct Window *ami_gui_get_window(struct gui_window *gw)
+{
+ assert(gw != NULL);
+ return ami_gui2_get_window(gw->shared);
}
struct Menu *ami_gui_get_menu(struct gui_window *gw)
@@ -368,10 +553,80 @@ void ami_gui2_set_menu(struct gui_window_2 *gwin, struct
Menu *menu)
if(menu != NULL) {
gwin->imenu = menu;
} else {
- ami_gui_menu_freemenus(gwin->imenu);
+ ami_gui_menu_freemenus(gwin->imenu, gwin->menu_data);
}
}
+struct ami_menu_data **ami_gui2_get_menu_data(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->menu_data;
+}
+
+struct form_control *ami_gui_get_control(struct gui_window *gw)
+{
+ assert(gw != NULL);
+ return gw->control;
+}
+
+void ami_gui_set_control(struct gui_window *gw, struct form_control *control)
+{
+ assert(gw != NULL);
+ gw->control = control;
+}
+
+void ami_gui2_set_ctxmenu_history_tmp(struct gui_window_2 *gwin, int temp)
+{
+ assert(gwin != NULL);
+ gwin->temp = temp;
+}
+
+int ami_gui2_get_ctxmenu_history_tmp(struct gui_window_2 *gwin)
+{
+ assert(gwin != NULL);
+ return gwin->temp;
+}
+
+Object *ami_gui2_get_ctxmenu_history(struct gui_window_2 *gwin, ULONG
direction)
+{
+ assert(gwin != NULL);
+ return gwin->history_ctxmenu[direction];
+}
+
+void ami_gui2_set_ctxmenu_history(struct gui_window_2 *gwin, ULONG direction,
Object *ctx_hist)
+{
+ assert(gwin != NULL);
+ gwin->history_ctxmenu[direction] = ctx_hist;
+}
+
+void ami_gui2_set_closed(struct gui_window_2 *gwin, bool closed)
+{
+ assert(gwin != NULL);
+ gwin->closed = closed;
+}
+
+void ami_gui2_set_new_content(struct gui_window_2 *gwin, bool new_content)
+{
+ assert(gwin != NULL);
+ gwin->new_content = new_content;
+}
+
+/** undocumented, or internal, or documented elsewhere **/
+
+void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update)
+{
+ if(gwin->mouse_pointer == shape) return;
+ ami_update_pointer(ami_gui2_get_window(gwin), shape);
+ if(update == true) gwin->mouse_pointer = shape;
+}
+
+/* reset the mouse pointer back to what NetSurf last set it as */
+void ami_reset_pointer(struct gui_window_2 *gwin)
+{
+ ami_update_pointer(ami_gui2_get_window(gwin), gwin->mouse_pointer);
+}
+
+
STRPTR ami_locale_langs(int *codeset)
{
struct Locale *locale;
@@ -3491,7 +3746,7 @@ static void ami_toggletabbar(struct gui_window_2 *gwin,
bool show)
GA_ID, GID_TABS,
GA_RelVerify, TRUE,
GA_Underscore, 13, // disable kb
shortcuts
- GA_ContextMenu,
ami_ctxmenu_clicktab_create(gwin),
+ GA_ContextMenu,
ami_ctxmenu_clicktab_create(gwin, &gwin->clicktab_ctxmenu),
CLICKTAB_Labels, &gwin->tab_list,
CLICKTAB_LabelTruncate, TRUE,
CLICKTAB_CloseImage,
gwin->objects[GID_CLOSETAB_BM],
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index 727b578..359e2dc 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -38,48 +38,21 @@
#define HOOKF(ret,func,type,ptr,msgtype) static ASM ret func(REG(a0, struct
Hook *hook),REG(a2, type ptr), REG(a1, msgtype msg))
#endif
-enum
-{
- OID_MAIN = 0,
- OID_VSCROLL,
- OID_HSCROLL,
- GID_MAIN,
- GID_TABLAYOUT,
- GID_BROWSER,
- GID_STATUS,
- GID_URL,
- GID_ICON,
- GID_STOP,
- GID_RELOAD,
- GID_HOME,
- GID_BACK,
- GID_FORWARD,
- GID_THROBBER,
- GID_SEARCH_ICON,
- GID_FAVE,
- GID_FAVE_ADD,
- GID_FAVE_RMV,
- GID_CLOSETAB,
- GID_CLOSETAB_BM,
- GID_ADDTAB,
- GID_ADDTAB_BM,
- GID_TABS,
- GID_TABS_FLAG,
- GID_SEARCHSTRING,
- GID_TOOLBARLAYOUT,
- GID_HOTLIST,
- GID_HOTLISTLAYOUT,
- GID_HOTLISTSEPBAR,
- GID_HSCROLL,
- GID_HSCROLLLAYOUT,
- GID_VSCROLL,
- GID_VSCROLLLAYOUT,
- GID_LAST
+/* valid options for ami_gui_get_object */
+enum {
+ AMI_GAD_THROBBER = 0,
+ AMI_GAD_TABS,
+ AMI_GAD_URL,
+ AMI_GAD_SEARCH,
+ AMI_WIN_MAIN
};
struct find_window;
struct ami_history_local_window;
struct ami_menu_data;
+struct gui_window;
+struct gui_window_2;
+struct IBox;
#define AMI_GUI_TOOLBAR_MAX 20
@@ -102,61 +75,14 @@ struct ami_generic_window {
const struct ami_win_event_table *tbl;
};
-struct gui_window_2 {
- struct ami_generic_window w;
- struct Window *win;
- Object *restrict objects[GID_LAST];
- struct gui_window *gw; /* currently-displayed gui_window */
- bool redraw_required;
- int throbber_frame;
- struct List tab_list;
- ULONG tabs;
- ULONG next_tab;
- struct Node *last_new_tab;
- struct Hook scrollerhook;
- struct form_control *control;
- browser_mouse_state mouse_state;
- browser_mouse_state key_state;
- ULONG throbber_update_count;
- struct find_window *searchwin;
- ULONG oldh;
- ULONG oldv;
- int temp;
- bool redraw_scroll;
- bool new_content;
- struct ami_menu_data *menu_data[AMI_MENU_AREXX_MAX + 1]; /* only for
GadTools menus */
- ULONG hotlist_items;
- Object *restrict hotlist_toolbar_lab[AMI_GUI_TOOLBAR_MAX];
- struct List hotlist_toolbar_list;
- struct List *web_search_list;
- Object *search_bm;
- char *restrict svbuffer;
- char *restrict status;
- char *restrict wintitle;
- char *restrict helphints[GID_LAST];
- browser_mouse_state prev_mouse_state;
- struct timeval lastclick;
- struct AppIcon *appicon; /* iconify appicon */
- struct DiskObject *dobj; /* iconify appicon */
- struct Hook favicon_hook;
- struct Hook throbber_hook;
- struct Hook *ctxmenu_hook;
- Object *restrict history_ctxmenu[2];
- Object *restrict clicktab_ctxmenu;
- gui_drag_type drag_op;
- struct IBox *ptr_lock;
- struct AppWindow *appwin;
- struct MinList *shared_pens;
- gui_pointer_shape mouse_pointer;
- struct Menu *imenu; /* Intuition menu */
- bool closed; /* Window has been closed (via menu) */
-};
extern struct MinList *window_list; /**\todo stop arexx.c poking about in here
*/
extern struct Screen *scrn;
extern struct MsgPort *sport;
extern struct gui_window *cur_gw;
+#define IS_CURRENT_GW(GWIN,GW) (ami_gui2_get_gui_window(GWIN) == GW)
+
/* The return value for these functions must be deallocated using FreeVec() */
STRPTR ami_locale_langs(int *codeset);
char *ami_gui_get_cache_favicon_name(struct nsurl *url, bool only_if_avail);
@@ -179,7 +105,8 @@ void ami_gui_update_hotlist_button(struct gui_window_2
*gwin);
nserror ami_gui_new_blank_tab(struct gui_window_2 *gwin);
int ami_gui_count_windows(int window, int *tabs);
void ami_gui_set_scale(struct gui_window *gw, float scale);
-
+void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update);
+void ami_reset_pointer(struct gui_window_2 *gwin);
/**
* Close a window and all tabs attached to it.
@@ -262,11 +189,21 @@ void ami_gui_adjust_scale(struct gui_window *gw, float
adjustment);
struct browser_window *ami_gui_get_browser_window(struct gui_window *gw);
/**
+ * Get browser window from gui_window_2
+ */
+struct browser_window *ami_gui2_get_browser_window(struct gui_window_2 *gwin);
+
+/**
* Get gui_window_2 from gui_window
*/
struct gui_window_2 *ami_gui_get_gui_window_2(struct gui_window *gw);
/**
+ * Get gui_window from gui_window_2
+ */
+struct gui_window *ami_gui2_get_gui_window(struct gui_window_2 *gwin);
+
+/**
* Get download list from gui_window
*/
struct List *ami_gui_get_download_list(struct gui_window *gw);
@@ -277,11 +214,26 @@ struct List *ami_gui_get_download_list(struct gui_window
*gw);
const char *ami_gui_get_tab_title(struct gui_window *gw);
/**
+ * Get window title from gui_window
+ */
+const char *ami_gui_get_win_title(struct gui_window *gw);
+
+/**
* Get tab node from gui_window
*/
struct Node *ami_gui_get_tab_node(struct gui_window *gw);
/**
+ * Get tabs from gui_window_2
+ */
+ULONG ami_gui2_get_tabs(struct gui_window_2 *gwin);
+
+/**
+ * Get tab list from gui_window_2
+ */
+struct List *ami_gui2_get_tab_list(struct gui_window_2 *gwin);
+
+/**
* Get favicon from gui_window
*/
struct hlcache_handle *ami_gui_get_favicon(struct gui_window *gw);
@@ -297,29 +249,99 @@ struct ami_history_local_window
*ami_gui_get_history_window(struct gui_window *g
void ami_gui_set_history_window(struct gui_window *gw, struct
ami_history_local_window *hw);
/**
+ * Set search window in gui_window
+ */
+void ami_gui_set_find_window(struct gui_window *gw, struct find_window *fw);
+
+/**
* Get throbbing status from gui_window
*/
bool ami_gui_get_throbbing(struct gui_window *gw);
/**
+ * Get throbbing frame from gui_window
+ */
+int ami_gui_get_throbber_frame(struct gui_window *gw);
+
+/**
+ * Set throbbing frame in gui_window
+ */
+void ami_gui_set_throbber_frame(struct gui_window *gw, int frame);
+
+/**
* Set throbbing status in gui_window
*/
void ami_gui_set_throbbing(struct gui_window *gw, bool throbbing);
/**
+ * Get object from gui_window
+ */
+Object *ami_gui2_get_object(struct gui_window_2 *gwin, int object_type);
+
+/**
* Get window from gui_window
*/
struct Window *ami_gui_get_window(struct gui_window *gw);
/**
+ * Get window from gui_window_2
+ */
+struct Window *ami_gui2_get_window(struct gui_window_2 *gwin);
+
+/**
* Get imenu from gui_window
*/
struct Menu *ami_gui_get_menu(struct gui_window *gw);
/**
- * Set imenu to gui_window_2. A value of NULL will free the menu.
+ * Set imenu to gui_window_2. A value of NULL will free the menu (and
menu_data!)
*/
void ami_gui2_set_menu(struct gui_window_2 *gwin, struct Menu *menu);
+/**
+ * Get menu_data from gui_window_2
+ */
+struct ami_menu_data **ami_gui2_get_menu_data(struct gui_window_2 *gwin);
+
+/**
+ * Get control (for select menu) from gui_window
+ */
+struct form_control *ami_gui_get_control(struct gui_window *gw);
+
+/**
+ * Set control (for select menu) to gui_window
+ */
+void ami_gui_set_control(struct gui_window *gw, struct form_control *control);
+
+/**
+ * Set ctxmenu history tmp in gui_window_2
+ */
+void ami_gui2_set_ctxmenu_history_tmp(struct gui_window_2 *gwin, int temp);
+
+/**
+ * Get ctxmenu history tmp from gui_window_2
+ */
+int ami_gui2_get_ctxmenu_history_tmp(struct gui_window_2 *gwin);
+
+/**
+ * Get ctxmenu history from gui_window_2
+ */
+Object *ami_gui2_get_ctxmenu_history(struct gui_window_2 *gwin, ULONG
direction);
+
+/**
+ * Set ctxmenu history in gui_window_2
+ */
+void ami_gui2_set_ctxmenu_history(struct gui_window_2 *gwin, ULONG direction,
Object *ctx_hist);
+
+/**
+ * Set closed in gui_window_2
+ */
+void ami_gui2_set_closed(struct gui_window_2 *gwin, bool closed);
+
+/**
+ * Set new_content in gui_window_2
+ */
+void ami_gui2_set_new_content(struct gui_window_2 *gwin, bool new_content);
+
#endif
diff --git a/frontends/amiga/gui_menu.c b/frontends/amiga/gui_menu.c
index b86abcb..7eda6bc 100644
--- a/frontends/amiga/gui_menu.c
+++ b/frontends/amiga/gui_menu.c
@@ -141,7 +141,7 @@ HOOKF(void, ami_menu_item_project_save, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_file_save_req(type, gwin,
browser_window_get_content(ami_gui_get_browser_window(gwin->gw)));
+ ami_file_save_req(type, gwin,
browser_window_get_content(ami_gui2_get_browser_window(gwin)));
}
HOOKF(void, ami_menu_item_project_closetab, APTR, window, struct IntuiMessage
*)
@@ -149,7 +149,7 @@ HOOKF(void, ami_menu_item_project_closetab, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_destroy(ami_gui_get_browser_window(gwin->gw));
+ browser_window_destroy(ami_gui2_get_browser_window(gwin));
}
HOOKF(void, ami_menu_item_project_closewin, APTR, window, struct IntuiMessage
*)
@@ -157,7 +157,7 @@ HOOKF(void, ami_menu_item_project_closewin, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- gwin->closed = true;
+ ami_gui2_set_closed(gwin, true);
}
HOOKF(void, ami_menu_item_project_print, APTR, window, struct IntuiMessage *)
@@ -166,7 +166,7 @@ HOOKF(void, ami_menu_item_project_print, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
ami_set_pointer(gwin, GUI_POINTER_WAIT, false);
-
ami_print_ui(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)));
+
ami_print_ui(browser_window_get_content(ami_gui2_get_browser_window(gwin)));
ami_reset_pointer(gwin);
}
@@ -191,7 +191,7 @@ HOOKF(void, ami_menu_item_project_about, APTR, window,
struct IntuiMessage *)
#ifdef __amigaos4__
sel = TimedDosRequesterTags(TDR_ImageType,TDRIMAGE_INFO,
TDR_TitleString, messages_get("NetSurf"),
- TDR_Window, gwin->win,
+ TDR_Window, ami_gui2_get_window(gwin),
TDR_GadgetString, temp2,
TDR_FormatString,"NetSurf %s\nBuild date
%s\n\nhttp://www.netsurf-browser.org",
TDR_Arg1,netsurf_version,
@@ -206,7 +206,7 @@ HOOKF(void, ami_menu_item_project_about, APTR, window,
struct IntuiMessage *)
temp2,
};
- sel = EasyRequest(gwin->win, &about_req, NULL, netsurf_version,
verdate);
+ sel = EasyRequest(ami_gui2_get_window(gwin), &about_req, NULL,
netsurf_version, verdate);
#endif
free(temp2);
@@ -243,7 +243,7 @@ HOOKF(void, ami_menu_item_edit_cut, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CUT_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CUT_SELECTION);
}
HOOKF(void, ami_menu_item_edit_copy, APTR, window, struct IntuiMessage *)
@@ -252,22 +252,22 @@ HOOKF(void, ami_menu_item_edit_copy, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- if(browser_window_can_select(ami_gui_get_browser_window(gwin->gw))) {
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_COPY_SELECTION);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CLEAR_SELECTION);
+ if(browser_window_can_select(ami_gui2_get_browser_window(gwin))) {
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_COPY_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CLEAR_SELECTION);
}
- else if((bm =
content_get_bitmap(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)))))
{
+ else if((bm =
content_get_bitmap(browser_window_get_content(ami_gui2_get_browser_window(gwin)))))
{
/** @todo It should be checked that the lifetime of
* the objects containing the values returned (and the
* constness cast away) is safe.
*/
- ami_bitmap_set_url(bm,
browser_window_access_url(ami_gui_get_browser_window(gwin->gw)));
- ami_bitmap_set_title(bm,
browser_window_get_title(ami_gui_get_browser_window(gwin->gw)));
+ ami_bitmap_set_url(bm,
browser_window_access_url(ami_gui2_get_browser_window(gwin)));
+ ami_bitmap_set_title(bm,
browser_window_get_title(ami_gui2_get_browser_window(gwin)));
ami_easy_clipboard_bitmap(bm);
}
#ifdef WITH_NS_SVG
- else
if(ami_mime_compare(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)),
"svg") == true) {
-
ami_easy_clipboard_svg(browser_window_get_content(ami_gui_get_browser_window(gwin->gw)));
+ else
if(ami_mime_compare(browser_window_get_content(ami_gui2_get_browser_window(gwin)),
"svg") == true) {
+
ami_easy_clipboard_svg(browser_window_get_content(ami_gui2_get_browser_window(gwin)));
}
#endif
}
@@ -277,7 +277,7 @@ HOOKF(void, ami_menu_item_edit_paste, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_PASTE);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_PASTE);
}
HOOKF(void, ami_menu_item_edit_selectall, APTR, window, struct IntuiMessage *)
@@ -285,8 +285,8 @@ HOOKF(void, ami_menu_item_edit_selectall, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_SELECT_ALL);
- gui_start_selection(gwin->gw);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_SELECT_ALL);
+ gui_start_selection(ami_gui2_get_gui_window(gwin));
}
HOOKF(void, ami_menu_item_edit_clearsel, APTR, window, struct IntuiMessage *)
@@ -294,7 +294,7 @@ HOOKF(void, ami_menu_item_edit_clearsel, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_CLEAR_SELECTION);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_CLEAR_SELECTION);
}
HOOKF(void, ami_menu_item_edit_undo, APTR, window, struct IntuiMessage *)
@@ -302,7 +302,7 @@ HOOKF(void, ami_menu_item_edit_undo, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_UNDO);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_UNDO);
}
HOOKF(void, ami_menu_item_edit_redo, APTR, window, struct IntuiMessage *)
@@ -310,7 +310,7 @@ HOOKF(void, ami_menu_item_edit_redo, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- browser_window_key_press(ami_gui_get_browser_window(gwin->gw),
NS_KEY_REDO);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin),
NS_KEY_REDO);
}
HOOKF(void, ami_menu_item_browser_find, APTR, window, struct IntuiMessage *)
@@ -318,7 +318,7 @@ HOOKF(void, ami_menu_item_browser_find, APTR, window,
struct IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_search_open(gwin->gw);
+ ami_search_open(ami_gui2_get_gui_window(gwin));
}
HOOKF(void, ami_menu_item_browser_localhistory, APTR, window, struct
IntuiMessage *)
@@ -326,7 +326,7 @@ HOOKF(void, ami_menu_item_browser_localhistory, APTR,
window, struct IntuiMessag
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_history_local_present(gwin->gw);
+ ami_history_local_present(ami_gui2_get_gui_window(gwin));
}
HOOKF(void, ami_menu_item_browser_globalhistory, APTR, window, struct
IntuiMessage *)
@@ -380,7 +380,7 @@ HOOKF(void, ami_menu_item_browser_scale_decrease, APTR,
window, struct IntuiMess
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_gui_adjust_scale(gwin->gw, -0.1);
+ ami_gui_adjust_scale(ami_gui2_get_gui_window(gwin), -0.1);
}
HOOKF(void, ami_menu_item_browser_scale_normal, APTR, window, struct
IntuiMessage *)
@@ -388,7 +388,7 @@ HOOKF(void, ami_menu_item_browser_scale_normal, APTR,
window, struct IntuiMessag
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_gui_set_scale(gwin->gw, 1.0);
+ ami_gui_set_scale(ami_gui2_get_gui_window(gwin), 1.0);
}
HOOKF(void, ami_menu_item_browser_scale_increase, APTR, window, struct
IntuiMessage *)
@@ -396,7 +396,7 @@ HOOKF(void, ami_menu_item_browser_scale_increase, APTR,
window, struct IntuiMess
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- ami_gui_adjust_scale(gwin->gw, +0.1);
+ ami_gui_adjust_scale(ami_gui2_get_gui_window(gwin), +0.1);
}
HOOKF(void, ami_menu_item_browser_redraw, APTR, window, struct IntuiMessage *)
@@ -405,7 +405,7 @@ HOOKF(void, ami_menu_item_browser_redraw, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
ami_schedule_redraw(gwin, true);
- gwin->new_content = true;
+ ami_gui2_set_new_content(gwin, true);
}
HOOKF(void, ami_menu_item_hotlist_add, APTR, window, struct IntuiMessage *)
@@ -414,7 +414,7 @@ HOOKF(void, ami_menu_item_hotlist_add, APTR, window, struct
IntuiMessage *)
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- bw = ami_gui_get_browser_window(gwin->gw);
+ bw = ami_gui2_get_browser_window(gwin);
if (bw == NULL || browser_window_has_content(bw) == false)
return;
@@ -436,7 +436,7 @@ HOOKF(void, ami_menu_item_hotlist_entries, APTR, window,
struct IntuiMessage *)
if(url == NULL) return;
- browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+ browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
@@ -455,10 +455,10 @@ HOOKF(void, ami_menu_item_settings_snapshot, APTR,
window, struct IntuiMessage *
struct gui_window_2 *gwin;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- nsoption_set_int(window_x, gwin->win->LeftEdge);
- nsoption_set_int(window_y, gwin->win->TopEdge);
- nsoption_set_int(window_width, gwin->win->Width);
- nsoption_set_int(window_height, gwin->win->Height);
+ nsoption_set_int(window_x, ami_gui2_get_window(gwin)->LeftEdge);
+ nsoption_set_int(window_y, ami_gui2_get_window(gwin)->TopEdge);
+ nsoption_set_int(window_width, ami_gui2_get_window(gwin)->Width);
+ nsoption_set_int(window_height, ami_gui2_get_window(gwin)->Height);
}
HOOKF(void, ami_menu_item_settings_save, APTR, window, struct IntuiMessage *)
@@ -473,7 +473,7 @@ HOOKF(void, ami_menu_item_arexx_execute, APTR, window,
struct IntuiMessage *)
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
if(AslRequestTags(filereq,
- ASLFR_Window, gwin->win,
+ ASLFR_Window,
ami_gui2_get_window(gwin),
ASLFR_SleepWindow, TRUE,
ASLFR_TitleText,
messages_get("NetSurf"),
ASLFR_Screen, scrn,
@@ -681,7 +681,7 @@ void ami_gui_menu_update_checked(struct gui_window_2 *gwin)
struct Menu *menustrip;
- GetAttr(WINDOW_MenuStrip, gwin->objects[OID_MAIN], (ULONG *)&menustrip);
+ GetAttr(WINDOW_MenuStrip, ami_gui2_get_object(gwin, AMI_WIN_MAIN),
(ULONG *)&menustrip);
if(!menustrip) return;
if(nsoption_bool(enable_javascript) == true) {
if((ItemAddress(menustrip, ami_gui_menu_number(M_JS))->Flags &
CHECKED) == 0)
@@ -706,7 +706,7 @@ void ami_gui_menu_update_checked(struct gui_window_2 *gwin)
ItemAddress(menustrip,
ami_gui_menu_number(M_IMGBACK))->Flags ^= CHECKED;
}
- ResetMenuStrip(gwin->win, menustrip);
+ ResetMenuStrip(ami_gui2_get_window(gwin), menustrip);
}
void ami_gui_menu_update_disabled(struct gui_window *g, struct hlcache_handle
*c)
@@ -1050,11 +1050,12 @@ struct Menu *ami_gui_menu_create(struct gui_window_2
*gwin)
#endif
} else {
struct Menu *temp_menu;
+ struct ami_menu_data **md = ami_gui2_get_menu_data(gwin);
- ami_init_menulabs(gwin->menu_data);
- ami_menu_scan(gwin->menu_data);
- ami_menu_arexx_scan(gwin->menu_data);
- temp_menu = ami_menu_layout(gwin->menu_data,
AMI_MENU_AREXX_MAX);
+ ami_init_menulabs(md);
+ ami_menu_scan(md);
+ ami_menu_arexx_scan(md);
+ temp_menu = ami_menu_layout(md, AMI_MENU_AREXX_MAX);
ami_gui2_set_menu(gwin, temp_menu);
return temp_menu;
}
@@ -1094,11 +1095,15 @@ static void ami_free_menulabs(struct ami_menu_data **md)
}
}
-void ami_gui_menu_freemenus(struct Menu *menu)
+void ami_gui_menu_freemenus(struct Menu *menu, struct ami_menu_data **md)
{
if(menu != NULL) {
FreeMenus(menu);
}
+
+ if(md != NULL) {
+ ami_free_menulabs(md);
+ }
}
void ami_gui_menu_free(struct gui_window_2 *gwin)
@@ -1107,7 +1112,7 @@ void ami_gui_menu_free(struct gui_window_2 *gwin)
#ifdef __amigaos4__
gui_menu_count--;
- SetAttrs(gwin->objects[OID_MAIN], WINDOW_MenuStrip, NULL,
TAG_DONE);
+ SetAttrs(ami_gui2_get_object(gwin, AMI_WIN_MAIN),
WINDOW_MenuStrip, NULL, TAG_DONE);
if(gui_menu_count == 0) {
ami_free_menulabs(gui_menu_data);
@@ -1117,7 +1122,6 @@ void ami_gui_menu_free(struct gui_window_2 *gwin)
}
#endif
} else {
- ami_free_menulabs(gwin->menu_data);
ami_gui2_set_menu(gwin, NULL);
}
}
diff --git a/frontends/amiga/gui_menu.h b/frontends/amiga/gui_menu.h
index bffe978..ed72c24 100644
--- a/frontends/amiga/gui_menu.h
+++ b/frontends/amiga/gui_menu.h
@@ -109,6 +109,7 @@ struct gui_window;
struct gui_window_2;
struct hlcache_handle;
struct Window;
+struct ami_menu_data;
ULONG ami_gui_menu_number(int item);
struct Menu *ami_gui_menu_create(struct gui_window_2 *gwin);
@@ -158,6 +159,6 @@ bool ami_gui_menu_quit_selected(void);
/**
* Frees a menu. Only used on OS3 and old OS4.
*/
-void ami_gui_menu_freemenus(struct Menu *menu);
+void ami_gui_menu_freemenus(struct Menu *menu, struct ami_menu_data **md);
#endif
diff --git a/frontends/amiga/gui_options.c b/frontends/amiga/gui_options.c
index 7e302c3..9b6cc8d 100755
--- a/frontends/amiga/gui_options.c
+++ b/frontends/amiga/gui_options.c
@@ -83,7 +83,8 @@
enum
{
- GID_OPTS_MAIN = GID_MAIN,
+ OID_MAIN = 0,
+ GID_OPTS_MAIN,
GID_OPTS_HOMEPAGE,
GID_OPTS_HOMEPAGE_DEFAULT,
GID_OPTS_HOMEPAGE_CURRENT,
diff --git a/frontends/amiga/history.c b/frontends/amiga/history.c
index 1b75ad4..2cd2f84 100644
--- a/frontends/amiga/history.c
+++ b/frontends/amiga/history.c
@@ -203,7 +203,7 @@ ami_history_global_drag_end(struct ami_corewindow *ami_cw,
int x, int y)
DisplayBeep(scrn);
} else if(url) {
if((gwin = ami_window_at_pointer(AMINS_WINDOW))) {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
diff --git a/frontends/amiga/hotlist.c b/frontends/amiga/hotlist.c
index 7740d53..e8cf3a1 100644
--- a/frontends/amiga/hotlist.c
+++ b/frontends/amiga/hotlist.c
@@ -254,7 +254,7 @@ ami_hotlist_drag_end(struct ami_corewindow *ami_cw, int x,
int y)
DisplayBeep(scrn);
} else if(url) {
if((gwin = ami_window_at_pointer(AMINS_WINDOW))) {
-
browser_window_navigate(ami_gui_get_browser_window(gwin->gw),
+
browser_window_navigate(ami_gui2_get_browser_window(gwin),
url,
NULL,
BW_NAVIGATE_HISTORY,
diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c
index b210fd4..aad8e4c 100755
--- a/frontends/amiga/search.c
+++ b/frontends/amiga/search.c
@@ -144,9 +144,9 @@ void ami_search_open(struct gui_window *gwin)
if(fwin)
{
browser_window_search_clear(ami_gui_get_browser_window(fwin->gwin));
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = NULL;
+ ami_gui_set_find_window(fwin->gwin, NULL);
fwin->gwin = gwin;
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = fwin;
+ ami_gui_set_find_window(fwin->gwin, fwin);
WindowToFront(fwin->win);
ActivateWindow(fwin->win);
return;
@@ -220,7 +220,7 @@ void ami_search_open(struct gui_window *gwin)
fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_S_MAIN]);
fwin->gwin = gwin;
ami_gui_win_list_add(fwin, AMINS_FINDWINDOW, &ami_search_table);
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = fwin;
+ ami_gui_set_find_window(fwin->gwin, fwin);
ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_S_MAIN],
fwin->win,
NULL, (ULONG)fwin->objects[GID_S_SEARCHSTRING]);
@@ -229,7 +229,7 @@ void ami_search_open(struct gui_window *gwin)
void ami_search_close(void)
{
browser_window_search_clear(ami_gui_get_browser_window(fwin->gwin));
- ami_gui_get_gui_window_2(fwin->gwin)->searchwin = NULL;
+ ami_gui_set_find_window(fwin->gwin, NULL);
DisposeObject(fwin->objects[OID_S_MAIN]);
/* Free local charset version of messages */
diff --git a/frontends/amiga/selectmenu.c b/frontends/amiga/selectmenu.c
index 06f43cc..6fb3cf9 100644
--- a/frontends/amiga/selectmenu.c
+++ b/frontends/amiga/selectmenu.c
@@ -74,7 +74,7 @@ HOOKF(uint32, ami_popup_hook, Object *, item, APTR)
struct gui_window *gwin = hook->h_Data;
if(GetAttr(PMIA_ID, item, &itemid)) {
-
form_select_process_selection(ami_gui_get_gui_window_2(gwin)->control, itemid);
+ form_select_process_selection(ami_gui_get_control(gwin),
itemid);
}
return itemid;
@@ -111,7 +111,7 @@ void gui_create_form_select_menu(struct gui_window *g,
selectmenuhook.h_SubEntry = NULL;
selectmenuhook.h_Data = g;
- ami_gui_get_gui_window_2(g)->control = control;
+ ami_gui_set_control(g, control);
selectmenuobj = PMMENU(form_control_get_name(control)),
PMA_MenuHandler, &selectmenuhook, End;
diff --git a/frontends/amiga/theme.c b/frontends/amiga/theme.c
index 8e2f470..3e6ed86 100644
--- a/frontends/amiga/theme.c
+++ b/frontends/amiga/theme.c
@@ -218,19 +218,6 @@ void gui_window_set_pointer(struct gui_window *g,
gui_pointer_shape shape)
ami_set_pointer(ami_gui_get_gui_window_2(g), shape, true);
}
-void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update)
-{
- if(gwin->mouse_pointer == shape) return;
- ami_update_pointer(gwin->win, shape);
- if(update == true) gwin->mouse_pointer = shape;
-}
-
-/* reset the mouse pointer back to what NetSurf last set it as */
-void ami_reset_pointer(struct gui_window_2 *gwin)
-{
- ami_update_pointer(gwin->win, gwin->mouse_pointer);
-}
-
void ami_update_pointer(struct Window *win, gui_pointer_shape shape)
{
if(ami_drag_has_data()) return; /**\todo check this shouldn't be
drag_in_progress */
@@ -429,16 +416,16 @@ void gui_window_start_throbber(struct gui_window *g)
if(nsoption_bool(kiosk_mode)) return;
#ifdef __amigaos4__
- if(ami_gui_get_tab_node(g) && (ami_gui_get_gui_window_2(g)->tabs > 1))
+ if(ami_gui_get_tab_node(g) &&
(ami_gui2_get_tabs(ami_gui_get_gui_window_2(g)) > 1))
{
SetClickTabNodeAttrs(ami_gui_get_tab_node(g), TNA_Flagged,
TRUE, TAG_DONE);
-
RefreshGadgets((APTR)ami_gui_get_gui_window_2(g)->objects[GID_TABS],
+
RefreshGadgets((APTR)ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_TABS),
ami_gui_get_window(g), NULL);
}
#endif
ami_gui_set_throbbing(g, true);
- if(ami_gui_get_gui_window_2(g)->throbber_frame == 0)
ami_gui_get_gui_window_2(g)->throbber_frame = 1;
+ if(ami_gui_get_throbber_frame(g) == 0) ami_gui_set_throbber_frame(g, 1);
ami_throbber_redraw_schedule(throbber_update_interval, g);
}
@@ -450,16 +437,16 @@ void gui_window_stop_throbber(struct gui_window *g)
if(nsoption_bool(kiosk_mode)) return;
#ifdef __amigaos4__
- if(ami_gui_get_tab_node(g) && (ami_gui_get_gui_window_2(g)->tabs > 1))
+ if(ami_gui_get_tab_node(g) &&
(ami_gui2_get_tabs(ami_gui_get_gui_window_2(g)) > 1))
{
SetClickTabNodeAttrs(ami_gui_get_tab_node(g), TNA_Flagged,
FALSE, TAG_DONE);
-
RefreshGadgets((APTR)ami_gui_get_gui_window_2(g)->objects[GID_TABS],
+
RefreshGadgets((APTR)ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_TABS),
ami_gui_get_window(g), NULL);
}
#endif
- if(g == ami_gui_get_gui_window_2(g)->gw) {
-
if(ami_gui_get_space_box(ami_gui_get_gui_window_2(g)->objects[GID_THROBBER],
&bbox) != NSERROR_OK) {
+ if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g), g)) {
+
if(ami_gui_get_space_box(ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
}
@@ -484,17 +471,17 @@ static void ami_throbber_update(void *p)
int frame = 0;
if(!g) return;
- if(!ami_gui_get_gui_window_2(g)->objects[GID_THROBBER]) return;
+ if(!ami_gui2_get_object(ami_gui_get_gui_window_2(g), AMI_GAD_THROBBER))
return;
if(ami_gui_get_throbbing(g) == true) {
- frame = ami_gui_get_gui_window_2(g)->throbber_frame;
- ami_gui_get_gui_window_2(g)->throbber_frame++;
- if(ami_gui_get_gui_window_2(g)->throbber_frame >
(throbber_frames-1))
- ami_gui_get_gui_window_2(g)->throbber_frame=1;
+ frame = ami_gui_get_throbber_frame(g);
+ ami_gui_set_throbber_frame(g, frame + 1);
+ if(ami_gui_get_throbber_frame(g) > (throbber_frames-1))
+ ami_gui_set_throbber_frame(g, 1);
}
- if(ami_gui_get_gui_window_2(g)->gw == g) {
-
if(ami_gui_get_space_box(ami_gui_get_gui_window_2(g)->objects[GID_THROBBER],
&bbox) != NSERROR_OK) {
+ if(IS_CURRENT_GW(ami_gui_get_gui_window_2(g),g)) {
+
if(ami_gui_get_space_box(ami_gui2_get_object(ami_gui_get_gui_window_2(g),
AMI_GAD_THROBBER), &bbox) != NSERROR_OK) {
amiga_warn_user("NoMemory", "");
return;
}
diff --git a/frontends/amiga/theme.h b/frontends/amiga/theme.h
index 6de7bc1..6ab3c0e 100644
--- a/frontends/amiga/theme.h
+++ b/frontends/amiga/theme.h
@@ -40,8 +40,6 @@ void ami_update_throbber(struct gui_window_2 *g,bool redraw);
void ami_init_mouse_pointers(void);
void ami_mouse_pointers_free(void);
-void ami_set_pointer(struct gui_window_2 *gwin, gui_pointer_shape shape, bool
update);
-void ami_reset_pointer(struct gui_window_2 *gwin);
/* Use the following ONLY if nothing other than the Intuition window pointer
is available,
* and ALWAYS in preference to SetWindowPointer(), as it features more
pointers and uses
* the correct ones specified in user preferences. */
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org