- 18 Sep, 1997 1 commit
-
-
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, ...
-
- 15 Sep, 1997 1 commit
-
-
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.
-
- 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; how...
-
- 03 Sep, 1997 1 commit
-
-
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.
-
- 02 Sep, 1997 1 commit
-
-
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 ;-)
-
- 31 Aug, 1997 1 commit
-
-
Andrew Hodgkinson authored
Created Protocols source file and moved a lot of message handling from handle_messages - the latter now serves as a high level distributor to lower level functions in Protocols. Incidentally, URL files (as used by the ANT suite) can be loaded by dragging to the browser in the same way as URI files - Not A Lot Of People Know That, etc. Merged new hotlist display type Res file to existing resources, added support for DataSave message so items can be dragged from the hotlist to a specific window (RAM transfer for URI and URL files; ScrapFile for HTML and Text but deleted afterwards and there are appropriate guards to stop Reload just saying 'not found'; images run through ScrapFile and there is no choice but to leave them there and do a conventional fetch). All !RunD files now give a WimpSlot of 2304K. Some small changes to the Argo and Ursula build Res files to make the menu trees more sensible. Controls files now take 'file:/' instead of 'file://' in Protocols section. Definitions at top of URLutils.c *no...
-