• Andrew Hodgkinson's avatar
    All !Run[D], Choices, Messages, Controls and Res files are up to date. · c55f6452
    Andrew Hodgkinson authored
    RefoKeep and RefoHold options added to, respectively, try and maintain
    the line at the top of the visible area when reformatting, and not shrink
    the vertical extent at the start of a reformat to try and avoid flicker
    to the top of the page and back down again when RefoKeep is on. Choices
    front-end implemented, which also allows RefoWait and RefoTime to be set.
    Unfortunately for various reasons this doesn't help the page jumping when
    unsized images come in (but RefoHold can improve matters...) - roll on
    the image history.
    
    DragToScroll and NoScrollBars options added for frames; included new
    pointer type, Mouse_Shape_DTS, so relevant Controls file entries done
    and Sprites[22] files updated as required. Noticed some builds have
    a low-res ptr_link with a mask - mask removed.
    
    Named anchor following fixed up somewhat - anchors near the bottom of
    the page shouldn't be displayed, and then pulled down when the fetcher
    releases null polls and ensures the y extent is correct (this through
    implementing the min_height field in the browser_data structure).
    
    RefoHang was never implemented and there seems little point to it now,
    so the entry for it has been removed from the global choices structure
    and all Choices files.
    
    Markers menus should work properly now (in last check-in they would not
    update correctly if Adjust was used on the entries).
    
    URI handler usage now a lot more sensible, with configuration of how the
    browser uses the module from both a Utils menu submenu (sic) and the
    Choices dialogue.
    
    Slightly dodgy 'hang around waiting for user input' stuff for the Cookies
    dialogue box: All fetches are suspended; the fetcher remembers some info
    about its state at the time the cookie came in, and restores it later; it
    will only do this for one fetch at a time. It's necessary to single-thread
    the fetcher at this point anyway, since other fetches may have a
    dependency on the cookie that is hanging in mid-air at that point. As part
    of this, some of the fetcher code has been split out into separate
    functions (to try and 'black box' the code a bit). Anyway, Cookie Query
    dialogue box now implemented with appropriate Choices file entry and
    UI work in the Choices dialogue box.
    
    Phoenix build Choices rearranged. Can now choose when the image history
    is saved from the front end. Added also MSIE 4-style table option menu
    for JPEG support (OS only, OS if it can handle it, internal only).
    
    Should be a bit faster at loading the history - though 95% of the time
    is spent in SWI URL_ParseURL. URL descriptions are stored more
    efficiently as part of this - one malloc block instead of several
    small blocks. The minimum block size for malloc blocks typically leads
    to a significantly smaller startup wimpslot depending on the visit
    history size.
    
    Nasty bug in image system fixed. If an image size came in and a reformat
    was to take place, the line the image lies in is found and the reformat
    progresses from there. Unforunately, this didn't check to see if the
    token can't be found in the line list, so it'd reformat from the top
    of the page...! This would happen if, for example, an image halfway down
    the page came in whilst a reformat for an image higher up had just begun.
    
    In Choices.c, made choices_set_timetype_field, choices_set_uri_field,
    choices_set_plugin_field, choices_set_cookie_field, and
    choices_set_jpeg_field static (so they're not declared in Choices.h now).
    
    Two memory leaks plugged in URL comparison routines in URLutils.c
    (calling free() url_description instead of urlutils_free_descripton()).
    
    Client pull reload handler was setting the reload flag if reloading
    the same page, but forgetting to turn on reload_lock so
    fetchpage_postprocessed was clearing the reload state... Similarly,
    Ctrl+Shift+SELECT-Click on a link when the Controls file 'UseSmall'
    entry is 'no' would not have reloaded as it should. Both fixed.
    
    Frames shouldn't be so keen on acquiring horizontal scroll bars and never
    letting them go when their width is decreased now. Frames set up for
    'scrolling="yes"' will not start with no scroll bars and then gain them
    shortly afterwards, causing flicker and two reformats - they'll start
    with, and continue to hold, both scroll bars.
    
    Pointer shouldn't flicker when over a frame border whilst other fetches
    are progressing now.
    c55f6452