Attached is a change set with a number of improvements to Celeste. I think they make it easier to use, and more robust to failures. I have incorporated lex's feedback and erred on the side of safety.
I've tested this and have been using it with my personal email for the last week or so.
Enjoy!
Mike mdr@scn.org
____ Change Set: CelesteImprov-mdr Date: 28 January 2000 Author: Mike Rutenberg (mdr@scn.org)
A number of fixes and improvements to Celeste.
(1) Ensure the definitive email database is on disk over a snapshot, so that database changes are reflected next time the image is started (a) Write database to disk before snapshot (b) Read database from disk when Celeste next receives modelWakeUp
(2) Add Balloon Help for buttons and Celeste specific menus
(3) Check database integrity when opening by ensuring the modification times of the files corresponds to the saveDB save order
(4) Remove a redundant (and costly) self changed: message from updateTOC. When displaying a new/modified large category (e.g. the 8000 Squeak messages of last year) it cuts the update time almost in half from 14 seconds.
A variety of smaller fixes including:
(5) MailAddressTokenizer would go into an infinite loop when evaluating email addresses containing accidental control character white space. Change the value of class variable CSNonSeparators to handle this. (e.g. MailAddressParser addressesIn: (22 asCharacter asString, 'testuser@host.com'))
(6) Fix From filter and Subject filter buttons to correctly display their state when you decide to cancel entering a new filter
(7) Saving mail now gives visual feedback
(8) Move Again button fixed to operate gracefully when no message is selected
(9) Minor support changes to rest of system Defines View|setBalloonText: aString for morphic compatibility for Buttons Cosmetic chage to an error message in FileDirectory Change to ensure modelWakeUp is sent to the active window after Snapshot-and-continue
(10) Automatic saves of the database following network communication is now controlled by an flag and have been moved slightly to ensure that slow writing will not time-out network connections. Default behaviour is to do save, as previously.
squeak-dev@lists.squeakfoundation.org