summaryrefslogtreecommitdiff
path: root/amiga/gui_options.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/gui_options.c')
-rwxr-xr-xamiga/gui_options.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 2a7e6c849..7318e00a3 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -20,6 +20,7 @@
#include <string.h>
#include <proto/exec.h>
#include <proto/intuition.h>
+#include <proto/graphics.h>
#include "amiga/object.h"
#include "amiga/gui.h"
@@ -59,6 +60,7 @@ static struct ami_gui_opts_window *gow = NULL;
CONST_STRPTR tabs[9];
CONST_STRPTR screenopts[4];
CONST_STRPTR proxyopts[5];
+CONST_STRPTR nativebmopts[3];
CONST_STRPTR gadlab[GID_OPTS_LAST];
void ami_gui_opts_setup(void)
@@ -84,6 +86,11 @@ void ami_gui_opts_setup(void)
proxyopts[3] = (char *)ami_utf8_easy((char *)messages_get("NTLM"));
proxyopts[4] = NULL;
+ 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"));
+ nativebmopts[3] = NULL;
+
gadlab[GID_OPTS_HOMEPAGE] = (char *)ami_utf8_easy((char *)messages_get("URL"));
gadlab[GID_OPTS_HOMEPAGE_DEFAULT] = (char *)ami_utf8_easy((char *)messages_get("UseDefault"));
gadlab[GID_OPTS_HOMEPAGE_CURRENT] = (char *)ami_utf8_easy((char *)messages_get("UseCurrent"));
@@ -101,6 +108,10 @@ void ami_gui_opts_setup(void)
gadlab[GID_OPTS_FETCHMAX] = (char *)ami_utf8_easy((char *)messages_get("FetchesMax"));
gadlab[GID_OPTS_FETCHHOST] = (char *)ami_utf8_easy((char *)messages_get("FetchesPerHost"));
gadlab[GID_OPTS_FETCHCACHE] = (char *)ami_utf8_easy((char *)messages_get("FetchesCached"));
+ gadlab[GID_OPTS_NATIVEBM] = (char *)ami_utf8_easy((char *)messages_get("CacheNative"));
+ gadlab[GID_OPTS_SCALEQ] = (char *)ami_utf8_easy((char *)messages_get("ScaleQuality"));
+ gadlab[GID_OPTS_ANIMSPEED] = (char *)ami_utf8_easy((char *)messages_get("AnimSpeed"));
+ gadlab[GID_OPTS_ANIMDISABLE] = (char *)ami_utf8_easy((char *)messages_get("AnimDisable"));
gadlab[GID_OPTS_SAVE] = (char *)ami_utf8_easy((char *)messages_get("Save"));
gadlab[GID_OPTS_USE] = (char *)ami_utf8_easy((char *)messages_get("Use"));
gadlab[GID_OPTS_CANCEL] = (char *)ami_utf8_easy((char *)messages_get("Cancel"));
@@ -115,6 +126,8 @@ void ami_gui_opts_open(void)
ULONG proxytype = 0;
BOOL screenmodedisabled = FALSE, screennamedisabled = FALSE;
BOOL proxyhostdisabled = TRUE, proxyauthdisabled = TRUE;
+ BOOL disableanims;
+ char animspeed[10];
if(option_use_pubscreen && option_use_pubscreen[0] != '\0')
{
@@ -155,6 +168,11 @@ void ami_gui_opts_open(void)
}
}
+ sprintf(animspeed,"%.2f",(float)(option_minimum_gif_delay/100.0));
+
+ if(option_animate_images) disableanims = FALSE;
+ else disableanims = TRUE;
+
if(!gow)
{
ami_gui_opts_setup();
@@ -452,7 +470,52 @@ void ami_gui_opts_open(void)
*/
PAGE_Add, LayoutObject,
LAYOUT_AddChild,VGroupObject,
+ LAYOUT_AddChild,VGroupObject,
+ LAYOUT_SpaceOuter, TRUE,
+ LAYOUT_BevelStyle, BVS_GROUP,
+ LAYOUT_Label, messages_get("Images"),
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_NATIVEBM] = ChooserObject,
+ GA_ID, GID_OPTS_NATIVEBM,
+ GA_RelVerify, TRUE,
+ CHOOSER_PopUp, TRUE,
+ CHOOSER_LabelArray, nativebmopts,
+ CHOOSER_Selected, option_cache_bitmaps,
+ ChooserEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text, gadlab[GID_OPTS_NATIVEBM],
+ LabelEnd,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_SCALEQ] = CheckBoxObject,
+ GA_ID, GID_OPTS_SCALEQ,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_SCALEQ],
+ GA_Selected, option_scale_quality,
+ CheckBoxEnd,
+ LayoutEnd, // images
+ CHILD_WeightedHeight, 0,
+ LAYOUT_AddChild,VGroupObject,
+ LAYOUT_SpaceOuter, TRUE,
+ LAYOUT_BevelStyle, BVS_GROUP,
+ LAYOUT_Label, messages_get("Animations"),
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_ANIMSPEED] = StringObject,
+ GA_ID, GID_OPTS_ANIMSPEED,
+ GA_RelVerify, TRUE,
+ STRINGA_HookType, SHK_FLOAT,
+ STRINGA_TextVal, animspeed,
+ STRINGA_BufferPos,0,
+ StringEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text, gadlab[GID_OPTS_ANIMSPEED],
+ LabelEnd,
+ LAYOUT_AddChild, gow->gadgets[GID_OPTS_ANIMDISABLE] = CheckBoxObject,
+ GA_ID, GID_OPTS_ANIMDISABLE,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_ANIMDISABLE],
+ GA_Selected, disableanims,
+ CheckBoxEnd,
+ LayoutEnd, //animations
+ CHILD_WeightedHeight, 0,
LayoutEnd, // page vgroup
+ CHILD_WeightedHeight, 0,
PageEnd, // page object
/*
** Fonts
@@ -513,6 +576,7 @@ void ami_gui_opts_open(void)
void ami_gui_opts_use(void)
{
ULONG data;
+ float animspeed;
GetAttr(STRINGA_TextVal,gow->gadgets[GID_OPTS_HOMEPAGE],(ULONG *)&data);
if(option_homepage_url) free(option_homepage_url);
@@ -595,6 +659,20 @@ void ami_gui_opts_use(void)
GetAttr(STRINGA_TextVal,gow->gadgets[GID_OPTS_PROXY_PASS],(ULONG *)&data);
if(option_http_proxy_auth_pass) free(option_http_proxy_auth_pass);
option_http_proxy_auth_pass = (char *)strdup((char *)data);
+
+ GetAttr(CHOOSER_Selected,gow->gadgets[GID_OPTS_NATIVEBM],(ULONG *)&option_cache_bitmaps);
+
+ GetAttr(GA_Selected,gow->gadgets[GID_OPTS_SCALEQ],(ULONG *)&data);
+ if(data) option_scale_quality = true;
+ else option_scale_quality = false;
+
+ GetAttr(STRINGA_TextVal,gow->gadgets[GID_OPTS_ANIMSPEED],(ULONG *)&data);
+ animspeed = strtof(data,NULL);
+ option_minimum_gif_delay = (int)(animspeed * 100);
+
+ GetAttr(GA_Selected,gow->gadgets[GID_OPTS_ANIMDISABLE],(ULONG *)&data);
+ if(data) option_animate_images = false;
+ else option_animate_images = true;
}
void ami_gui_opts_close(void)