Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/5b849b1e22f21cf349bee...
...commit
http://git.netsurf-browser.org/netsurf.git/commit/5b849b1e22f21cf349bee31...
...tree
http://git.netsurf-browser.org/netsurf.git/tree/5b849b1e22f21cf349bee3103...
The branch, master has been updated
via 5b849b1e22f21cf349bee3103af949f62b344d83 (commit)
via dfc8f5aef4e49a8d23f906b4b36f6c37f07a2dc9 (commit)
via b0974557728a7553ad272040c86ecd81641bdf0f (commit)
via 64bc2a7931606f2165ab513f1d8f129c1f0735b0 (commit)
from a268252629a0f6b31e5f0189454144676dd7ffaa (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=5b849b1e22f21cf349b...
commit 5b849b1e22f21cf349bee3103af949f62b344d83
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Add a TODO for history context menu
diff --git a/frontends/amiga/ctxmenu.c b/frontends/amiga/ctxmenu.c
index a6755e6..f81e159 100644
--- a/frontends/amiga/ctxmenu.c
+++ b/frontends/amiga/ctxmenu.c
@@ -510,6 +510,7 @@ static bool ami_ctxmenu_history(int direction, struct gui_window_2
*gwin, const
IDoMethod(history_root, OM_ADDMEMBER, MStrip,
MA_Type, T_ITEM,
+ /* TODO: MA_Label should be in local charset */
MA_Label, browser_window_history_entry_get_title(entry),
MA_ID, id,
MA_Image, NULL,
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=dfc8f5aef4e49a8d23f...
commit dfc8f5aef4e49a8d23f906b4b36f6c37f07a2dc9
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Quick fix to convert helphints to correct charset
We should probably have our own strings for these
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index e337ede..e08ef59 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -4688,7 +4688,7 @@ static void gui_window_destroy(struct gui_window *g)
free(g->shared->svbuffer);
for(gid = 0; gid < GID_LAST; gid++)
- free(g->shared->helphints[gid]);
+ ami_utf8_free(g->shared->helphints[gid]);
ami_gui_win_list_remove(g->shared);
if(g->tab_node) {
diff --git a/frontends/amiga/misc.c b/frontends/amiga/misc.c
index 532d2f1..822d640 100755
--- a/frontends/amiga/misc.c
+++ b/frontends/amiga/misc.c
@@ -237,7 +237,8 @@ static nserror amiga_path_to_nsurl(const char *path, struct nsurl
**url_out)
}
/**
- * returns a string with escape chars translated.
+ * returns a string with escape chars translated
+ * and string converted to local charset
* (based on remove_underscores from utils.c)
*/
@@ -259,7 +260,8 @@ char *translate_escape_chars(const char *s)
}
}
ret[ii] = '\0';
- return ret;
+
+ return ami_utf8_easy(ret);
}
/**
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=b0974557728a7553ad2...
commit b0974557728a7553ad272040c86ecd81641bdf0f
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Convert find window messages to local charset
diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c
index 3392cca..e633362 100755
--- a/frontends/amiga/search.c
+++ b/frontends/amiga/search.c
@@ -81,11 +81,21 @@ enum
GID_S_LAST
};
+enum {
+ SSTR_TITLE = 0,
+ SSTR_CASE,
+ SSTR_SHOWALL,
+ SSTR_PREV,
+ SSTR_NEXT,
+ SSTR_LAST
+};
+
struct find_window {
struct ami_generic_window w;
struct Window *win;
Object *objects[GID_S_LAST];
struct gui_window *gwin;
+ char *message[SSTR_LAST];
};
static struct find_window *fwin = NULL;
@@ -144,57 +154,63 @@ void ami_search_open(struct gui_window *gwin)
fwin = calloc(1, sizeof(struct find_window));
+ /* Get local charset messages. If any of these are NULL it doesn't matter */
+ fwin->message[SSTR_TITLE] = ami_utf8_easy(messages_get("FindTextNS"));
+ fwin->message[SSTR_CASE] = ami_utf8_easy(messages_get("CaseSens"));
+ fwin->message[SSTR_SHOWALL] = ami_utf8_easy(messages_get("ShowAll"));
+ fwin->message[SSTR_PREV] = ami_utf8_easy(messages_get("Prev"));
+ fwin->message[SSTR_NEXT] = ami_utf8_easy(messages_get("Next"));
+
fwin->objects[OID_S_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
- WA_Title,messages_get("FindTextNS"),
+ WA_Title, fwin->message[SSTR_TITLE],
WA_Activate, TRUE,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_CloseGadget, TRUE,
WA_SizeGadget, TRUE,
- WA_PubScreen,scrn,
- WINDOW_SharedPort,sport,
- WINDOW_UserData,fwin,
+ WA_PubScreen, scrn,
+ WINDOW_SharedPort, sport,
+ WINDOW_UserData, fwin,
WINDOW_IconifyGadget, FALSE,
- WINDOW_LockHeight,TRUE,
+ WINDOW_LockHeight, TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
WINDOW_ParentGroup, fwin->objects[GID_S_MAIN] = LayoutVObj,
LAYOUT_AddChild, fwin->objects[GID_S_SEARCHSTRING] = StringObj,
- GA_ID,GID_S_SEARCHSTRING,
- GA_TabCycle,TRUE,
- GA_RelVerify,TRUE,
+ GA_ID, GID_S_SEARCHSTRING,
+ GA_TabCycle, TRUE,
+ GA_RelVerify, TRUE,
StringEnd,
- CHILD_WeightedHeight,0,
+ CHILD_WeightedHeight, 0,
LAYOUT_AddChild, fwin->objects[GID_S_CASE] = CheckBoxObj,
- GA_ID,GID_S_CASE,
- GA_Text,messages_get("CaseSens"),
- GA_Selected,FALSE,
- GA_TabCycle,TRUE,
- GA_RelVerify,TRUE,
+ GA_ID, GID_S_CASE,
+ GA_Text, fwin->message[SSTR_CASE],
+ GA_Selected, FALSE,
+ GA_TabCycle, TRUE,
+ GA_RelVerify, TRUE,
CheckBoxEnd,
LAYOUT_AddChild, fwin->objects[GID_S_SHOWALL] = CheckBoxObj,
GA_ID,GID_S_SHOWALL,
- GA_Text,messages_get("ShowAll"),
- GA_Selected,FALSE,
- GA_TabCycle,TRUE,
- GA_RelVerify,TRUE,
+ GA_Text, fwin->message[SSTR_SHOWALL],
+ GA_Selected, FALSE,
+ GA_TabCycle, TRUE,
+ GA_RelVerify, TRUE,
CheckBoxEnd,
-
LAYOUT_AddChild, LayoutHObj,
LAYOUT_AddChild, fwin->objects[GID_S_PREV] = ButtonObj,
- GA_ID,GID_S_PREV,
- GA_RelVerify,TRUE,
- GA_Text,messages_get("Prev"),
- GA_TabCycle,TRUE,
- GA_Disabled,TRUE,
+ GA_ID, GID_S_PREV,
+ GA_RelVerify, TRUE,
+ GA_Text, fwin->message[SSTR_PREV],
+ GA_TabCycle, TRUE,
+ GA_Disabled, TRUE,
ButtonEnd,
- CHILD_WeightedHeight,0,
+ CHILD_WeightedHeight, 0,
LAYOUT_AddChild, fwin->objects[GID_S_NEXT] = ButtonObj,
- GA_ID,GID_S_NEXT,
- GA_RelVerify,TRUE,
- GA_Text,messages_get("Next"),
- GA_TabCycle,TRUE,
- GA_Disabled,TRUE,
+ GA_ID, GID_S_NEXT,
+ GA_RelVerify, TRUE,
+ GA_Text, fwin->message[SSTR_NEXT],
+ GA_TabCycle, TRUE,
+ GA_Disabled, TRUE,
ButtonEnd,
LayoutEnd,
CHILD_WeightedHeight,0,
@@ -215,6 +231,12 @@ void ami_search_close(void)
browser_window_search_clear(fwin->gwin->bw);
fwin->gwin->shared->searchwin = NULL;
DisposeObject(fwin->objects[OID_S_MAIN]);
+
+ /* Free local charset version of messages */
+ for(int i = 0; i < SSTR_LAST; i++) {
+ ami_utf8_free(fwin->message[i]);
+ }
+
ami_gui_win_list_remove(fwin);
fwin = NULL;
}
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=64bc2a7931606f2165a...
commit 64bc2a7931606f2165ab513f1d8f129c1f0735b0
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Stop using the same large list of gadget constants everywhere
Saves a small amount of memory
diff --git a/frontends/amiga/download.c b/frontends/amiga/download.c
index 41ff6a6..895d929 100644
--- a/frontends/amiga/download.c
+++ b/frontends/amiga/download.c
@@ -80,10 +80,18 @@
#define APPNOTIFY_StopBackMsg ( TAG_USER + 17 )
#endif
+enum {
+ OID_D_MAIN = 0,
+ GID_D_MAIN,
+ GID_D_STATUS,
+ GID_D_CANCEL,
+ GID_D_LAST
+};
+
struct gui_download_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_D_LAST];
BPTR fh;
uint32 size;
uint32 downloaded;
@@ -183,7 +191,7 @@ static struct gui_download_window
*gui_download_window_create(download_context *
APPNOTIFY_StopBackMsg, bkm,
TAG_DONE);
} else {
- dw->objects[OID_MAIN] = WindowObj,
+ dw->objects[OID_D_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, dw->url,
WA_Activate, TRUE,
@@ -197,9 +205,9 @@ static struct gui_download_window
*gui_download_window_create(download_context *
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, dw->objects[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, dw->objects[GID_STATUS] = FuelGaugeObj,
- GA_ID,GID_STATUS,
+ WINDOW_ParentGroup, dw->objects[GID_D_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, dw->objects[GID_D_STATUS] = FuelGaugeObj,
+ GA_ID,GID_D_STATUS,
GA_Text,messages_get("amiDownload"),
FUELGAUGE_Min,0,
FUELGAUGE_Max,total_size,
@@ -212,8 +220,8 @@ static struct gui_download_window
*gui_download_window_create(download_context *
FuelGaugeEnd,
CHILD_NominalSize,TRUE,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, dw->objects[GID_CANCEL] = ButtonObj,
- GA_ID,GID_CANCEL,
+ LAYOUT_AddChild, dw->objects[GID_D_CANCEL] = ButtonObj,
+ GA_ID,GID_D_CANCEL,
GA_RelVerify,TRUE,
GA_Text,messages_get("Abort"),
GA_TabCycle,TRUE,
@@ -221,7 +229,7 @@ static struct gui_download_window
*gui_download_window_create(download_context *
EndGroup,
EndWindow;
- dw->win = (struct Window *)RA_OpenWindow(dw->objects[OID_MAIN]);
+ dw->win = (struct Window *)RA_OpenWindow(dw->objects[OID_D_MAIN]);
}
dw->ctx = ctx;
@@ -256,7 +264,7 @@ static nserror gui_download_window_data(struct gui_download_window
*dw,
APPNOTIFY_Percentage, dw->progress,
TAG_DONE);
} else {
- RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_STATUS], dw->win, NULL,
+ RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_D_STATUS], dw->win,
NULL,
FUELGAUGE_Level, dw->downloaded,
GA_Text, messages_get("amiDownload"),
FUELGAUGE_VarArgs, va,
@@ -271,7 +279,7 @@ static nserror gui_download_window_data(struct gui_download_window
*dw,
APPNOTIFY_Percentage, 100,
TAG_DONE);
} else {
- RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_STATUS], dw->win, NULL,
+ RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_D_STATUS], dw->win,
NULL,
FUELGAUGE_Level, dw->downloaded,
GA_Text, messages_get("amiDownloadU"),
FUELGAUGE_VarArgs, va,
@@ -330,8 +338,8 @@ static void gui_download_window_done(struct gui_download_window *dw)
downloads_in_progress--;
- if(dw->objects[OID_MAIN] != NULL) {
- DisposeObject(dw->objects[OID_MAIN]);
+ if(dw->objects[OID_D_MAIN] != NULL) {
+ DisposeObject(dw->objects[OID_D_MAIN]);
}
ami_gui_win_list_remove(dw);
@@ -378,14 +386,14 @@ static BOOL ami_download_window_event(void *w)
if(dw == NULL) return FALSE; /* We may not have a real window */
- while((result = RA_HandleInput(dw->objects[OID_MAIN], &code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(dw->objects[OID_D_MAIN], &code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_CANCEL:
+ case GID_D_CANCEL:
ami_download_window_abort(dw);
return TRUE;
break;
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index bf4ec91..62390ce 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -43,7 +43,6 @@ enum
OID_MAIN = 0,
OID_VSCROLL,
OID_HSCROLL,
- OID_LAST, /* for compatibility */
GID_MAIN,
GID_TABLAYOUT,
GID_BROWSER,
@@ -66,15 +65,7 @@ enum
GID_ADDTAB_BM,
GID_TABS,
GID_TABS_FLAG,
- GID_USER,
- GID_PASS,
- GID_LOGIN,
- GID_CANCEL,
- GID_NEXT,
- GID_PREV,
GID_SEARCHSTRING,
- GID_SHOWALL,
- GID_CASE,
GID_TOOLBARLAYOUT,
GID_HOTLIST,
GID_HOTLISTLAYOUT,
diff --git a/frontends/amiga/login.c b/frontends/amiga/login.c
index ca17e7e..0948caa 100755
--- a/frontends/amiga/login.c
+++ b/frontends/amiga/login.c
@@ -61,10 +61,20 @@ enum {
AMI_LOGIN_MSG_MAX
};
+enum {
+ OID_L_MAIN = 0,
+ GID_L_MAIN,
+ GID_L_USER,
+ GID_L_PASS,
+ GID_L_LOGIN,
+ GID_L_CANCEL,
+ GID_L_LAST
+};
+
struct gui_login_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_L_LAST];
nserror (*cb)(const char *username, const char *password, void *pw);
void *cbpw;
nsurl *url;
@@ -128,7 +138,7 @@ nserror gui_401login_open(nsurl *url, const char *realm,
ami_utf8_free(pass_utf8);
}
- lw->objects[OID_MAIN] = WindowObj,
+ lw->objects[OID_L_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, nsurl_access(lw->url),
WA_Activate, TRUE,
@@ -142,7 +152,7 @@ nserror gui_401login_open(nsurl *url, const char *realm,
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, lw->objects[GID_MAIN] = LayoutVObj,
+ WINDOW_ParentGroup, lw->objects[GID_L_MAIN] = LayoutVObj,
LAYOUT_AddChild, StringObj,
STRINGA_TextVal, lwc_string_data(lw->host),
GA_ReadOnly,TRUE,
@@ -159,8 +169,8 @@ nserror gui_401login_open(nsurl *url, const char *realm,
LABEL_Text, lw->messages[AMI_LOGIN_MSG_REALM],
LabelEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, lw->objects[GID_USER] = StringObj,
- GA_ID,GID_USER,
+ LAYOUT_AddChild, lw->objects[GID_L_USER] = StringObj,
+ GA_ID,GID_L_USER,
GA_TabCycle,TRUE,
STRINGA_TextVal, lw->uname,
StringEnd,
@@ -168,8 +178,8 @@ nserror gui_401login_open(nsurl *url, const char *realm,
LABEL_Text, lw->messages[AMI_LOGIN_MSG_USER],
LabelEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, lw->objects[GID_PASS] = StringObj,
- GA_ID,GID_PASS,
+ LAYOUT_AddChild, lw->objects[GID_L_PASS] = StringObj,
+ GA_ID,GID_L_PASS,
STRINGA_HookType,SHK_PASSWORD,
GA_TabCycle,TRUE,
STRINGA_TextVal, lw->pwd,
@@ -179,15 +189,15 @@ nserror gui_401login_open(nsurl *url, const char *realm,
LabelEnd,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, LayoutHObj,
- LAYOUT_AddChild, lw->objects[GID_LOGIN] = ButtonObj,
- GA_ID,GID_LOGIN,
+ LAYOUT_AddChild, lw->objects[GID_L_LOGIN] = ButtonObj,
+ GA_ID,GID_L_LOGIN,
GA_RelVerify,TRUE,
GA_Text, lw->messages[AMI_LOGIN_MSG_LOGIN],
GA_TabCycle,TRUE,
ButtonEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, lw->objects[GID_CANCEL] = ButtonObj,
- GA_ID,GID_CANCEL,
+ LAYOUT_AddChild, lw->objects[GID_L_CANCEL] = ButtonObj,
+ GA_ID,GID_L_CANCEL,
GA_RelVerify,TRUE,
GA_Text, lw->messages[AMI_LOGIN_MSG_CANCEL],
GA_TabCycle,TRUE,
@@ -197,7 +207,7 @@ nserror gui_401login_open(nsurl *url, const char *realm,
EndGroup,
EndWindow;
- lw->win = (struct Window *)RA_OpenWindow(lw->objects[OID_MAIN]);
+ lw->win = (struct Window *)RA_OpenWindow(lw->objects[OID_L_MAIN]);
ami_gui_win_list_add(lw, AMINS_LOGINWINDOW, &ami_login_table);
return NSERROR_OK;
@@ -211,7 +221,7 @@ static void ami_401login_close(void *w)
if (lw->cb != NULL)
lw->cb(NULL, NULL, lw->cbpw);
- DisposeObject(lw->objects[OID_MAIN]);
+ DisposeObject(lw->objects[OID_L_MAIN]);
lwc_string_unref(lw->host);
nsurl_unref(lw->url);
free(lw->realm);
@@ -230,8 +240,8 @@ static void ami_401login_login(struct gui_login_window *lw)
char *pass;
/* Get username and password from string gadgets */
- GetAttr(STRINGA_TextVal,lw->objects[GID_USER],(ULONG *)&user);
- GetAttr(STRINGA_TextVal,lw->objects[GID_PASS],(ULONG *)&pass);
+ GetAttr(STRINGA_TextVal,lw->objects[GID_L_USER],(ULONG *)&user);
+ GetAttr(STRINGA_TextVal,lw->objects[GID_L_PASS],(ULONG *)&pass);
/* Convert from local charset to UTF-8 */
char *user_utf8 = ami_to_utf8_easy(user);
@@ -260,19 +270,19 @@ static BOOL ami_401login_event(void *w)
ULONG result;
uint16 code;
- while((result = RA_HandleInput(lw->objects[OID_MAIN], &code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(lw->objects[OID_L_MAIN], &code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_LOGIN:
+ case GID_L_LOGIN:
ami_401login_login(lw);
return TRUE;
break;
- case GID_CANCEL:
+ case GID_L_CANCEL:
ami_401login_close(lw);
return TRUE;
break;
diff --git a/frontends/amiga/print.c b/frontends/amiga/print.c
index 8c85654..05f068b 100644
--- a/frontends/amiga/print.c
+++ b/frontends/amiga/print.c
@@ -73,6 +73,20 @@ bool ami_print_dump(void);
void ami_print_progress(void);
void ami_print_close_device(void);
+enum
+{
+ POID_MAIN = 0,
+ POID_LAST,
+ PGID_MAIN,
+ PGID_PRINTER,
+ PGID_SCALE,
+ PGID_COPIES,
+ PGID_PRINT,
+ PGID_CANCEL,
+ PGID_STATUS,
+ PGID_LAST
+};
+
const struct printer amiprinter = {
&amiplot,
ami_print_begin,
@@ -91,30 +105,19 @@ struct ami_printer_info
struct print_settings *ps;
int page;
int pages;
- Object *gadgets[GID_LAST];
- Object *objects[OID_LAST];
+ Object *gadgets[PGID_LAST];
+ Object *objects[POID_LAST];
struct Window *win;
};
struct ami_print_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[OID_LAST];
- Object *gadgets[GID_LAST];
+ Object *objects[POID_LAST];
+ Object *gadgets[PGID_LAST];
struct hlcache_handle *c;
};
-enum
-{
- PGID_MAIN=0,
- PGID_PRINTER,
- PGID_SCALE,
- PGID_COPIES,
- PGID_PRINT,
- PGID_CANCEL,
- PGID_LAST
-};
-
#define IFFPrefChunkCnt 2
static LONG IFFPrefChunks[] =
{
@@ -265,7 +268,7 @@ void ami_print_ui(struct hlcache_handle *c)
ami_print_ui_setup();
- pw->objects[OID_MAIN] = WindowObj,
+ pw->objects[POID_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, gadlab[PGID_PRINT],
WA_Activate, TRUE,
@@ -328,7 +331,7 @@ void ami_print_ui(struct hlcache_handle *c)
GA_TabCycle,TRUE,
ButtonEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, pw->gadgets[GID_CANCEL] = ButtonObj,
+ LAYOUT_AddChild, pw->gadgets[PGID_CANCEL] = ButtonObj,
GA_ID, PGID_CANCEL,
GA_RelVerify, TRUE,
GA_Text, gadlab[PGID_CANCEL],
@@ -339,13 +342,13 @@ void ami_print_ui(struct hlcache_handle *c)
EndGroup,
EndWindow;
- pw->win = (struct Window *)RA_OpenWindow(pw->objects[OID_MAIN]);
+ pw->win = (struct Window *)RA_OpenWindow(pw->objects[POID_MAIN]);
ami_gui_win_list_add(pw, AMINS_PRINTWINDOW, &ami_print_table);
}
static void ami_print_close(struct ami_print_window *pw)
{
- DisposeObject(pw->objects[OID_MAIN]);
+ DisposeObject(pw->objects[POID_MAIN]);
ami_gui_win_list_remove(pw);
ami_print_ui_free();
@@ -362,7 +365,7 @@ static BOOL ami_print_event(void *w)
int print_scale;
int printer_unit;
- while((result = RA_HandleInput(pw->objects[OID_MAIN],&code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(pw->objects[POID_MAIN],&code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
@@ -509,7 +512,7 @@ bool ami_print_next_page(void)
{
ami_print_info.page++;
- RefreshSetGadgetAttrs((struct Gadget *)ami_print_info.gadgets[GID_STATUS],
+ RefreshSetGadgetAttrs((struct Gadget *)ami_print_info.gadgets[PGID_STATUS],
ami_print_info.win, NULL,
FUELGAUGE_Level, ami_print_info.page,
TAG_DONE);
@@ -519,7 +522,7 @@ bool ami_print_next_page(void)
void ami_print_end(void)
{
ami_plot_ra_free(ami_print_info.gg);
- DisposeObject(ami_print_info.objects[OID_MAIN]);
+ DisposeObject(ami_print_info.objects[POID_MAIN]);
ami_print_close_device();
ami_print_free();
@@ -554,7 +557,7 @@ bool ami_print_dump(void)
void ami_print_progress(void)
{
- ami_print_info.objects[OID_MAIN] = WindowObj,
+ ami_print_info.objects[POID_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, messages_get("Printing"),
WA_Activate, TRUE,
@@ -568,9 +571,9 @@ void ami_print_progress(void)
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, ami_print_info.gadgets[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, ami_print_info.gadgets[GID_STATUS] = FuelGaugeObj,
- GA_ID,GID_STATUS,
+ WINDOW_ParentGroup, ami_print_info.gadgets[PGID_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, ami_print_info.gadgets[PGID_STATUS] = FuelGaugeObj,
+ GA_ID,PGID_STATUS,
FUELGAUGE_Min,0,
FUELGAUGE_Max,ami_print_info.pages,
FUELGAUGE_Level,0,
@@ -582,8 +585,8 @@ void ami_print_progress(void)
CHILD_NominalSize,TRUE,
CHILD_WeightedHeight,0,
/*
- LAYOUT_AddChild, ami_print_info.gadgets[GID_CANCEL] = ButtonObj,
- GA_ID,GID_CANCEL,
+ LAYOUT_AddChild, ami_print_info.gadgets[PGID_CANCEL] = ButtonObj,
+ GA_ID,PGID_CANCEL,
GA_Disabled,TRUE,
GA_RelVerify,TRUE,
GA_Text,messages_get("Abort"),
@@ -593,6 +596,6 @@ void ami_print_progress(void)
EndGroup,
EndWindow;
- ami_print_info.win = (struct Window *)RA_OpenWindow(ami_print_info.objects[OID_MAIN]);
+ ami_print_info.win = (struct Window *)RA_OpenWindow(ami_print_info.objects[POID_MAIN]);
}
diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c
index 99ee5b4..3392cca 100755
--- a/frontends/amiga/search.c
+++ b/frontends/amiga/search.c
@@ -61,6 +61,7 @@
#include "amiga/search.h"
#include "amiga/object.h"
#include "amiga/theme.h"
+#include "amiga/utf8.h"
#ifndef NOF_ELEMENTS
#define NOF_ELEMENTS(array) (sizeof(array)/sizeof(*(array)))
@@ -68,10 +69,22 @@
static bool search_insert;
+enum
+{
+ OID_S_MAIN = 0,
+ GID_S_MAIN,
+ GID_S_NEXT,
+ GID_S_PREV,
+ GID_S_SEARCHSTRING,
+ GID_S_SHOWALL,
+ GID_S_CASE,
+ GID_S_LAST
+};
+
struct find_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_S_LAST];
struct gui_window *gwin;
};
@@ -131,7 +144,7 @@ void ami_search_open(struct gui_window *gwin)
fwin = calloc(1, sizeof(struct find_window));
- fwin->objects[OID_MAIN] = WindowObj,
+ fwin->objects[OID_S_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title,messages_get("FindTextNS"),
WA_Activate, TRUE,
@@ -145,22 +158,22 @@ void ami_search_open(struct gui_window *gwin)
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, fwin->objects[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, fwin->objects[GID_SEARCHSTRING] = StringObj,
- GA_ID,GID_SEARCHSTRING,
+ WINDOW_ParentGroup, fwin->objects[GID_S_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, fwin->objects[GID_S_SEARCHSTRING] = StringObj,
+ GA_ID,GID_S_SEARCHSTRING,
GA_TabCycle,TRUE,
GA_RelVerify,TRUE,
StringEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, fwin->objects[GID_CASE] = CheckBoxObj,
- GA_ID,GID_CASE,
+ LAYOUT_AddChild, fwin->objects[GID_S_CASE] = CheckBoxObj,
+ GA_ID,GID_S_CASE,
GA_Text,messages_get("CaseSens"),
GA_Selected,FALSE,
GA_TabCycle,TRUE,
GA_RelVerify,TRUE,
CheckBoxEnd,
- LAYOUT_AddChild, fwin->objects[GID_SHOWALL] = CheckBoxObj,
- GA_ID,GID_SHOWALL,
+ LAYOUT_AddChild, fwin->objects[GID_S_SHOWALL] = CheckBoxObj,
+ GA_ID,GID_S_SHOWALL,
GA_Text,messages_get("ShowAll"),
GA_Selected,FALSE,
GA_TabCycle,TRUE,
@@ -168,16 +181,16 @@ void ami_search_open(struct gui_window *gwin)
CheckBoxEnd,
LAYOUT_AddChild, LayoutHObj,
- LAYOUT_AddChild, fwin->objects[GID_PREV] = ButtonObj,
- GA_ID,GID_PREV,
+ LAYOUT_AddChild, fwin->objects[GID_S_PREV] = ButtonObj,
+ GA_ID,GID_S_PREV,
GA_RelVerify,TRUE,
GA_Text,messages_get("Prev"),
GA_TabCycle,TRUE,
GA_Disabled,TRUE,
ButtonEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, fwin->objects[GID_NEXT] = ButtonObj,
- GA_ID,GID_NEXT,
+ LAYOUT_AddChild, fwin->objects[GID_S_NEXT] = ButtonObj,
+ GA_ID,GID_S_NEXT,
GA_RelVerify,TRUE,
GA_Text,messages_get("Next"),
GA_TabCycle,TRUE,
@@ -188,20 +201,20 @@ void ami_search_open(struct gui_window *gwin)
EndGroup,
EndWindow;
- fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_MAIN]);
+ 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);
gwin->shared->searchwin = fwin;
- ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_MAIN], fwin->win,
- NULL, (ULONG)fwin->objects[GID_SEARCHSTRING]);
+ ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_S_MAIN], fwin->win,
+ NULL, (ULONG)fwin->objects[GID_S_SEARCHSTRING]);
}
void ami_search_close(void)
{
browser_window_search_clear(fwin->gwin->bw);
fwin->gwin->shared->searchwin = NULL;
- DisposeObject(fwin->objects[OID_MAIN]);
+ DisposeObject(fwin->objects[OID_S_MAIN]);
ami_gui_win_list_remove(fwin);
fwin = NULL;
}
@@ -213,29 +226,29 @@ static BOOL ami_search_event(void *w)
uint16 code;
search_flags_t flags;
- while((result = RA_HandleInput(fwin->objects[OID_MAIN],&code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(fwin->objects[OID_S_MAIN],&code)) !=
WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_SEARCHSTRING:
+ case GID_S_SEARCHSTRING:
browser_window_search_clear(fwin->gwin->bw);
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_PREV],
fwin->win, NULL,
GA_Disabled, FALSE,
TAG_DONE);
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_NEXT],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_NEXT],
fwin->win, NULL,
GA_Disabled, FALSE,
TAG_DONE);
/* fall through */
- case GID_NEXT:
+ case GID_S_NEXT:
search_insert = true;
flags = SEARCH_FLAG_FORWARDS |
ami_search_flags();
@@ -246,7 +259,7 @@ static BOOL ami_search_event(void *w)
ActivateWindow(fwin->gwin->shared->win);
break;
- case GID_PREV:
+ case GID_S_PREV:
search_insert = true;
flags = ~SEARCH_FLAG_FORWARDS &
ami_search_flags();
@@ -299,7 +312,7 @@ void ami_search_set_hourglass(bool active, void *p)
char *ami_search_string(void)
{
char *text;
- GetAttr(STRINGA_TextVal,fwin->objects[GID_SEARCHSTRING],(ULONG *)&text);
+ GetAttr(STRINGA_TextVal,fwin->objects[GID_S_SEARCHSTRING],(ULONG *)&text);
return text;
}
@@ -325,7 +338,7 @@ void ami_search_add_recent(const char *string, void *p)
void ami_search_set_forward_state(bool active, void *p)
{
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_NEXT],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_NEXT],
fwin->win, NULL,
GA_Disabled, active ? FALSE : TRUE, TAG_DONE);
@@ -339,7 +352,7 @@ void ami_search_set_forward_state(bool active, void *p)
void ami_search_set_back_state(bool active, void *p)
{
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_PREV],
fwin->win, NULL,
GA_Disabled, active ? FALSE : TRUE, TAG_DONE);
}
@@ -352,8 +365,8 @@ search_flags_t ami_search_flags(void)
{
ULONG case_sensitive, showall;
search_flags_t flags;
- GetAttr(GA_Selected,fwin->objects[GID_CASE],(ULONG *)&case_sensitive);
- GetAttr(GA_Selected,fwin->objects[GID_SHOWALL],(ULONG *)&showall);
+ GetAttr(GA_Selected,fwin->objects[GID_S_CASE],(ULONG *)&case_sensitive);
+ GetAttr(GA_Selected,fwin->objects[GID_S_SHOWALL],(ULONG *)&showall);
flags = 0 | (case_sensitive ? SEARCH_FLAG_CASE_SENSITIVE : 0) |
(showall ? SEARCH_FLAG_SHOWALL : 0);
return flags;
-----------------------------------------------------------------------
Summary of changes:
frontends/amiga/ctxmenu.c | 1 +
frontends/amiga/download.c | 36 ++++++-----
frontends/amiga/gui.c | 2 +-
frontends/amiga/gui.h | 9 ---
frontends/amiga/login.c | 46 ++++++++------
frontends/amiga/misc.c | 6 +-
frontends/amiga/print.c | 61 ++++++++++---------
frontends/amiga/search.c | 143 +++++++++++++++++++++++++++-----------------
8 files changed, 177 insertions(+), 127 deletions(-)
diff --git a/frontends/amiga/ctxmenu.c b/frontends/amiga/ctxmenu.c
index a6755e6..f81e159 100644
--- a/frontends/amiga/ctxmenu.c
+++ b/frontends/amiga/ctxmenu.c
@@ -510,6 +510,7 @@ static bool ami_ctxmenu_history(int direction, struct gui_window_2
*gwin, const
IDoMethod(history_root, OM_ADDMEMBER, MStrip,
MA_Type, T_ITEM,
+ /* TODO: MA_Label should be in local charset */
MA_Label, browser_window_history_entry_get_title(entry),
MA_ID, id,
MA_Image, NULL,
diff --git a/frontends/amiga/download.c b/frontends/amiga/download.c
index 41ff6a6..895d929 100644
--- a/frontends/amiga/download.c
+++ b/frontends/amiga/download.c
@@ -80,10 +80,18 @@
#define APPNOTIFY_StopBackMsg ( TAG_USER + 17 )
#endif
+enum {
+ OID_D_MAIN = 0,
+ GID_D_MAIN,
+ GID_D_STATUS,
+ GID_D_CANCEL,
+ GID_D_LAST
+};
+
struct gui_download_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_D_LAST];
BPTR fh;
uint32 size;
uint32 downloaded;
@@ -183,7 +191,7 @@ static struct gui_download_window
*gui_download_window_create(download_context *
APPNOTIFY_StopBackMsg, bkm,
TAG_DONE);
} else {
- dw->objects[OID_MAIN] = WindowObj,
+ dw->objects[OID_D_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, dw->url,
WA_Activate, TRUE,
@@ -197,9 +205,9 @@ static struct gui_download_window
*gui_download_window_create(download_context *
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, dw->objects[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, dw->objects[GID_STATUS] = FuelGaugeObj,
- GA_ID,GID_STATUS,
+ WINDOW_ParentGroup, dw->objects[GID_D_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, dw->objects[GID_D_STATUS] = FuelGaugeObj,
+ GA_ID,GID_D_STATUS,
GA_Text,messages_get("amiDownload"),
FUELGAUGE_Min,0,
FUELGAUGE_Max,total_size,
@@ -212,8 +220,8 @@ static struct gui_download_window
*gui_download_window_create(download_context *
FuelGaugeEnd,
CHILD_NominalSize,TRUE,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, dw->objects[GID_CANCEL] = ButtonObj,
- GA_ID,GID_CANCEL,
+ LAYOUT_AddChild, dw->objects[GID_D_CANCEL] = ButtonObj,
+ GA_ID,GID_D_CANCEL,
GA_RelVerify,TRUE,
GA_Text,messages_get("Abort"),
GA_TabCycle,TRUE,
@@ -221,7 +229,7 @@ static struct gui_download_window
*gui_download_window_create(download_context *
EndGroup,
EndWindow;
- dw->win = (struct Window *)RA_OpenWindow(dw->objects[OID_MAIN]);
+ dw->win = (struct Window *)RA_OpenWindow(dw->objects[OID_D_MAIN]);
}
dw->ctx = ctx;
@@ -256,7 +264,7 @@ static nserror gui_download_window_data(struct gui_download_window
*dw,
APPNOTIFY_Percentage, dw->progress,
TAG_DONE);
} else {
- RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_STATUS], dw->win, NULL,
+ RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_D_STATUS], dw->win,
NULL,
FUELGAUGE_Level, dw->downloaded,
GA_Text, messages_get("amiDownload"),
FUELGAUGE_VarArgs, va,
@@ -271,7 +279,7 @@ static nserror gui_download_window_data(struct gui_download_window
*dw,
APPNOTIFY_Percentage, 100,
TAG_DONE);
} else {
- RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_STATUS], dw->win, NULL,
+ RefreshSetGadgetAttrs((struct Gadget *)dw->objects[GID_D_STATUS], dw->win,
NULL,
FUELGAUGE_Level, dw->downloaded,
GA_Text, messages_get("amiDownloadU"),
FUELGAUGE_VarArgs, va,
@@ -330,8 +338,8 @@ static void gui_download_window_done(struct gui_download_window *dw)
downloads_in_progress--;
- if(dw->objects[OID_MAIN] != NULL) {
- DisposeObject(dw->objects[OID_MAIN]);
+ if(dw->objects[OID_D_MAIN] != NULL) {
+ DisposeObject(dw->objects[OID_D_MAIN]);
}
ami_gui_win_list_remove(dw);
@@ -378,14 +386,14 @@ static BOOL ami_download_window_event(void *w)
if(dw == NULL) return FALSE; /* We may not have a real window */
- while((result = RA_HandleInput(dw->objects[OID_MAIN], &code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(dw->objects[OID_D_MAIN], &code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_CANCEL:
+ case GID_D_CANCEL:
ami_download_window_abort(dw);
return TRUE;
break;
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index e337ede..e08ef59 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -4688,7 +4688,7 @@ static void gui_window_destroy(struct gui_window *g)
free(g->shared->svbuffer);
for(gid = 0; gid < GID_LAST; gid++)
- free(g->shared->helphints[gid]);
+ ami_utf8_free(g->shared->helphints[gid]);
ami_gui_win_list_remove(g->shared);
if(g->tab_node) {
diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h
index bf4ec91..62390ce 100644
--- a/frontends/amiga/gui.h
+++ b/frontends/amiga/gui.h
@@ -43,7 +43,6 @@ enum
OID_MAIN = 0,
OID_VSCROLL,
OID_HSCROLL,
- OID_LAST, /* for compatibility */
GID_MAIN,
GID_TABLAYOUT,
GID_BROWSER,
@@ -66,15 +65,7 @@ enum
GID_ADDTAB_BM,
GID_TABS,
GID_TABS_FLAG,
- GID_USER,
- GID_PASS,
- GID_LOGIN,
- GID_CANCEL,
- GID_NEXT,
- GID_PREV,
GID_SEARCHSTRING,
- GID_SHOWALL,
- GID_CASE,
GID_TOOLBARLAYOUT,
GID_HOTLIST,
GID_HOTLISTLAYOUT,
diff --git a/frontends/amiga/login.c b/frontends/amiga/login.c
index ca17e7e..0948caa 100755
--- a/frontends/amiga/login.c
+++ b/frontends/amiga/login.c
@@ -61,10 +61,20 @@ enum {
AMI_LOGIN_MSG_MAX
};
+enum {
+ OID_L_MAIN = 0,
+ GID_L_MAIN,
+ GID_L_USER,
+ GID_L_PASS,
+ GID_L_LOGIN,
+ GID_L_CANCEL,
+ GID_L_LAST
+};
+
struct gui_login_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_L_LAST];
nserror (*cb)(const char *username, const char *password, void *pw);
void *cbpw;
nsurl *url;
@@ -128,7 +138,7 @@ nserror gui_401login_open(nsurl *url, const char *realm,
ami_utf8_free(pass_utf8);
}
- lw->objects[OID_MAIN] = WindowObj,
+ lw->objects[OID_L_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, nsurl_access(lw->url),
WA_Activate, TRUE,
@@ -142,7 +152,7 @@ nserror gui_401login_open(nsurl *url, const char *realm,
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, lw->objects[GID_MAIN] = LayoutVObj,
+ WINDOW_ParentGroup, lw->objects[GID_L_MAIN] = LayoutVObj,
LAYOUT_AddChild, StringObj,
STRINGA_TextVal, lwc_string_data(lw->host),
GA_ReadOnly,TRUE,
@@ -159,8 +169,8 @@ nserror gui_401login_open(nsurl *url, const char *realm,
LABEL_Text, lw->messages[AMI_LOGIN_MSG_REALM],
LabelEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, lw->objects[GID_USER] = StringObj,
- GA_ID,GID_USER,
+ LAYOUT_AddChild, lw->objects[GID_L_USER] = StringObj,
+ GA_ID,GID_L_USER,
GA_TabCycle,TRUE,
STRINGA_TextVal, lw->uname,
StringEnd,
@@ -168,8 +178,8 @@ nserror gui_401login_open(nsurl *url, const char *realm,
LABEL_Text, lw->messages[AMI_LOGIN_MSG_USER],
LabelEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, lw->objects[GID_PASS] = StringObj,
- GA_ID,GID_PASS,
+ LAYOUT_AddChild, lw->objects[GID_L_PASS] = StringObj,
+ GA_ID,GID_L_PASS,
STRINGA_HookType,SHK_PASSWORD,
GA_TabCycle,TRUE,
STRINGA_TextVal, lw->pwd,
@@ -179,15 +189,15 @@ nserror gui_401login_open(nsurl *url, const char *realm,
LabelEnd,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, LayoutHObj,
- LAYOUT_AddChild, lw->objects[GID_LOGIN] = ButtonObj,
- GA_ID,GID_LOGIN,
+ LAYOUT_AddChild, lw->objects[GID_L_LOGIN] = ButtonObj,
+ GA_ID,GID_L_LOGIN,
GA_RelVerify,TRUE,
GA_Text, lw->messages[AMI_LOGIN_MSG_LOGIN],
GA_TabCycle,TRUE,
ButtonEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, lw->objects[GID_CANCEL] = ButtonObj,
- GA_ID,GID_CANCEL,
+ LAYOUT_AddChild, lw->objects[GID_L_CANCEL] = ButtonObj,
+ GA_ID,GID_L_CANCEL,
GA_RelVerify,TRUE,
GA_Text, lw->messages[AMI_LOGIN_MSG_CANCEL],
GA_TabCycle,TRUE,
@@ -197,7 +207,7 @@ nserror gui_401login_open(nsurl *url, const char *realm,
EndGroup,
EndWindow;
- lw->win = (struct Window *)RA_OpenWindow(lw->objects[OID_MAIN]);
+ lw->win = (struct Window *)RA_OpenWindow(lw->objects[OID_L_MAIN]);
ami_gui_win_list_add(lw, AMINS_LOGINWINDOW, &ami_login_table);
return NSERROR_OK;
@@ -211,7 +221,7 @@ static void ami_401login_close(void *w)
if (lw->cb != NULL)
lw->cb(NULL, NULL, lw->cbpw);
- DisposeObject(lw->objects[OID_MAIN]);
+ DisposeObject(lw->objects[OID_L_MAIN]);
lwc_string_unref(lw->host);
nsurl_unref(lw->url);
free(lw->realm);
@@ -230,8 +240,8 @@ static void ami_401login_login(struct gui_login_window *lw)
char *pass;
/* Get username and password from string gadgets */
- GetAttr(STRINGA_TextVal,lw->objects[GID_USER],(ULONG *)&user);
- GetAttr(STRINGA_TextVal,lw->objects[GID_PASS],(ULONG *)&pass);
+ GetAttr(STRINGA_TextVal,lw->objects[GID_L_USER],(ULONG *)&user);
+ GetAttr(STRINGA_TextVal,lw->objects[GID_L_PASS],(ULONG *)&pass);
/* Convert from local charset to UTF-8 */
char *user_utf8 = ami_to_utf8_easy(user);
@@ -260,19 +270,19 @@ static BOOL ami_401login_event(void *w)
ULONG result;
uint16 code;
- while((result = RA_HandleInput(lw->objects[OID_MAIN], &code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(lw->objects[OID_L_MAIN], &code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_LOGIN:
+ case GID_L_LOGIN:
ami_401login_login(lw);
return TRUE;
break;
- case GID_CANCEL:
+ case GID_L_CANCEL:
ami_401login_close(lw);
return TRUE;
break;
diff --git a/frontends/amiga/misc.c b/frontends/amiga/misc.c
index 532d2f1..822d640 100755
--- a/frontends/amiga/misc.c
+++ b/frontends/amiga/misc.c
@@ -237,7 +237,8 @@ static nserror amiga_path_to_nsurl(const char *path, struct nsurl
**url_out)
}
/**
- * returns a string with escape chars translated.
+ * returns a string with escape chars translated
+ * and string converted to local charset
* (based on remove_underscores from utils.c)
*/
@@ -259,7 +260,8 @@ char *translate_escape_chars(const char *s)
}
}
ret[ii] = '\0';
- return ret;
+
+ return ami_utf8_easy(ret);
}
/**
diff --git a/frontends/amiga/print.c b/frontends/amiga/print.c
index 8c85654..05f068b 100644
--- a/frontends/amiga/print.c
+++ b/frontends/amiga/print.c
@@ -73,6 +73,20 @@ bool ami_print_dump(void);
void ami_print_progress(void);
void ami_print_close_device(void);
+enum
+{
+ POID_MAIN = 0,
+ POID_LAST,
+ PGID_MAIN,
+ PGID_PRINTER,
+ PGID_SCALE,
+ PGID_COPIES,
+ PGID_PRINT,
+ PGID_CANCEL,
+ PGID_STATUS,
+ PGID_LAST
+};
+
const struct printer amiprinter = {
&amiplot,
ami_print_begin,
@@ -91,30 +105,19 @@ struct ami_printer_info
struct print_settings *ps;
int page;
int pages;
- Object *gadgets[GID_LAST];
- Object *objects[OID_LAST];
+ Object *gadgets[PGID_LAST];
+ Object *objects[POID_LAST];
struct Window *win;
};
struct ami_print_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[OID_LAST];
- Object *gadgets[GID_LAST];
+ Object *objects[POID_LAST];
+ Object *gadgets[PGID_LAST];
struct hlcache_handle *c;
};
-enum
-{
- PGID_MAIN=0,
- PGID_PRINTER,
- PGID_SCALE,
- PGID_COPIES,
- PGID_PRINT,
- PGID_CANCEL,
- PGID_LAST
-};
-
#define IFFPrefChunkCnt 2
static LONG IFFPrefChunks[] =
{
@@ -265,7 +268,7 @@ void ami_print_ui(struct hlcache_handle *c)
ami_print_ui_setup();
- pw->objects[OID_MAIN] = WindowObj,
+ pw->objects[POID_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, gadlab[PGID_PRINT],
WA_Activate, TRUE,
@@ -328,7 +331,7 @@ void ami_print_ui(struct hlcache_handle *c)
GA_TabCycle,TRUE,
ButtonEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, pw->gadgets[GID_CANCEL] = ButtonObj,
+ LAYOUT_AddChild, pw->gadgets[PGID_CANCEL] = ButtonObj,
GA_ID, PGID_CANCEL,
GA_RelVerify, TRUE,
GA_Text, gadlab[PGID_CANCEL],
@@ -339,13 +342,13 @@ void ami_print_ui(struct hlcache_handle *c)
EndGroup,
EndWindow;
- pw->win = (struct Window *)RA_OpenWindow(pw->objects[OID_MAIN]);
+ pw->win = (struct Window *)RA_OpenWindow(pw->objects[POID_MAIN]);
ami_gui_win_list_add(pw, AMINS_PRINTWINDOW, &ami_print_table);
}
static void ami_print_close(struct ami_print_window *pw)
{
- DisposeObject(pw->objects[OID_MAIN]);
+ DisposeObject(pw->objects[POID_MAIN]);
ami_gui_win_list_remove(pw);
ami_print_ui_free();
@@ -362,7 +365,7 @@ static BOOL ami_print_event(void *w)
int print_scale;
int printer_unit;
- while((result = RA_HandleInput(pw->objects[OID_MAIN],&code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(pw->objects[POID_MAIN],&code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
@@ -509,7 +512,7 @@ bool ami_print_next_page(void)
{
ami_print_info.page++;
- RefreshSetGadgetAttrs((struct Gadget *)ami_print_info.gadgets[GID_STATUS],
+ RefreshSetGadgetAttrs((struct Gadget *)ami_print_info.gadgets[PGID_STATUS],
ami_print_info.win, NULL,
FUELGAUGE_Level, ami_print_info.page,
TAG_DONE);
@@ -519,7 +522,7 @@ bool ami_print_next_page(void)
void ami_print_end(void)
{
ami_plot_ra_free(ami_print_info.gg);
- DisposeObject(ami_print_info.objects[OID_MAIN]);
+ DisposeObject(ami_print_info.objects[POID_MAIN]);
ami_print_close_device();
ami_print_free();
@@ -554,7 +557,7 @@ bool ami_print_dump(void)
void ami_print_progress(void)
{
- ami_print_info.objects[OID_MAIN] = WindowObj,
+ ami_print_info.objects[POID_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title, messages_get("Printing"),
WA_Activate, TRUE,
@@ -568,9 +571,9 @@ void ami_print_progress(void)
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, ami_print_info.gadgets[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, ami_print_info.gadgets[GID_STATUS] = FuelGaugeObj,
- GA_ID,GID_STATUS,
+ WINDOW_ParentGroup, ami_print_info.gadgets[PGID_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, ami_print_info.gadgets[PGID_STATUS] = FuelGaugeObj,
+ GA_ID,PGID_STATUS,
FUELGAUGE_Min,0,
FUELGAUGE_Max,ami_print_info.pages,
FUELGAUGE_Level,0,
@@ -582,8 +585,8 @@ void ami_print_progress(void)
CHILD_NominalSize,TRUE,
CHILD_WeightedHeight,0,
/*
- LAYOUT_AddChild, ami_print_info.gadgets[GID_CANCEL] = ButtonObj,
- GA_ID,GID_CANCEL,
+ LAYOUT_AddChild, ami_print_info.gadgets[PGID_CANCEL] = ButtonObj,
+ GA_ID,PGID_CANCEL,
GA_Disabled,TRUE,
GA_RelVerify,TRUE,
GA_Text,messages_get("Abort"),
@@ -593,6 +596,6 @@ void ami_print_progress(void)
EndGroup,
EndWindow;
- ami_print_info.win = (struct Window *)RA_OpenWindow(ami_print_info.objects[OID_MAIN]);
+ ami_print_info.win = (struct Window *)RA_OpenWindow(ami_print_info.objects[POID_MAIN]);
}
diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c
index 99ee5b4..e633362 100755
--- a/frontends/amiga/search.c
+++ b/frontends/amiga/search.c
@@ -61,6 +61,7 @@
#include "amiga/search.h"
#include "amiga/object.h"
#include "amiga/theme.h"
+#include "amiga/utf8.h"
#ifndef NOF_ELEMENTS
#define NOF_ELEMENTS(array) (sizeof(array)/sizeof(*(array)))
@@ -68,11 +69,33 @@
static bool search_insert;
+enum
+{
+ OID_S_MAIN = 0,
+ GID_S_MAIN,
+ GID_S_NEXT,
+ GID_S_PREV,
+ GID_S_SEARCHSTRING,
+ GID_S_SHOWALL,
+ GID_S_CASE,
+ GID_S_LAST
+};
+
+enum {
+ SSTR_TITLE = 0,
+ SSTR_CASE,
+ SSTR_SHOWALL,
+ SSTR_PREV,
+ SSTR_NEXT,
+ SSTR_LAST
+};
+
struct find_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_S_LAST];
struct gui_window *gwin;
+ char *message[SSTR_LAST];
};
static struct find_window *fwin = NULL;
@@ -131,77 +154,89 @@ void ami_search_open(struct gui_window *gwin)
fwin = calloc(1, sizeof(struct find_window));
- fwin->objects[OID_MAIN] = WindowObj,
+ /* Get local charset messages. If any of these are NULL it doesn't matter */
+ fwin->message[SSTR_TITLE] = ami_utf8_easy(messages_get("FindTextNS"));
+ fwin->message[SSTR_CASE] = ami_utf8_easy(messages_get("CaseSens"));
+ fwin->message[SSTR_SHOWALL] = ami_utf8_easy(messages_get("ShowAll"));
+ fwin->message[SSTR_PREV] = ami_utf8_easy(messages_get("Prev"));
+ fwin->message[SSTR_NEXT] = ami_utf8_easy(messages_get("Next"));
+
+ fwin->objects[OID_S_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
- WA_Title,messages_get("FindTextNS"),
+ WA_Title, fwin->message[SSTR_TITLE],
WA_Activate, TRUE,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_CloseGadget, TRUE,
WA_SizeGadget, TRUE,
- WA_PubScreen,scrn,
- WINDOW_SharedPort,sport,
- WINDOW_UserData,fwin,
+ WA_PubScreen, scrn,
+ WINDOW_SharedPort, sport,
+ WINDOW_UserData, fwin,
WINDOW_IconifyGadget, FALSE,
- WINDOW_LockHeight,TRUE,
+ WINDOW_LockHeight, TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, fwin->objects[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, fwin->objects[GID_SEARCHSTRING] = StringObj,
- GA_ID,GID_SEARCHSTRING,
- GA_TabCycle,TRUE,
- GA_RelVerify,TRUE,
+ WINDOW_ParentGroup, fwin->objects[GID_S_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, fwin->objects[GID_S_SEARCHSTRING] = StringObj,
+ GA_ID, GID_S_SEARCHSTRING,
+ GA_TabCycle, TRUE,
+ GA_RelVerify, TRUE,
StringEnd,
- CHILD_WeightedHeight,0,
- LAYOUT_AddChild, fwin->objects[GID_CASE] = CheckBoxObj,
- GA_ID,GID_CASE,
- GA_Text,messages_get("CaseSens"),
- GA_Selected,FALSE,
- GA_TabCycle,TRUE,
- GA_RelVerify,TRUE,
+ CHILD_WeightedHeight, 0,
+ LAYOUT_AddChild, fwin->objects[GID_S_CASE] = CheckBoxObj,
+ GA_ID, GID_S_CASE,
+ GA_Text, fwin->message[SSTR_CASE],
+ GA_Selected, FALSE,
+ GA_TabCycle, TRUE,
+ GA_RelVerify, TRUE,
CheckBoxEnd,
- LAYOUT_AddChild, fwin->objects[GID_SHOWALL] = CheckBoxObj,
- GA_ID,GID_SHOWALL,
- GA_Text,messages_get("ShowAll"),
- GA_Selected,FALSE,
- GA_TabCycle,TRUE,
- GA_RelVerify,TRUE,
+ LAYOUT_AddChild, fwin->objects[GID_S_SHOWALL] = CheckBoxObj,
+ GA_ID,GID_S_SHOWALL,
+ GA_Text, fwin->message[SSTR_SHOWALL],
+ GA_Selected, FALSE,
+ GA_TabCycle, TRUE,
+ GA_RelVerify, TRUE,
CheckBoxEnd,
-
LAYOUT_AddChild, LayoutHObj,
- LAYOUT_AddChild, fwin->objects[GID_PREV] = ButtonObj,
- GA_ID,GID_PREV,
- GA_RelVerify,TRUE,
- GA_Text,messages_get("Prev"),
- GA_TabCycle,TRUE,
- GA_Disabled,TRUE,
+ LAYOUT_AddChild, fwin->objects[GID_S_PREV] = ButtonObj,
+ GA_ID, GID_S_PREV,
+ GA_RelVerify, TRUE,
+ GA_Text, fwin->message[SSTR_PREV],
+ GA_TabCycle, TRUE,
+ GA_Disabled, TRUE,
ButtonEnd,
- CHILD_WeightedHeight,0,
- LAYOUT_AddChild, fwin->objects[GID_NEXT] = ButtonObj,
- GA_ID,GID_NEXT,
- GA_RelVerify,TRUE,
- GA_Text,messages_get("Next"),
- GA_TabCycle,TRUE,
- GA_Disabled,TRUE,
+ CHILD_WeightedHeight, 0,
+ LAYOUT_AddChild, fwin->objects[GID_S_NEXT] = ButtonObj,
+ GA_ID, GID_S_NEXT,
+ GA_RelVerify, TRUE,
+ GA_Text, fwin->message[SSTR_NEXT],
+ GA_TabCycle, TRUE,
+ GA_Disabled, TRUE,
ButtonEnd,
LayoutEnd,
CHILD_WeightedHeight,0,
EndGroup,
EndWindow;
- fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_MAIN]);
+ 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);
gwin->shared->searchwin = fwin;
- ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_MAIN], fwin->win,
- NULL, (ULONG)fwin->objects[GID_SEARCHSTRING]);
+ ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_S_MAIN], fwin->win,
+ NULL, (ULONG)fwin->objects[GID_S_SEARCHSTRING]);
}
void ami_search_close(void)
{
browser_window_search_clear(fwin->gwin->bw);
fwin->gwin->shared->searchwin = NULL;
- DisposeObject(fwin->objects[OID_MAIN]);
+ DisposeObject(fwin->objects[OID_S_MAIN]);
+
+ /* Free local charset version of messages */
+ for(int i = 0; i < SSTR_LAST; i++) {
+ ami_utf8_free(fwin->message[i]);
+ }
+
ami_gui_win_list_remove(fwin);
fwin = NULL;
}
@@ -213,29 +248,29 @@ static BOOL ami_search_event(void *w)
uint16 code;
search_flags_t flags;
- while((result = RA_HandleInput(fwin->objects[OID_MAIN],&code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(fwin->objects[OID_S_MAIN],&code)) !=
WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_SEARCHSTRING:
+ case GID_S_SEARCHSTRING:
browser_window_search_clear(fwin->gwin->bw);
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_PREV],
fwin->win, NULL,
GA_Disabled, FALSE,
TAG_DONE);
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_NEXT],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_NEXT],
fwin->win, NULL,
GA_Disabled, FALSE,
TAG_DONE);
/* fall through */
- case GID_NEXT:
+ case GID_S_NEXT:
search_insert = true;
flags = SEARCH_FLAG_FORWARDS |
ami_search_flags();
@@ -246,7 +281,7 @@ static BOOL ami_search_event(void *w)
ActivateWindow(fwin->gwin->shared->win);
break;
- case GID_PREV:
+ case GID_S_PREV:
search_insert = true;
flags = ~SEARCH_FLAG_FORWARDS &
ami_search_flags();
@@ -299,7 +334,7 @@ void ami_search_set_hourglass(bool active, void *p)
char *ami_search_string(void)
{
char *text;
- GetAttr(STRINGA_TextVal,fwin->objects[GID_SEARCHSTRING],(ULONG *)&text);
+ GetAttr(STRINGA_TextVal,fwin->objects[GID_S_SEARCHSTRING],(ULONG *)&text);
return text;
}
@@ -325,7 +360,7 @@ void ami_search_add_recent(const char *string, void *p)
void ami_search_set_forward_state(bool active, void *p)
{
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_NEXT],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_NEXT],
fwin->win, NULL,
GA_Disabled, active ? FALSE : TRUE, TAG_DONE);
@@ -339,7 +374,7 @@ void ami_search_set_forward_state(bool active, void *p)
void ami_search_set_back_state(bool active, void *p)
{
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_PREV],
fwin->win, NULL,
GA_Disabled, active ? FALSE : TRUE, TAG_DONE);
}
@@ -352,8 +387,8 @@ search_flags_t ami_search_flags(void)
{
ULONG case_sensitive, showall;
search_flags_t flags;
- GetAttr(GA_Selected,fwin->objects[GID_CASE],(ULONG *)&case_sensitive);
- GetAttr(GA_Selected,fwin->objects[GID_SHOWALL],(ULONG *)&showall);
+ GetAttr(GA_Selected,fwin->objects[GID_S_CASE],(ULONG *)&case_sensitive);
+ GetAttr(GA_Selected,fwin->objects[GID_S_SHOWALL],(ULONG *)&showall);
flags = 0 | (case_sensitive ? SEARCH_FLAG_CASE_SENSITIVE : 0) |
(showall ? SEARCH_FLAG_SHOWALL : 0);
return flags;
--
NetSurf Browser