- 03 Oct, 1997 1 commit
-
-
David Brown authored
-
- 02 Oct, 1997 3 commits
-
-
Kevin Bracey authored
-
Kevin Bracey authored
-
Andrew Hodgkinson authored
Didn't redraw browsers which would be immediately affected by a change to the Choices when 'Set' was used. Appropriate redraw calls added. Reversed decision to toe in the pane window by 8 OS units relative to the placeholder icon sides.
-
- 01 Oct, 1997 3 commits
-
-
Andrew Hodgkinson authored
Changed some error handling in Choices, a little bit of reformatting, removed unnecessary tempstring in Main, and played about with the choices Res file objects.
-
David Brown authored
-
David Brown authored
Added run time RMEnsuring type behaviour for ColourDbox to save RMA space on start up of the browser. Also added additional deregistering of events which I forgot to do last time :(
-
- 30 Sep, 1997 1 commit
-
-
Kevin Bracey authored
Renamed Symbols to syms and ensured it is CDir'ed. Made Trace.c show tag_no field textually. Ungreyed CJK entries in Encoding menu.
-
- 29 Sep, 1997 3 commits
-
-
David Brown authored
-
David Brown authored
-
David Brown authored
Altered hotlist_add to create the new url after the first selected item or inside the first selected directory when an item is selected.
-
- 26 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
Text items with no VALUE specified in the HTML were not cleared on hitting a Reset button as the text field of the token is NULL; fixed. SELECT lists with no default selection item were not being changed on hitting a Reset button; fixed. In radio groups with no default selection specified, no item will be selected. This goes against the HTML 2 spec but allows broken Navigator-esque forms behaviour. In consequence, radios can be deselected by clicking on the same one twice. I'd fixed the flickering experienced when doing this recently, but that, now, is irrelevant, since the state of a radio must always change. Reformatter's new 'find width of a SELECT field' didn't account for the width of <none> and <many> items, and now does (particularly important for broken items with no OPTION contents). Under certain circumstances, illegally named targets would open in the ancestor rather than a new window - a deliberate decision in the code, but now reversed due to a test suite failure; they'll open in a new window instead. Altered the left hand indent handling for lists so that headings and body text follow the Navigator 48 pixel indent and the bullet point items drop to the left of the left hand margin, rather than sitting on the margin with the text indented to the right. Tightened up the hotlist_load_directory checking of URLs, so that only those with '://' in - i.e. look fully specified - are accepted. HTML files are loaded into a new directory now. Items without a descriptive title in hotlist_new_url will have the URL substituted in instead. White space before and after descriptions and after URLs is stripped. Directories with zero length names or null strings (after white space is stripped) will still be created, with a generic name (see Messages, token 'HotlistUntitled').
-
- 24 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
StrongHelp generator on it. Revealed a spurious toolbox_hide_object call that would always fault and never do anything, and a few heinous uses of show_error which have all been removed. When dragging hotlist items, directories will now be highlighted whenever the item would be added to them, rather than just over the sprite. In practice this only changes if the item is open and has contents... Drag box selections had broken in the hotlist; fixed (uninitialised variable in hotlist_select_box). Adjust-drags now close the window on completion. Minor problem with Shift+Drag (copy) reversing order of items sorted out. Added hotlist_add_html_file and implemented loading of HTML. DO NOT add broken HTML files, this has not been coded for and URLs of the form http:///this/that (no host name) will hang the machine (bug in the cookie code of the HTTP module up to at least version 0.39). Made SELECT list items only as wide as the widest entry...
-
- 22 Sep, 1997 4 commits
-
-
Andrew Hodgkinson authored
Forgot to mention the important bit - Choices and Controls are now *not* loaded into a malloc block, and chf/cof have been removed. This is because the length of the message file is indeterminate when loaded by MessageTrans; precisely what MessageTrans does with it on loading is unspecified in the PRMs. MessageTrans_FileInfo could imply that the size required for the file may not be the same as the actual file size on disc... so the save choices routine now loads a copy as it needs it.
-
Andrew Hodgkinson authored
New save choices function with supporting code in Save.c; 'Save choices' option in the Choices menu is now implemented.
-
Andrew Hodgkinson authored
Choices and Controls files are now loaded into malloc space (use chf and cof to address them). Previously only in Main.c, task_dir is now globally visible. Choices updated to allow 16ths of a point in the font size specification and the System font face has been removed - it isn't used. The use of serif and sans serif fonts has been rationalised across builds (e.g. Desktop builds use what they say, but the Customer build uses Homerton as the default body (serif, so to speak) font as it matches the box's look and feel better). Font loading altered a bit to work properly! Font library defines some standard startup fonts without using Choices, which Choices can then override.
-
Andrew Hodgkinson authored
Now working on source merged with Kevin Bracey's internationalisation support. UNIFONT is undefined in the Make File for now. All Res and Choices files updated appropriately. Having sorted out the old Choices and Messages to form Choices, Controls and Messages, this build has had the same cleaning up done internally. This includes greater consistency in naming schemes and the removal of the inconsitent choices items - e.g. Choices file entries saying 'delay images' and 'plain backgrounds' where internally all the flags say 'show images' and 'show backgrounds'. ChoiceDefs.h and CtrlDefs.h added to clarify the meaning of some fields, though usage of these is not 100% in the source (there are cases where parameters are passed through to functions as ints, and those functions still check these against hard coded values rather than the #define stuff). Fetcher status return bits (connected, sent request, etc.) now reflected in status bar. Progress during fetchs to files are reported by %, where the size of th...
-
- 18 Sep, 1997 4 commits
-
-
David Brown authored
Also much faster drag box selections.
-
Kevin Bracey authored
Encoding support added: if UNIFONT is defined then the browser will attempt to use the system font to render Unicode characters (new International module required). If not defined, the browser will just handle Acorn Latin-1 characters, but HTMLLib will convert other encodings into Latin-1. Must keep the UNIFONT define in sync with HTMLLib (if defined HTMLLib outputs UTF-8, otherwise Acorn Latin-1). Still needed: Reverse encoding (converting form input etc back into the server's character set). Reparse when encoding changes. Setting of charset from an attribute on the <A> tag.
-
David Brown authored
Altered Newdirectory/NewURL routines to create new directories at the pointer.
-
Andrew Hodgkinson authored
Image deletion routines rewritten; nasty animated GIF bug now gone (it kept trying to update the cross-referenced image in the browser that no longer existed, and I've no idea how animated GIFs ever managed to *not* blow up if a cross referencing browser was shut down; and I've tested this...). There are now as many image structures as there are total images in the visible browsers, and no more; cross referenced images in the to-be-deleted browser have their ownership moved to the cross referencer before the cross referencee is wiped, with any required fetches being transferred with them. Reformatter sped up a bit by getting rid of strlen on the main text field of tokens in all places bar one, where it is called extremely rarely. This means direct app-to-app transfer of, say, a 359K text file to the browser won't run like a drain as it tries to do strlen on a 359K string over and over again! Most of the time the performance benefits won't really be noticable, ...
-
- 17 Sep, 1997 1 commit
-
-
David Brown authored
-
- 16 Sep, 1997 1 commit
-
-
David Brown authored
-
- 15 Sep, 1997 3 commits
-
-
Andrew Hodgkinson authored
Added 'save current location'. Res files updated appropriately. Version number taken to Beta-3; next will be 1.21, including K.Bracey's i18n code.
-
David Brown authored
-
Andrew Hodgkinson authored
-
- 14 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
Got the deferred reformatter working properly. It doesn't do that 'OK, the page is fetched and reformatted, but just to annoy you, I'm going to wait 5 seconds and then suddenly reformat the whole thing again' trick anymore. The fetcher was calling the reformatter in a delayed form even when the reformatter was already running, so it would carry on past the reformat point or from below what had become and invalidated line, and some time later, get back to the delayed reformat. Now, reformatting is only delayed by the fetcher when the reformatter is not running. In practice this means body text reformats as it fetches, but large tables will show delayed reformatting - which was exactly the intended behaviour of the feature when it was originally thought of. fetch_token_data_address removed; it was only needed in two places, both of which already knew when to read tp->text and when to ignore it. Its functionality is duplicated in an 'if' involving reformat_istext, anyway. !Run[D] files taken back to requiring HTTP 0.33, since 0.36 introduces many weird and wonderful problems. Typo in Messages files, 'All current images (sic.) fetches finished' - 'images' is now 'image'. Shift+Click saving - you could save to an application. No problem. But the equivalent (just clicking on a link that led to an unknown datatype and getting the save dialogue that way) didn't work. It does now. Another problem was saving to an application that didn't support the datatype - oops, the dialogue would close but the fetch would sit there waiting to be told where to save. It doesn't close now (as expected). NB, doing several simultaneous fetches to a text editor may have problems as the editors are too clever for their own good. Despite receiving DataLoad messages for <Wimp$Scrap> for files of different types, sizes and datestamps, the editors can decide it's still the same file and: Zap - Hats off, it gets it right, almost. You do get warned 'Multiple copies - one on disc is newer' as everything after the first text loads, but they do load, and in separate windows. StrongED - Does not load the subsequent files, so the browser gives 'Data transfer failed' errors and opens up Scrap. Turning off 'Don't load same file twice' fixes it - each file is loaded in a new window with no warnings. At least in the first case, you don't lose data, since the files are kept in Scrap. Edit - Each time it loads the file, it *replaces* the other one in memory, using the same window for each. This is the worst behaviour as it isn't configurable (well, I don't know of a way to change it...) and results in data loss as successive texts get trounced by the new data. I can't see how I can fix this in the browser as it's basically silly behaviour on behalf of the editors. Other applications which don't try to work out if it's a new file or not are fine! When conducting image fetches, proxying is allowed unless reloading. When conducting page fetches, proxying was never allowed - so web cache stuff would have been, er, interesting. It now sets X-NoProxy: in the request header when reloading, but otherwise this is not included. AnimSpeed is, at last, independent of browser poll speed. They used to be tied together. Guess how the animation code used to work ;-) 'Can't handle this datatype' - deprecated now that save dialogues can be popped up. The 'can't save objects in full screen mode' error would never be shown due to a bug, anyway; this now replaces 'can't handle', which has been removed from all Messages files. RefoWait, RefoHang and RefoTime moved from Controls back to Choices. Trying to get rid of strlen in the reformatter - it can get very slow (e.g. strlen of 8K chunks of text, or if a 330K text file is transferred from a text editor straight to the browser, strlen of a 330K string...). There will be unfinished bits of code in the reformatter that may seem unnecessary - they've just not been plugged in yet (since they don't actually work). Don't remove them!
-
- 12 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
As warned in the last log, pretty much all event codes and component IDs have now changed along with many of the names, to provide a consistent name and numberspace for events and components. This also minimises number clashes (e.g. as was, the Save File origin when opened from a Hotlist menu with an already-used component ID). To get full details on this, please carefully read through TBEvents.h. Res files, Sprites files and Messages files have been updated again both due to the above, and routine additions (e.g. message support for a few Hotlist bits and pieces). !Run[D] files updated for FTP 0.11 and HTTP 0.36. In the Makefile, the Customer objects list was missing Save - must have moved something when I should've copied it, when adding in SaveFile or SaveObject in all probability. Now fixed. Couple of other bits and bobs fixed in the build environment (e.g. stuff saying !Argo instead of !Customer). Oh, and I've altered the MakeFile copy options again to the best compromise I can come up with. Newer is turned on for everything except !Run[D] and !RunImage, since both of those change between debug builds - otherwise if you'd built debug and non-debug versions, it was not possible to switch between them - one version would have the newer timestamp and thus never get overwritten. The default hotlist has had a few items added - that'll be about the end of it, I think; there's more than enough stuff in there now. Saving of the hotlist from the document menu and of URI files, directories and selections from the hotlist menu tree is now implemented - this new save system rocks... Oh, and you can save all images and backgrounds as sprites. Saving of items with Shift+Click to other applications directly now works, and is robust. Unique Scrap filenames are used, with data load bounces (e.g. if some pra - er, person quits the app they're sending to) working correctly - that is, give an error, keep the file, rename it to something safe, and open the directory it lies in. As opposed to normal app-to-app bounces, where the scrap file is deleted (see PRM 3-254). This means you can now look at README files in FTP sites, say, without using a disc intermediate. Or you can send pictures straight to ChangeFSI, fetch HTML links into editors, and so-on, and so-on - it's all very funky. Known problems include the ambiguous 'invalid component ID' instead of 'file open' for *normal* (straight to disc) shift+click saves, and I think I'll introduce a unique name guarantee of some sort to stop 'file open' in the first place. Odd that the really tricky part (app-to-app) should be least likely to suffer from this!
-
- 09 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
Only the Browse resources are currently valid. Added Utils.Icons - has a few archives inside containing the resources (well, some of them) used to build various UI sprites for various builds. Archived because these are unlikely to change much, and putting them on CVS was a move to, well, archive the stuff... SaveDBox objects vanquished and requirements in !Run[D] files removed. The data save code fits much more neatly in amongst the data load protocol stuff now (with the slight exception of having to split the SaveObject source into SaveObject and SaveFile - the former handles multiple persistent dialogues for Shift+Click on links and the like, the latter handles 'one at a time' transient dialogues for save source and similar). Export Link is now supported, too, and writes a 'proper' version URI file. You'll find that double-clicking on old URI files will work as the URI handler picks them up, whilst new version ones don't; however, dragging onto the browser will only work with new version files. Note that support for saving and loading URL files (ANT suite stuff) is present too, so old URI files can be typed as URL files if you want to keep them working without modification - the URI handler itself will hopefully support the defined URI file format soon; double-clicking on old URI files will stop working at that point. Note there are *lots* of changes in every Res file to support all this. This may all seem a bit pointless to some, but the changes do in fact make it very easy to add new save dialogues all over the place. Certainly much easier than with the previous system, anyway. In fact, post script, image 'save as sprite' took about half an hour, which I hope proves the worth of the new system. Merged in newer hotlist code with support for drag cancelling with Escape (all relevant Res files appropriately updated) and cancelling scrolling when you've reached the window scroll limit. Had to move some of the Wimp message handling stuff to the central Protocols source, as clashes were occuring, and also the hotlist routines were using independent saving code - a lot of duplicated effort. This was fair enough as at the time the Hotlist code was written, the Save code couldn't be used in the way it is now. New Save Source and Print buttons on the toolbar of some builds. Phoenix Sprites file made more efficient - the Acorn base section has been split from the animated upper region. Browse build has a new grey fade sprite at the back, which is less grainy than the previous one and only uses 16 colours (with a 16 greyscale palette). Not really a bug, bug the routine to start an image fetch for INPUT TYPE=IMAGE forms items only did so if the src field (or equivalent, for this tag type) was non-NULL. In fact, you should always call image_new_image and let that handle the rest, otherwise other sections of the code will fail as they try to obtain an image number for a given HStream and get -1 back. This problem only generally manifested itself when loading an HTML file to the browser straight from an application, as many src fields become NULL when the relativisation routines find nothing to relativise to... Authentication got broken somewhere along the line - this has been fixed (in HTMLLib and the browser). Ctrl+Click on a cross referenced image updates *all* copies, not just the one with the image data attached. Next big step: Rip up TBEvents.h and rebuild that whole approach somewhat. To all those working on the code, my apologies but this means all Res files will receive a very large number of alterations and there will be extensive code changes too (mostly naming convention stuff), in more or less all source files. I am endeavouring to ensure that the new numberspace convention does not clash with the work being done by Kevin on internationalisation.
-
- 05 Sep, 1997 2 commits
-
-
David Brown authored
-
David Brown authored
-
- 03 Sep, 1997 4 commits
-
-
David Brown authored
-
Andrew Hodgkinson authored
File fetches now set DEADDEAD during the fetch, Data if it is aborted, or an appropriate filetype when finished. If the fetcher routines return a zero or data filetype, the browser looks at a set of hard coded filename extensions to try and determine if there's a better filetype to use (urlutils_filetype_from_url) - since this is a centralised routine it can use a Mime mapping system (or be removed entirely) as and when one becomes available. You can now drag URI / URL files to the Hotlist window to add them to the list. They are added roughly where dragged to. (NB, note that I renamed the function to return the window ID - just being picky; it matches other similar functions now). Oh, and hotlist_add_position actually works now ;-) The global history will save when titles are added, as well as when a URL is added. Before, a browser crash could mean a title got dropped out of the history file even if SaveHistory was set to 'always'. SaveObject sources have been added but nothing references them or links them in yet - they're not finished. Mostly checking this one in because of the hotlist changes.
-
David Brown authored
-
Andrew Hodgkinson authored
- i.e. it includes the changes that were part of the intermediate check-in done yesterday (02/09/97). New function to go from URL to pathname in urlutils, also changed return values on those functions which alter the given buffer to return nothing, rather than the buffer address (which wasn't helpful). Fixed nasty in the Message_DataLoad code (it thought all loads were app to app - oops; can in fact just check your_ref, which is 0 if this is a DataOpen or DataLoad direct from the Filer. PRM 3-253). Implemented Load Images and View Source buttons. Small fetch window - configurable in Choices (UseSmall) is the use of a special 'small' window for fetches. Configurable as if you Shift+Select click it'll open one of these, which some people might hate, so you can turn the feature off and the fetch will progress in the browser window you clicked on, as normal. Default is for this to be on, since it matches the behaviour of other browsers. This means all Res files have been updated, except for the Customer build, which can't fetch external objects as it is a full screen variant. New pointers for the hotlist autoscroll, including full specification of their active point offsets in Controls. This means all Sprites files have been updated. New sprites for HTML and URI files, so all !Sprites and !Sprites22 have been updated. (Suggested by KBracey) You can now drag objects to the toolbars of a window to fetch into the ancestor (useful for framesets). Function windows_close_browser now returns void; it only returned an int as it used to be a Toolbox event handler and I obviously forgot to get rid of this when I turned it into a general purpose function. !Run/!RunD/etc. files updated yet again, since the browser now supports different application names. Corrected fault where Browse$CookiePath was being unset - should've been Browse$CookieFile and Browse$CookieFileFormat. 420K is no longer enough, so they've all been given 512K for the non-debug versions (OK since malloc will fill up any excess allocation before starting to extend the slot size itself). Fixed global history bug - the history would become corrupted whenever it exceeded the maximum size specified in Choices. Fetcher now supports HTTP return code 301 (Moved Permanently). Wrapped in #ifndef STRICT_PARSER. I've started on some general documentation, aside from the overdetailed PSI memory information (which needs updating). Once this gets some substance to it and achieves a recognisable, maintainable structure, it'll get added to CVS - for now, there's no point (you'd have trouble making sense of the various unsorted fragments!). Right. Time to get rid of SaveDBox.
-
- 02 Sep, 1997 4 commits
-
-
Kevin Bracey authored
-
Andrew Hodgkinson authored
This version is being checked in because the Hotlist manager in the test build provokes a Wimp bug. All the variant resource files are out of sync and there are several outstanding bugs in the main code, so I'd personally avoid this build like the plague unless you're mad enough to want to examine the Wimp problem ;-)
-
David Brown authored
-
Andrew Hodgkinson authored
-
- 01 Sep, 1997 1 commit
-
-
Andrew Hodgkinson authored
-