• Andrew Hodgkinson's avatar
    This is an intermediate check-in to allow work on Choices for the new table... · 7caf92e2
    Andrew Hodgkinson authored
    This is an intermediate check-in to allow work on Choices for the new table options and History choices as detailed below. Res files are not up to date except where indicated and there are several known bugs that will be fixed before the 'final' v1.27 is created. Any work on resources should only be done for the testbed !Browse.
    
    Client side image maps implemented. There is code to draw highlighted
    borders in CSIM.c, but this is not wired in yet; other than that,
    the implementation is functionally complete. As part of this, centralised
    the fetching of a targetted URL taking into account user request of a
    new view and full screen mode, in fetchpage_fetch_targetted. The forms
    library now uses this too, so form buttons respond to both adjust-clicks
    and TARGET attributes.
    
    Fixed APPLET handling where '.class' isn't present in the CODE attribute.
    
    Paragraphs squashed at the top of cells/pages - browser would insert white
    space before.
    
    Now append a ' ' to the end of History menu items to prevent the Wimp
    thinking the end of entries represents a keyboard shortcut (e.g. 'Home').
    
    Netscape's handling of 'meta http-equiv="refresh"' is to start counting
    when the fetch has completed and everything else has died down. The browser
    will now not start counting until the animation handler is deregistered
    (so formatting is complete) to show similar behaviour (note that this
    checks the main handler, not the 'idle but returning to first frame'
    drift handler).
    
    URLs from requests for fetches by Plug-Ins are now relativised.
    
    Page width change tolerance prior to reformat upped from 16 to 32 OS
    units. Hoping to provoke a loosely connected bug with this change!
    
    TableOuter, TableInner and SeeFetches choices added to all Choices
    files, with appropriate loading and saving code in Main.c and Save.c.
    AuthorFTP and AuthorFSh messages added for FTP authentication, and
    dialogue handling code (the component in FetchHTML.c) updated to
    recognise an FTP fetch and alter the dialogue presentation
    appropriately.
    
    All Messages file version numbers taken up to 1.27 (20 Nov 1997).
    
    Following a UseNet suggestion, Ctrl+Toggle Size will increase the window
    size to fill the screen vertically only; horizontal size/positioning is
    not changed.
    
    Shift+Tab in the URL writable will cycle through alternative fetcher
    protocols (from both the Controls file and checking the fetcher modules
    are actually present).
    
    Hotlist doesn't require '://' in URLs when loading HTML, just ':/' - so
    'file:/' URLs now will be reloaded correctly.
    
    History system rewritten completely. GHistSize and VHistSize options
    removed, and replaced by MaxSize and ExpiryAge. Now have global history
    menus with most recently visited items at the top, and local history
    menus which reflect the path that forward/back buttons would take.
    Browsers are robust to background expiry of the History though this is
    not implemented - date expiry and size checks are carried out on
    history_record only. This does mean that with two windows open one could
    have the history expired underneath it whilst another fetched, though;
    the code handles this and update toolbars (greying items) as necessary.
    It is possible to have the history limits so tight that even one entry
    will not fit and again the code copes with this, though values read
    from Choices are limit checked to ensure rather more useful results!
    
    Implemented 'Save' button in save dialogues. Remembers pathnames and just
    replaces the leaf now (hard coded exceptions for <Wimp$Scrap>... and
    <Wimp$ScrapDir>...) - it did before, but only if you'd typed the path
    in. Not many people did, given that you couldn't press Return or click on
    a Save button to use that path...
    
    In a similar vein, files of type Data or DOS will be checked for a '/xxx'
    type extension and the MimeMap module will be used to find a more meaningful
    filetype. If this can be handled, the file is loaded. This only works for
    files dragged to the browser - the behaviour with inline data in web pages
    will depend on the File module, and similarly, if File doesn't spot what is
    going on and claims that the object is data, the browser will just open a
    save dialogue for it.
    
    !RunD files taken up to 3072K WimpSlot.
    
    Hotlist's saved HTML page title wasn't internationalised - is now. This
    opened up a significant can of worms; on file write error, the file would
    never be closed, and if a caller of the save or load functions passed
    in a filename held in the global Messages lookup buffer then subsequent
    lookups in the callees would corrupt that filename. All sorted out now.
    
    Local (not very useful) or global (useful) histories can be saved as HTML,
    which opens up the possibility of sending your history to the hotlist
    by saving to it. Local and global histories can also be emptied, though
    this is probably not a feature that current release Desktop browsers need.
    Inheritance of local history and certain UI features is now done more or
    less for all cases where one browser window spawns another, too.
    
    Vertical alignment on images is rather less ropey than it was (e.g.
    ALIGN=TOP stands half a chance of working) but is still far from perfect.
    This was part of fixing a nasty little bug in Redraw.c's setting of
    an image position via. image_set_token_image_position, which was making
    (amongst possibly many other things) client side image maps fail.
    Image update where images had large borders was affected by a similar
    problem too (more cans with more worms...).
    
    Fixed image background filler functions; two problems. When cross
    referenced images were replaced by base images in a browser because the
    original owner was closing down, the original owner browser would stay
    registered with ImageLib. Fixed; secondly, when images were deleted from
    the image array causing those above to be renumbered, images registered
    with ImageLib did not have their numbers updated (this was the one that
    lead to the visible drop out of background images with PNGs on the Acorn
    Internet home page when there were two views of the page and the first
    was closed). This is now also sorted out.
    7caf92e2
!RunD,feb 4.74 KB