1. 19 Nov, 1997 1 commit
    • 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
  2. 12 Sep, 1997 1 commit
    • Andrew Hodgkinson's avatar
      As warned in the last log, pretty much all event codes and component IDs have... · e6b771f8
      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!
      e6b771f8
  3. 09 Sep, 1997 1 commit
    • Andrew Hodgkinson's avatar
      First a minor warning - the various Res files are out of sync in this build. · 7656a1b3
      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; how...
      7656a1b3