Up to Scribe...
About
This version has some milestone changes under the hood, primarily the port to UTF-8 throught the LGI api's. So this version will possibly exhibit worse stability than the last. However it will hopefully be significantly better, especially at decoding mail which was broken for some types of input in the last build. Also the charset support should be a lot better outside the editor, for example the list control and folder names etc. If you are interested in seeing charsets other then utf, windows-125x and iso-8859-x then you will need to get the iconv dll. Charset support is significantly better under Windows NT/2k/XP because of the native Unicode support. 8bit single char charset are fully supported in Windows 95/98/ME directly, and display of Unicode is supported in some areas. Also the outgoing codepage is stuck in utf-8 for this build, I will fix this soon, but in the meantime most modern mailers will accept utf-8.
Changes:
- Fixed the list control's not being a tabstop.
- Fixed the list control with lots of items hanging the application when drag selecting items off the bottom edge of the control. Especially when the application has a OnSelect handler, like say Scribe with a very large folder of email. It would eventually recover, but we're talking about 15 seconds of inactivity for a folder of several thousand email. Which is pretty annoying don't you think? :)
- Fixed drag'n'dropping multiple attachments from an email at once.
- I think I've Fixed the Mail::GetCharSet() crash. There is still lots of exception handlers around it so if it does crash it won't bomb Scribe, it'll just show up in the Scribe.txt file. This was one of the places it would crash when openning mail, there seems to be quite a few, different places that it would crash.
- Fixed the crash when pressing the UP arrow while the mailbox folder is selected. This bug has been there for a long time, it's just the someone noticed it now.
- Fixed the cursor not appearing in the unicode control when it's empty.
- Improved the automatic file name generation for dropping Scribe objects onto the desktop. I made a common function to handle it. Also spaces are now allowed, and the length is limited to 32 chars.
- Fixed some memory leaks in the d'n'd code. Also fixed a few in the mail object export code.
- Fixed the mail encoding to write proper combinations of multipart/mixed and multipart/alternative MIME messages to support HTML export/forwarding etc. (I havn't tested forwarding yet... so it probably doesn't work).
- Fixed some bugs in the Content-Type: header parsing that caused the boundary to be missed which obviously completely screws up the MIME decode. Oh yes, my implementation of stristr was buggy. Gee I surprise myself sometimes with just how bad my code can be.
- [Linux] Fixed the Group widget losing it's children.
- [Linux] Fixed the GView::GetWindow() function so that the account settings dialog works.
- [Linux] Fixed the GEdit widgets keyboard input. (Tabbing between controls is still broken in Linux).
- Added code to insert missing "body" tag in the html control. This fixes the layout not having a margin around it.
- Added a mouse wheel handler to the html control.
- Fixed d'n'd'ing objects from the find window into another folder.
- Fixed date/time drop downs in Calendar UI not setting the "changed" state of the Entry causing the changes not to be saved.
- Added Filter bar to filter list items by field. Supports substring matching and wildcard matching, auto-detecting which is in use by checking for the '*' or '?' characters in the match string. A purely textual comparision is made, dates and sizes are interpreted as plain text at this stage.
- Fixed creation/renaming of folders to support the '/' char and non-ascii chars.
- Fixed some crash points in the creation/rename of folder's dialogs.
- Increased the buffer length of some string functions in the NTLM auth module for IMAP logins etc.
- Added rowspan and colspan support to the HTML control.
- Added out of order tag parsing fallback code to the HTML control. To cope with broken HTML being passed in.
- Fixed the minimum size of "img" tags in the HTML control.
- Fixed processing of whitespace in "style" attributes in the HTML control.
- Fixed the last email in the list not being deleted from the mail window.
- Rewrote the character conversion library for speed and stability. Make LGI Utf-8 throughout except for where it needs to talk to windows (ucs-2). Removed all the codepage options from the fonts and mail etc, they are irrelevant when using Unicode. Removed the 8-bit edit control from use.
- Fixed reading/writing unicode to windows edit controls in LGI. This doesn't work under Win9x, so you won't get support for unicode in editboxs there, however the codepage will detect OK and text will convert up to unicode (from cp1250/cp1252 etc).
- Fixed display of mail in the preview pane to be aware of the charset.
- Made the "preview 2 lines of email" use the emails charset to display correctly.
- Added support for alternate charset names as defined by the IANA offical names document.
- Improved character selection in the edit control by detecting which character edge is closer to the cursor instead of rounding down to the character the cursor is over even if the cursor is closer to the right edge.
- Fixed bad painting behaviour in the edit control when selecting a single TAB character that is less than a full tab width bacause of the leading characters.