Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/5afd42aa5a9ce1561fa1a...
...commit
http://git.netsurf-browser.org/netsurf.git/commit/5afd42aa5a9ce1561fa1a6d...
...tree
http://git.netsurf-browser.org/netsurf.git/tree/5afd42aa5a9ce1561fa1a6d73...
The branch, master has been updated
via 5afd42aa5a9ce1561fa1a6d73980b23cb612cda7 (commit)
via 414e94452b48cae83452cde611040f94ed4cee07 (commit)
via ca376741c6dbc860d293eb834c1d4bed0384f99a (commit)
via 2c380f818f3101333639d7a52651ca2f29be08d6 (commit)
via 780752d276578751a58435ba3d3b6600a90a16b0 (commit)
via 49bd536c6e461b120251d42a99f2e13a6de0fa4e (commit)
from f3332a20d76dbfbac1d8db8b8a9edeff97ff537d (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=5afd42aa5a9ce1561fa...
commit 5afd42aa5a9ce1561fa1a6d73980b23cb612cda7
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Add the remaining missing OS3 prefs GUI elements
Might need to add/remove some things for the OS3 build
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 5add7d1..54652b3 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -220,9 +220,11 @@ struct ami_gui_opts_window {
Object *objects[GID_OPTS_LAST];
#ifndef __amigaos4__
struct List clicktablist;
+ struct List screenoptslist;
struct List proxyoptslist;
struct List nativebmoptslist;
struct List ditheroptslist;
+ struct List fontoptslist;
#endif
};
@@ -254,6 +256,10 @@ static void ami_gui_opts_array_to_list(struct List *list, const char
*array[], i
node = AllocChooserNode(CNA_Text, array[i], TAG_DONE);
break;
case NSA_LIST_RADIO:
+ /* Note: RBNA_Labels is RBNA_Label in OS4
+ * Also note: These labels don't work (FIXME) */
+ node = AllocRadioButtonNode(RBNA_Labels, array[i], TAG_DONE);
+ break;
default:
break;
}
@@ -282,6 +288,8 @@ static void ami_gui_opts_free_list(struct List *list, int type)
FreeChooserNode(node);
break;
case NSA_LIST_RADIO:
+ FreeRadioButtonNode(node);
+ break;
default:
break;
}
@@ -328,13 +336,6 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
ditheropts[2] = (char *)ami_utf8_easy((char *)messages_get("High"));
ditheropts[3] = NULL;
-#ifndef __amigaos4__
- ami_gui_opts_array_to_list(&gow->clicktablist, tabs, NSA_LIST_CLICKTAB);
- ami_gui_opts_array_to_list(&gow->proxyoptslist, proxyopts, NSA_LIST_CHOOSER);
- ami_gui_opts_array_to_list(&gow->nativebmoptslist, nativebmopts,
NSA_LIST_CHOOSER);
- ami_gui_opts_array_to_list(&gow->ditheroptslist, ditheropts, NSA_LIST_CHOOSER);
-#endif
-
websearch_list = ami_gui_opts_websearch();
gadlab[GID_OPTS_HOMEPAGE] = (char *)ami_utf8_easy((char
*)messages_get("HomePageURL"));
@@ -449,6 +450,15 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
fontopts[3] = gadlab[GID_OPTS_FONT_CURSIVE];
fontopts[4] = gadlab[GID_OPTS_FONT_FANTASY];
fontopts[5] = NULL;
+
+#ifndef __amigaos4__
+ ami_gui_opts_array_to_list(&gow->clicktablist, tabs, NSA_LIST_CLICKTAB);
+ ami_gui_opts_array_to_list(&gow->screenoptslist, screenopts, NSA_LIST_RADIO);
+ ami_gui_opts_array_to_list(&gow->proxyoptslist, proxyopts, NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->nativebmoptslist, nativebmopts,
NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->ditheroptslist, ditheropts, NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->fontoptslist, fontopts, NSA_LIST_CHOOSER);
+#endif
}
static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
@@ -474,9 +484,11 @@ static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
#ifndef __amigaos4__
ami_gui_opts_free_list(&gow->clicktablist, NSA_LIST_CLICKTAB);
+ ami_gui_opts_free_list(&gow->screenoptslist, NSA_LIST_RADIO);
ami_gui_opts_free_list(&gow->proxyoptslist, NSA_LIST_CHOOSER);
ami_gui_opts_free_list(&gow->nativebmoptslist, NSA_LIST_CHOOSER);
ami_gui_opts_free_list(&gow->ditheroptslist, NSA_LIST_CHOOSER);
+ ami_gui_opts_free_list(&gow->fontoptslist, NSA_LIST_CHOOSER);
#endif
}
@@ -777,12 +789,15 @@ void ami_gui_opts_open(void)
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_SCREEN],
-#ifdef __amigaos4__
LAYOUT_AddChild, LayoutHObj,
LAYOUT_AddChild, gow->objects[GID_OPTS_SCREEN] =
RadioButtonObj,
GA_ID, GID_OPTS_SCREEN,
GA_RelVerify, TRUE,
+#ifdef __amigaos4__
GA_Text, screenopts,
+#else
+ RADIOBUTTON_Labels, &gow->screenoptslist,
+#endif
RADIOBUTTON_Selected, screenoptsselected,
RadioButtonEnd,
CHILD_WeightedWidth,0,
@@ -805,9 +820,6 @@ void ami_gui_opts_open(void)
LayoutEnd,
CHILD_WeightedHeight,0,
LayoutEnd,
-#else
-#warning FIXME FOR OS3
-#endif
LayoutEnd, // screen
CHILD_WeightedHeight,0,
LAYOUT_AddChild, LayoutVObj,
@@ -1019,7 +1031,7 @@ void ami_gui_opts_open(void)
#ifdef __amigaos4__
CHOOSER_LabelArray, ditheropts,
#else
- CHOOSER_LabelArray, &gow->ditheroptslist,
+ CHOOSER_Labels, &gow->ditheroptslist,
#endif
CHOOSER_Selected, nsoption_int(dither_quality),
ChooserEnd,
@@ -1152,20 +1164,20 @@ void ami_gui_opts_open(void)
CHILD_Label, LabelObj,
LABEL_Text, gadlab[GID_OPTS_FONT_FANTASY],
LabelEnd,
-#ifdef __amigaos4__
LAYOUT_AddChild, gow->objects[GID_OPTS_FONT_DEFAULT] = ChooserObj,
GA_ID, GID_OPTS_FONT_DEFAULT,
GA_RelVerify, TRUE,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, fontopts,
+#else
+ CHOOSER_Labels, &gow->fontoptslist,
+#endif
CHOOSER_Selected, nsoption_int(font_default) - PLOT_FONT_FAMILY_SANS_SERIF,
ChooserEnd,
CHILD_Label, LabelObj,
LABEL_Text, gadlab[GID_OPTS_FONT_DEFAULT],
LabelEnd,
-#else
-#warning FIXME for OS3
-#endif
LayoutEnd, // font faces
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, LayoutHObj,
@@ -1700,7 +1712,7 @@ static void ami_gui_opts_use(bool save)
} else {
nsoption_set_bool(faster_scroll, false);
}
-#ifdef __amigaos4__
+
GetAttr(RADIOBUTTON_Selected,gow->objects[GID_OPTS_SCREEN],(ULONG *)&data);
switch(data)
{
@@ -1725,9 +1737,6 @@ static void ami_gui_opts_use(bool save)
sprintf(modeid,"0x%lx", id);
nsoption_set_charp(screen_modeid, modeid);
}
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(GA_Selected,gow->objects[GID_OPTS_WIN_SIMPLE],(ULONG *)&data);
if ((data == TRUE) && (nsoption_bool(window_simple_refresh) == false)) {
@@ -1839,12 +1848,8 @@ static void ami_gui_opts_use(bool save)
if((dot = strrchr(tattr->ta_Name,'.'))) *dot = '\0';
nsoption_set_charp(font_fantasy, (char *)strdup((char *)tattr->ta_Name));
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_FONT_DEFAULT],(ULONG
*)&nsoption_int(font_default));
nsoption_set_int(font_default, nsoption_int(font_default) +
PLOT_FONT_FAMILY_SANS_SERIF);
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FONT_SIZE],(ULONG
*)&nsoption_int(font_size));
nsoption_set_int(font_size, nsoption_int(font_size) * 10);
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=414e94452b48cae8345...
commit 414e94452b48cae83452cde611040f94ed4cee07
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Add dither and nativebitmap options to OS3 prefs gui
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index e5d64a4..5add7d1 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -221,6 +221,8 @@ struct ami_gui_opts_window {
#ifndef __amigaos4__
struct List clicktablist;
struct List proxyoptslist;
+ struct List nativebmoptslist;
+ struct List ditheroptslist;
#endif
};
@@ -305,10 +307,6 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
tabs[8] = NULL;
#endif
-#ifndef __amigaos4__
- ami_gui_opts_array_to_list(&gow->clicktablist, tabs, NSA_LIST_CLICKTAB);
-#endif
-
screenopts[0] = (char *)ami_utf8_easy((char *)messages_get("ScreenOwn"));
screenopts[1] = (char *)ami_utf8_easy((char *)messages_get("ScreenWB"));
screenopts[2] = (char *)ami_utf8_easy((char *)messages_get("ScreenPublic"));
@@ -320,10 +318,6 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
proxyopts[3] = (char *)ami_utf8_easy((char *)messages_get("ProxyNTLM"));
proxyopts[4] = NULL;
-#ifndef __amigaos4__
- ami_gui_opts_array_to_list(&gow->proxyoptslist, proxyopts, NSA_LIST_CHOOSER);
-#endif
-
nativebmopts[0] = (char *)ami_utf8_easy((char *)messages_get("None"));
nativebmopts[1] = (char *)ami_utf8_easy((char *)messages_get("Scaled"));
nativebmopts[2] = (char *)ami_utf8_easy((char *)messages_get("All"));
@@ -333,7 +327,14 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
ditheropts[1] = (char *)ami_utf8_easy((char *)messages_get("Medium"));
ditheropts[2] = (char *)ami_utf8_easy((char *)messages_get("High"));
ditheropts[3] = NULL;
-
+
+#ifndef __amigaos4__
+ ami_gui_opts_array_to_list(&gow->clicktablist, tabs, NSA_LIST_CLICKTAB);
+ ami_gui_opts_array_to_list(&gow->proxyoptslist, proxyopts, NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->nativebmoptslist, nativebmopts,
NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->ditheroptslist, ditheropts, NSA_LIST_CHOOSER);
+#endif
+
websearch_list = ami_gui_opts_websearch();
gadlab[GID_OPTS_HOMEPAGE] = (char *)ami_utf8_easy((char
*)messages_get("HomePageURL"));
@@ -474,6 +475,8 @@ static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
#ifndef __amigaos4__
ami_gui_opts_free_list(&gow->clicktablist, NSA_LIST_CLICKTAB);
ami_gui_opts_free_list(&gow->proxyoptslist, NSA_LIST_CHOOSER);
+ ami_gui_opts_free_list(&gow->nativebmoptslist, NSA_LIST_CHOOSER);
+ ami_gui_opts_free_list(&gow->ditheroptslist, NSA_LIST_CHOOSER);
#endif
}
@@ -994,12 +997,15 @@ void ami_gui_opts_open(void)
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_IMAGES],
-#ifdef __amigaos4__
LAYOUT_AddChild, gow->objects[GID_OPTS_NATIVEBM] = ChooserObj,
GA_ID, GID_OPTS_NATIVEBM,
GA_RelVerify, TRUE,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, nativebmopts,
+#else
+ CHOOSER_Labels, &gow->nativebmoptslist,
+#endif
CHOOSER_Selected, nsoption_int(cache_bitmaps),
ChooserEnd,
CHILD_Label, LabelObj,
@@ -1010,15 +1016,16 @@ void ami_gui_opts_open(void)
GA_RelVerify, TRUE,
GA_Disabled, ditherdisable,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, ditheropts,
+#else
+ CHOOSER_LabelArray, &gow->ditheroptslist,
+#endif
CHOOSER_Selected, nsoption_int(dither_quality),
ChooserEnd,
CHILD_Label, LabelObj,
LABEL_Text, gadlab[GID_OPTS_DITHERQ],
LabelEnd,
-#else
-#warning FIXME FOR OS3
-#endif
LAYOUT_AddChild, gow->objects[GID_OPTS_SCALEQ] = CheckBoxObj,
GA_ID, GID_OPTS_SCALEQ,
GA_Disabled, scaledisabled,
@@ -1777,11 +1784,7 @@ static void ami_gui_opts_use(bool save)
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHHOST],(ULONG
*)&nsoption_int(max_fetchers_per_host));
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHCACHE],(ULONG
*)&nsoption_int(max_cached_fetch_handles));
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_NATIVEBM],(ULONG
*)&nsoption_int(cache_bitmaps));
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(GA_Selected,gow->objects[GID_OPTS_SCALEQ],(ULONG *)&data);
if (data) {
@@ -1790,11 +1793,7 @@ static void ami_gui_opts_use(bool save)
nsoption_set_bool(scale_quality, false);
}
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_DITHERQ],(ULONG
*)&nsoption_int(dither_quality));
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(STRINGA_TextVal,gow->objects[GID_OPTS_ANIMSPEED],(ULONG *)&data);
animspeed = strtof((char *)data, NULL);
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=ca376741c6dbc860d29...
commit ca376741c6dbc860d293eb834c1d4bed0384f99a
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Enable proxy options in prefs GUI for OS3
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index e007b99..e5d64a4 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -220,6 +220,7 @@ struct ami_gui_opts_window {
Object *objects[GID_OPTS_LAST];
#ifndef __amigaos4__
struct List clicktablist;
+ struct List proxyoptslist;
#endif
};
@@ -319,6 +320,10 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
proxyopts[3] = (char *)ami_utf8_easy((char *)messages_get("ProxyNTLM"));
proxyopts[4] = NULL;
+#ifndef __amigaos4__
+ ami_gui_opts_array_to_list(&gow->proxyoptslist, proxyopts, NSA_LIST_CHOOSER);
+#endif
+
nativebmopts[0] = (char *)ami_utf8_easy((char *)messages_get("None"));
nativebmopts[1] = (char *)ami_utf8_easy((char *)messages_get("Scaled"));
nativebmopts[2] = (char *)ami_utf8_easy((char *)messages_get("All"));
@@ -468,6 +473,7 @@ static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
#ifndef __amigaos4__
ami_gui_opts_free_list(&gow->clicktablist, NSA_LIST_CLICKTAB);
+ ami_gui_opts_free_list(&gow->proxyoptslist, NSA_LIST_CHOOSER);
#endif
}
@@ -858,7 +864,6 @@ void ami_gui_opts_open(void)
*/
PAGE_Add, LayoutVObj,
LAYOUT_AddChild, LayoutVObj,
-#ifdef __amigaos4__
LAYOUT_AddChild, LayoutVObj,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
@@ -867,7 +872,11 @@ void ami_gui_opts_open(void)
GA_ID, GID_OPTS_PROXY,
GA_RelVerify, TRUE,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, proxyopts,
+#else
+ CHOOSER_Labels, &gow->proxyoptslist,
+#endif
CHOOSER_Selected, proxytype,
ChooserEnd,
CHILD_Label, LabelObj,
@@ -930,9 +939,6 @@ void ami_gui_opts_open(void)
LABEL_Text, gadlab[GID_OPTS_PROXY_BYPASS],
LabelEnd,
LayoutEnd, // proxy
-#else
-#warning FIXME FOR OS3
-#endif
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, LayoutVObj,
LAYOUT_SpaceOuter, TRUE,
@@ -1742,7 +1748,6 @@ static void ami_gui_opts_use(bool save)
nsoption_set_bool(os_mouse_pointers, false);
}
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_PROXY],(ULONG *)&data);
if(data)
{
@@ -1767,9 +1772,6 @@ static void ami_gui_opts_use(bool save)
GetAttr(STRINGA_TextVal,gow->objects[GID_OPTS_PROXY_BYPASS],(ULONG *)&data);
nsoption_set_charp(http_proxy_noproxy, (char *)strdup((char *)data));
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHMAX],(ULONG
*)&nsoption_int(max_fetchers));
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHHOST],(ULONG
*)&nsoption_int(max_fetchers_per_host));
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=2c380f818f310133363...
commit 2c380f818f3101333639d7a52651ca2f29be08d6
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Fix some memory leakage
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 85d9094..e007b99 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -210,6 +210,7 @@ enum
enum {
NSA_LIST_CLICKTAB = 0,
+ NSA_LIST_CHOOSER,
NSA_LIST_RADIO,
};
@@ -242,10 +243,20 @@ static void ami_gui_opts_array_to_list(struct List *list, const char
*array[], i
NewList(list);
do {
- node = AllocClickTabNode(TNA_Text, array[i], TNA_Number, i, TAG_DONE);
+ switch(type) {
+ case NSA_LIST_CLICKTAB:
+ node = AllocClickTabNode(TNA_Text, array[i], TNA_Number, i, TAG_DONE);
+ break;
+ case NSA_LIST_CHOOSER:
+ node = AllocChooserNode(CNA_Text, array[i], TAG_DONE);
+ break;
+ case NSA_LIST_RADIO:
+ default:
+ break;
+ }
AddTail(list, node);
i++;
- } while (tabs[i] != 0);
+ } while (array[i] != 0);
}
static void ami_gui_opts_free_list(struct List *list, int type)
@@ -258,7 +269,20 @@ static void ami_gui_opts_free_list(struct List *list, int type)
do {
nnode = GetSucc(node);
- if(node) FreeClickTabNode(node);
+ Remove(node);
+ if(node) {
+ switch(type) {
+ case NSA_LIST_CLICKTAB:
+ FreeClickTabNode(node);
+ break;
+ case NSA_LIST_CHOOSER:
+ FreeChooserNode(node);
+ break;
+ case NSA_LIST_RADIO:
+ default:
+ break;
+ }
+ }
} while((node = nnode));
}
#endif
@@ -2243,6 +2267,7 @@ void ami_gui_opts_websearch_free(struct List *websearchlist)
do {
nnode = GetSucc(node);
Remove(node);
+ FreeChooserNode(node);
} while((node = nnode));
FreeVec(websearchlist);
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=780752d276578751a58...
commit 780752d276578751a58435ba3d3b6600a90a16b0
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
fix the incorrect copy'n'pasted parameters
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 6af96f6..85d9094 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -234,16 +234,16 @@ CONST_STRPTR gadlab[OPTS_LAST];
struct List *websearch_list;
#ifndef __amigaos4__
-static void ami_gui_opts_array_to_list(struct List *list, const char array[], int type)
+static void ami_gui_opts_array_to_list(struct List *list, const char *array[], int type)
{
int i = 0;
struct Node *node;
- NewList(&gow->clicktablist);
+ NewList(list);
do {
- node = AllocClickTabNode(TNA_Text, tabs[i], TNA_Number, i, TAG_DONE);
- AddTail(&gow->clicktablist, node);
+ node = AllocClickTabNode(TNA_Text, array[i], TNA_Number, i, TAG_DONE);
+ AddTail(list, node);
i++;
} while (tabs[i] != 0);
}
@@ -253,8 +253,8 @@ static void ami_gui_opts_free_list(struct List *list, int type)
struct Node *node;
struct Node *nnode;
- if(IsListEmpty((struct List *)&gow->clicktablist)) return;
- node = GetHead((struct List *)&gow->clicktablist);
+ if(IsListEmpty((struct List *)list)) return;
+ node = GetHead((struct List *)list);
do {
nnode = GetSucc(node);
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=49bd536c6e461b12025...
commit 49bd536c6e461b120251d42a99f2e13a6de0fa4e
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Move OS3 array to list into separate function
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 7e940ac..6af96f6 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -208,6 +208,11 @@ enum
#define OPTS_MAX_NATIVEBM 4
#define OPTS_MAX_DITHER 4
+enum {
+ NSA_LIST_CLICKTAB = 0,
+ NSA_LIST_RADIO,
+};
+
struct ami_gui_opts_window {
struct nsObject *node;
struct Window *win;
@@ -228,6 +233,36 @@ CONST_STRPTR fontopts[6];
CONST_STRPTR gadlab[OPTS_LAST];
struct List *websearch_list;
+#ifndef __amigaos4__
+static void ami_gui_opts_array_to_list(struct List *list, const char array[], int type)
+{
+ int i = 0;
+ struct Node *node;
+
+ NewList(&gow->clicktablist);
+
+ do {
+ node = AllocClickTabNode(TNA_Text, tabs[i], TNA_Number, i, TAG_DONE);
+ AddTail(&gow->clicktablist, node);
+ i++;
+ } while (tabs[i] != 0);
+}
+
+static void ami_gui_opts_free_list(struct List *list, int type)
+{
+ struct Node *node;
+ struct Node *nnode;
+
+ if(IsListEmpty((struct List *)&gow->clicktablist)) return;
+ node = GetHead((struct List *)&gow->clicktablist);
+
+ do {
+ nnode = GetSucc(node);
+ if(node) FreeClickTabNode(node);
+ } while((node = nnode));
+}
+#endif
+
static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
{
tabs[0] = (char *)ami_utf8_easy((char *)messages_get("con_general"));
@@ -246,16 +281,7 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
#endif
#ifndef __amigaos4__
- int i = 0;
- struct Node *node;
-
- NewList(&gow->clicktablist);
-
- do {
- node = AllocClickTabNode(TNA_Text, tabs[i], TNA_Number, i, TAG_DONE);
- AddTail(&gow->clicktablist, node);
- i++;
- } while (tabs[i] != 0);
+ ami_gui_opts_array_to_list(&gow->clicktablist, tabs, NSA_LIST_CLICKTAB);
#endif
screenopts[0] = (char *)ami_utf8_easy((char *)messages_get("ScreenOwn"));
@@ -417,16 +443,7 @@ static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
ami_gui_opts_websearch_free(websearch_list);
#ifndef __amigaos4__
- struct Node *node;
- struct Node *nnode;
-
- if(IsListEmpty((struct List *)&gow->clicktablist)) return;
- node = GetHead((struct List *)&gow->clicktablist);
-
- do {
- nnode = GetSucc(node);
- if(node) FreeClickTabNode(node);
- } while((node = nnode));
+ ami_gui_opts_free_list(&gow->clicktablist, NSA_LIST_CLICKTAB);
#endif
}
-----------------------------------------------------------------------
Summary of changes:
amiga/gui_options.c | 168 +++++++++++++++++++++++++++++++++------------------
1 file changed, 108 insertions(+), 60 deletions(-)
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 7e940ac..54652b3 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -208,12 +208,23 @@ enum
#define OPTS_MAX_NATIVEBM 4
#define OPTS_MAX_DITHER 4
+enum {
+ NSA_LIST_CLICKTAB = 0,
+ NSA_LIST_CHOOSER,
+ NSA_LIST_RADIO,
+};
+
struct ami_gui_opts_window {
struct nsObject *node;
struct Window *win;
Object *objects[GID_OPTS_LAST];
#ifndef __amigaos4__
struct List clicktablist;
+ struct List screenoptslist;
+ struct List proxyoptslist;
+ struct List nativebmoptslist;
+ struct List ditheroptslist;
+ struct List fontoptslist;
#endif
};
@@ -228,6 +239,65 @@ CONST_STRPTR fontopts[6];
CONST_STRPTR gadlab[OPTS_LAST];
struct List *websearch_list;
+#ifndef __amigaos4__
+static void ami_gui_opts_array_to_list(struct List *list, const char *array[], int type)
+{
+ int i = 0;
+ struct Node *node;
+
+ NewList(list);
+
+ do {
+ switch(type) {
+ case NSA_LIST_CLICKTAB:
+ node = AllocClickTabNode(TNA_Text, array[i], TNA_Number, i, TAG_DONE);
+ break;
+ case NSA_LIST_CHOOSER:
+ node = AllocChooserNode(CNA_Text, array[i], TAG_DONE);
+ break;
+ case NSA_LIST_RADIO:
+ /* Note: RBNA_Labels is RBNA_Label in OS4
+ * Also note: These labels don't work (FIXME) */
+ node = AllocRadioButtonNode(RBNA_Labels, array[i], TAG_DONE);
+ break;
+ default:
+ break;
+ }
+ AddTail(list, node);
+ i++;
+ } while (array[i] != 0);
+}
+
+static void ami_gui_opts_free_list(struct List *list, int type)
+{
+ struct Node *node;
+ struct Node *nnode;
+
+ if(IsListEmpty((struct List *)list)) return;
+ node = GetHead((struct List *)list);
+
+ do {
+ nnode = GetSucc(node);
+ Remove(node);
+ if(node) {
+ switch(type) {
+ case NSA_LIST_CLICKTAB:
+ FreeClickTabNode(node);
+ break;
+ case NSA_LIST_CHOOSER:
+ FreeChooserNode(node);
+ break;
+ case NSA_LIST_RADIO:
+ FreeRadioButtonNode(node);
+ break;
+ default:
+ break;
+ }
+ }
+ } while((node = nnode));
+}
+#endif
+
static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
{
tabs[0] = (char *)ami_utf8_easy((char *)messages_get("con_general"));
@@ -245,19 +315,6 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
tabs[8] = NULL;
#endif
-#ifndef __amigaos4__
- int i = 0;
- struct Node *node;
-
- NewList(&gow->clicktablist);
-
- do {
- node = AllocClickTabNode(TNA_Text, tabs[i], TNA_Number, i, TAG_DONE);
- AddTail(&gow->clicktablist, node);
- i++;
- } while (tabs[i] != 0);
-#endif
-
screenopts[0] = (char *)ami_utf8_easy((char *)messages_get("ScreenOwn"));
screenopts[1] = (char *)ami_utf8_easy((char *)messages_get("ScreenWB"));
screenopts[2] = (char *)ami_utf8_easy((char *)messages_get("ScreenPublic"));
@@ -278,7 +335,7 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
ditheropts[1] = (char *)ami_utf8_easy((char *)messages_get("Medium"));
ditheropts[2] = (char *)ami_utf8_easy((char *)messages_get("High"));
ditheropts[3] = NULL;
-
+
websearch_list = ami_gui_opts_websearch();
gadlab[GID_OPTS_HOMEPAGE] = (char *)ami_utf8_easy((char
*)messages_get("HomePageURL"));
@@ -393,6 +450,15 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
fontopts[3] = gadlab[GID_OPTS_FONT_CURSIVE];
fontopts[4] = gadlab[GID_OPTS_FONT_FANTASY];
fontopts[5] = NULL;
+
+#ifndef __amigaos4__
+ ami_gui_opts_array_to_list(&gow->clicktablist, tabs, NSA_LIST_CLICKTAB);
+ ami_gui_opts_array_to_list(&gow->screenoptslist, screenopts, NSA_LIST_RADIO);
+ ami_gui_opts_array_to_list(&gow->proxyoptslist, proxyopts, NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->nativebmoptslist, nativebmopts,
NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->ditheroptslist, ditheropts, NSA_LIST_CHOOSER);
+ ami_gui_opts_array_to_list(&gow->fontoptslist, fontopts, NSA_LIST_CHOOSER);
+#endif
}
static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
@@ -417,16 +483,12 @@ static void ami_gui_opts_free(struct ami_gui_opts_window *gow)
ami_gui_opts_websearch_free(websearch_list);
#ifndef __amigaos4__
- struct Node *node;
- struct Node *nnode;
-
- if(IsListEmpty((struct List *)&gow->clicktablist)) return;
- node = GetHead((struct List *)&gow->clicktablist);
-
- do {
- nnode = GetSucc(node);
- if(node) FreeClickTabNode(node);
- } while((node = nnode));
+ ami_gui_opts_free_list(&gow->clicktablist, NSA_LIST_CLICKTAB);
+ ami_gui_opts_free_list(&gow->screenoptslist, NSA_LIST_RADIO);
+ ami_gui_opts_free_list(&gow->proxyoptslist, NSA_LIST_CHOOSER);
+ ami_gui_opts_free_list(&gow->nativebmoptslist, NSA_LIST_CHOOSER);
+ ami_gui_opts_free_list(&gow->ditheroptslist, NSA_LIST_CHOOSER);
+ ami_gui_opts_free_list(&gow->fontoptslist, NSA_LIST_CHOOSER);
#endif
}
@@ -727,12 +789,15 @@ void ami_gui_opts_open(void)
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_SCREEN],
-#ifdef __amigaos4__
LAYOUT_AddChild, LayoutHObj,
LAYOUT_AddChild, gow->objects[GID_OPTS_SCREEN] =
RadioButtonObj,
GA_ID, GID_OPTS_SCREEN,
GA_RelVerify, TRUE,
+#ifdef __amigaos4__
GA_Text, screenopts,
+#else
+ RADIOBUTTON_Labels, &gow->screenoptslist,
+#endif
RADIOBUTTON_Selected, screenoptsselected,
RadioButtonEnd,
CHILD_WeightedWidth,0,
@@ -755,9 +820,6 @@ void ami_gui_opts_open(void)
LayoutEnd,
CHILD_WeightedHeight,0,
LayoutEnd,
-#else
-#warning FIXME FOR OS3
-#endif
LayoutEnd, // screen
CHILD_WeightedHeight,0,
LAYOUT_AddChild, LayoutVObj,
@@ -817,7 +879,6 @@ void ami_gui_opts_open(void)
*/
PAGE_Add, LayoutVObj,
LAYOUT_AddChild, LayoutVObj,
-#ifdef __amigaos4__
LAYOUT_AddChild, LayoutVObj,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
@@ -826,7 +887,11 @@ void ami_gui_opts_open(void)
GA_ID, GID_OPTS_PROXY,
GA_RelVerify, TRUE,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, proxyopts,
+#else
+ CHOOSER_Labels, &gow->proxyoptslist,
+#endif
CHOOSER_Selected, proxytype,
ChooserEnd,
CHILD_Label, LabelObj,
@@ -889,9 +954,6 @@ void ami_gui_opts_open(void)
LABEL_Text, gadlab[GID_OPTS_PROXY_BYPASS],
LabelEnd,
LayoutEnd, // proxy
-#else
-#warning FIXME FOR OS3
-#endif
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, LayoutVObj,
LAYOUT_SpaceOuter, TRUE,
@@ -947,12 +1009,15 @@ void ami_gui_opts_open(void)
LAYOUT_SpaceOuter, TRUE,
LAYOUT_BevelStyle, BVS_GROUP,
LAYOUT_Label, gadlab[GRP_OPTS_IMAGES],
-#ifdef __amigaos4__
LAYOUT_AddChild, gow->objects[GID_OPTS_NATIVEBM] = ChooserObj,
GA_ID, GID_OPTS_NATIVEBM,
GA_RelVerify, TRUE,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, nativebmopts,
+#else
+ CHOOSER_Labels, &gow->nativebmoptslist,
+#endif
CHOOSER_Selected, nsoption_int(cache_bitmaps),
ChooserEnd,
CHILD_Label, LabelObj,
@@ -963,15 +1028,16 @@ void ami_gui_opts_open(void)
GA_RelVerify, TRUE,
GA_Disabled, ditherdisable,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, ditheropts,
+#else
+ CHOOSER_Labels, &gow->ditheroptslist,
+#endif
CHOOSER_Selected, nsoption_int(dither_quality),
ChooserEnd,
CHILD_Label, LabelObj,
LABEL_Text, gadlab[GID_OPTS_DITHERQ],
LabelEnd,
-#else
-#warning FIXME FOR OS3
-#endif
LAYOUT_AddChild, gow->objects[GID_OPTS_SCALEQ] = CheckBoxObj,
GA_ID, GID_OPTS_SCALEQ,
GA_Disabled, scaledisabled,
@@ -1098,20 +1164,20 @@ void ami_gui_opts_open(void)
CHILD_Label, LabelObj,
LABEL_Text, gadlab[GID_OPTS_FONT_FANTASY],
LabelEnd,
-#ifdef __amigaos4__
LAYOUT_AddChild, gow->objects[GID_OPTS_FONT_DEFAULT] = ChooserObj,
GA_ID, GID_OPTS_FONT_DEFAULT,
GA_RelVerify, TRUE,
CHOOSER_PopUp, TRUE,
+#ifdef __amigaos4__
CHOOSER_LabelArray, fontopts,
+#else
+ CHOOSER_Labels, &gow->fontoptslist,
+#endif
CHOOSER_Selected, nsoption_int(font_default) - PLOT_FONT_FAMILY_SANS_SERIF,
ChooserEnd,
CHILD_Label, LabelObj,
LABEL_Text, gadlab[GID_OPTS_FONT_DEFAULT],
LabelEnd,
-#else
-#warning FIXME for OS3
-#endif
LayoutEnd, // font faces
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, LayoutHObj,
@@ -1646,7 +1712,7 @@ static void ami_gui_opts_use(bool save)
} else {
nsoption_set_bool(faster_scroll, false);
}
-#ifdef __amigaos4__
+
GetAttr(RADIOBUTTON_Selected,gow->objects[GID_OPTS_SCREEN],(ULONG *)&data);
switch(data)
{
@@ -1671,9 +1737,6 @@ static void ami_gui_opts_use(bool save)
sprintf(modeid,"0x%lx", id);
nsoption_set_charp(screen_modeid, modeid);
}
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(GA_Selected,gow->objects[GID_OPTS_WIN_SIMPLE],(ULONG *)&data);
if ((data == TRUE) && (nsoption_bool(window_simple_refresh) == false)) {
@@ -1701,7 +1764,6 @@ static void ami_gui_opts_use(bool save)
nsoption_set_bool(os_mouse_pointers, false);
}
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_PROXY],(ULONG *)&data);
if(data)
{
@@ -1726,19 +1788,12 @@ static void ami_gui_opts_use(bool save)
GetAttr(STRINGA_TextVal,gow->objects[GID_OPTS_PROXY_BYPASS],(ULONG *)&data);
nsoption_set_charp(http_proxy_noproxy, (char *)strdup((char *)data));
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHMAX],(ULONG
*)&nsoption_int(max_fetchers));
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHHOST],(ULONG
*)&nsoption_int(max_fetchers_per_host));
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHCACHE],(ULONG
*)&nsoption_int(max_cached_fetch_handles));
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_NATIVEBM],(ULONG
*)&nsoption_int(cache_bitmaps));
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(GA_Selected,gow->objects[GID_OPTS_SCALEQ],(ULONG *)&data);
if (data) {
@@ -1747,11 +1802,7 @@ static void ami_gui_opts_use(bool save)
nsoption_set_bool(scale_quality, false);
}
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_DITHERQ],(ULONG
*)&nsoption_int(dither_quality));
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(STRINGA_TextVal,gow->objects[GID_OPTS_ANIMSPEED],(ULONG *)&data);
animspeed = strtof((char *)data, NULL);
@@ -1797,12 +1848,8 @@ static void ami_gui_opts_use(bool save)
if((dot = strrchr(tattr->ta_Name,'.'))) *dot = '\0';
nsoption_set_charp(font_fantasy, (char *)strdup((char *)tattr->ta_Name));
-#ifdef __amigaos4__
GetAttr(CHOOSER_Selected,gow->objects[GID_OPTS_FONT_DEFAULT],(ULONG
*)&nsoption_int(font_default));
nsoption_set_int(font_default, nsoption_int(font_default) +
PLOT_FONT_FAMILY_SANS_SERIF);
-#else
-#warning FIXME FOR OS3
-#endif
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FONT_SIZE],(ULONG
*)&nsoption_int(font_size));
nsoption_set_int(font_size, nsoption_int(font_size) * 10);
@@ -2226,6 +2273,7 @@ void ami_gui_opts_websearch_free(struct List *websearchlist)
do {
nnode = GetSucc(node);
Remove(node);
+ FreeChooserNode(node);
} while((node = nnode));
FreeVec(websearchlist);
--
NetSurf Browser