summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-07-28 21:56:27 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-07-28 21:56:27 +0100
commitdfef1d6fde95891089225570d44fc79b8c738989 (patch)
tree2ee3abe0adfa42188866b9c7e4df854f8868ba07 /amiga
parent72fe92d9ca0d3ba06c56cc258575e42102d502c6 (diff)
downloadnetsurf-dfef1d6fde95891089225570d44fc79b8c738989.tar.gz
netsurf-dfef1d6fde95891089225570d44fc79b8c738989.tar.bz2
Use requester.class directly, so we can get requesters to appear on NetSurf's screen. Untested.
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/misc.c38
1 files changed, 30 insertions, 8 deletions
diff --git a/amiga/misc.c b/amiga/misc.c
index affb65197..8e8fa76d0 100755
--- a/amiga/misc.c
+++ b/amiga/misc.c
@@ -23,7 +23,14 @@
#include <sys/types.h>
#include <proto/dos.h>
+#include <proto/exec.h>
+#include <proto/intuition.h>
+#include <proto/utility.h>
+#include <proto/requester.h>
+#include <classes/requester.h>
+
+#include "amiga/gui.h"
#include "amiga/utf8.h"
#include "desktop/cookies.h"
#include "utils/log.h"
@@ -33,19 +40,34 @@
void warn_user(const char *warning, const char *detail)
{
+ Object *req = NULL;
char *utf8warning = ami_utf8_easy(messages_get(warning));
+ STRPTR bodytext = NULL;
+ LONG result = 0;
LOG(("%s %s", warning, detail));
- TimedDosRequesterTags(TDR_ImageType,TDRIMAGE_WARNING,
- TDR_TitleString,messages_get("NetSurf"),
- TDR_GadgetString,messages_get("OK"),
-// TDR_CharSet,106,
- TDR_FormatString,"%s\n%s",
- TDR_Arg1,utf8warning != NULL ? utf8warning : warning,
- TDR_Arg2,detail,
- TAG_DONE);
+ bodytext = ASPrintf("\33b%s\33n\n%s",
+ utf8warning != NULL ? utf8warning : warning, detail);
+
+ req = NewObject(REQUESTER_GetClass(), NULL,
+ REQ_Type, REQTYPE_INFO,
+ REQ_TitleText, messages_get("NetSurf"),
+ REQ_BodyText, bodytext,
+ REQ_GadgetText, messages_get("OK"),
+#ifdef __amigaos4__
+ REQ_VarArgs,
+ REQ_Image, (struct Image *)REQIMAGE_WARNING,
+ /* REQ_CharSet, 106, */
+#endif
+ TAG_DONE);
+
+ if (req) {
+ result = IDoMethod(req, RM_OPENREQ, NULL, NULL, scrn);
+ DisposeObject(req);
+ }
+ if(bodytext) FreeVec(bodytext);
if(utf8warning) free(utf8warning);
}