Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Andrew Hodgkinson authored
Open URL implementation more or less complete, though may undergo UI
revision at a later date to allow named frames to be targetted. Hope to use
the ideas in this code as the foundation for other general dialogues.

In token stream dump for TRACE builds, table head items were not indented
as far as they should have been - this is fixed; and manual toolbar redraw
routines have been removed. They never worked, were commented out, and
would never be used in that form anyway.

DragBox source added, but it isn't at all complete and won't work - this is
an 'in spare time' thing. We need custom drag boxes constrained to windows
for the hotlist, and unconstrained for frame border resizing... Hey ho.

Ancestor window extents match visible areas if there are frames (no more
scrolling framesets...!). Frame resizing works whilst new documents fetch
without pulling the extent down now. However, frame horizontal extents
never shrink until a reload which is nasty, and this is all due for a
rewrite. Frames border redrawing routine moved out of Redraw.c and into
Frames.c. Bug regarding the mouse rectangle and frame border widths
(rectangle was too large, so you could squash the edges) for edge-drag
frame resizes fixed.

Window width change reformat tolerance fixed; you could creep the window
width down or up forever without any reformat, and centred objects would
move but not be redrawn (thereby giving rise to subsequent redraw errors).

Filetype on objects saved through Shift+Click correct. Save Source dialogue
recognises if that source is plain text, rather than assuming HTML. A
browser that fetches a file remembers the old store size it had before the
save, so even though the data is now ditched, it reports the same amount of
data fetched afterwards (looked awful when this could, for example,
suddenly say '0' after a file save). Progress indicator is now fully aware
of one or many file saves inside a frameset and reports the number of
saves, a colon, and the cumulative saved data count, instead of reporting
the sum total of fetched data in all frames, including non-file save stuff
(note that for just 1 save, '1:' is not shown as a special case for the
most common condition). A bug related to this, where you could in fact only
do one fetch per frame*set*, has been corrected (only one fetch allowed per
frame still, this is unlikely to ever change).

Hotlist support added (D.Brown's source), with various bits of integration
and modification still in progress there. Note additions to the Messages
files. On the subject of Messages, the whole mucky business about what
goes in Messages or Choices (and a few bugs where lookup_choice was used
instead of lookup_token or vice versa) has been sorted out. Messages
contains, more or less, just that. Choices contains user configurable
stuff which generally can't mess things up too badly. A new file, Controls,
is a Messages file holding the non-user configurable choices, which can
generally make things go badly wrong if misused. A lot of these are tied
to the Res file. StrongED users can get these to automatically fold out
the various sections (EMail me for details). Sorry, but at the time of
writing, Zap doesn't do folding... =8*P

Two bugs with images. Asking for images to be shown in browser B when
browser A uses the same ones and was loaded first didn't work correctly,
and now does (a bit weird - browser A does the fetch and browser B does the
display...). Second one occurred when the background image was also used on
the page as a foreground image. This has been fixed by flagging background
images in the image_info structure, and checking this before cross
referencing. This bit also allowed the image_restart_fetches API to be
extended, so that just background or foreground images may be fetched if
they weren't already and the user asked the browser to show them. Before,
the whole lot had to be fetched together (so turning on 'display
backgrounds' will now kick off an image fetch if required, you don't
need to reload the page anymore).

Makefile copy options tweaked to be 'newer' (so if you're testing with some
temporary Choices file or something, it won't write over it at the end of
every export), and REMOTE_HOTLIST flag added for Customer builds - means
the Hotlist.c functions aren't needed; the old, hotlist-by-file method is
used. Added support for Customer build (see later), though there were very
few additions needed in practice.

Table printing fixed - in many ways it wasn't broken, it was image printing
causing the oddities ever since the global image pool was introduced (this
is, again, fixed). The 'reformat to fit page' option didn't work as coded
any more; tables store cell addresses in the HStreams, so you can't then do
a background reformat in a different browser. Hence, it now has to reformat
to the page width, print, then put the page back again, all in the actual
displayed browser. This doesn't feel as slow in use as it perhaps should,
considering what is going on... Note that a line of a defined fraction (see
Print.h) of page height will now split over page boundaries, so tall images
or tall tables don't cause problems now (aside from the obvious problem of
having the line split over a page at all!). There was a bug in the routine
to print from a given start point until 'n' pages had been filled, in that
it always filled 'n + 1' - now fixed. Finally, as part of the printing
tweaks, a new dialogue exists - PrintStyle - with a similarly named source
file added to deal with it.

Global history auto save / load done, but only to the Choices file path -
the whole browser is still strictly single user at present, with all the
extra work for a multiuser Customer environment yet to be done. This has
shown up a global history corruption problem which I haven't fixed yet.

Rationalising TBEvents.h - things are migrating out of it, and into more
appropriate sources (e.g. definitions relating to the Open URL dialogue are
going into OpenURL.h, etc.). Event codes were at one stage deliberately
diverged in numberspace from the component IDs of typical gadgets raising
the events, to avoid anyone getting confused and thinking the IDs and event
codes must match. However, this is in fact unlikely and it is much easier
to remember the fewer numbers that result from tying the two together where
possible. This has resulted in changes to event codes raised in the
following objects of all Res files: Authorise, Find, OpenURL, and
PrintStyle.

And finally - !Run[D] files for all variants updated to require the latest
toolbox and fetcher modules. All Res files updated for hotlists etc. and
sprites files updated appropriately. All Messages, Choices and Controls
files brought in sync., and an Customer build has been added (based on the
Desktop build binary with different resources).

That's all for now...
532155bd
Name Last commit Last update
..
Authorise Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Browser Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Cookies Updated Makefile to work better in folding text editors. More or less rewrote
DragBox Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Fetch Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
FetchHTML Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
FetchPage Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Find Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
FontManage Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Forms Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Frames Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
FromROSLib Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Global Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Handlers Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
History Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Hotlist Various bug fixes and support for displaying either URLs or descriptions
Images Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
JavaScript Updated Makefile to work better in folding text editors. More or less rewrote
Main Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Memory Updated Makefile to work better in folding text editors. More or less rewrote
Menus Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Meta Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Mouse Updated Makefile to work better in folding text editors. More or less rewrote
OpenURL Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
PrintStyle Very long log entry alert - but hey, beats 'Bug fixed' (sorry, Richard) ;-)
Printing
Redraw
Reformat
Save
Tables
TokenUtils
Toolbars
Trace
URLstat
URLutils
URLveneer
Utils
Windows
svcprint