change-history of Beam:
		$Id: Changes.txt,v 1.40.2.7 2006/05/22 18:10:06 zooey Exp $

< 2006-05-22: added tag 'rel-1-1' >

< 2006-05-22: commit >

BmDataModel:
	-	TellJobIsDone() now explicitly sets the
		job-state of a non-completed job to stopped.
		This fixes problems with jobs being still 
		marked as running when in fact they were
		stopped because of an error. This in turn
		fixes the problem reported by Rainer: 
		Filtering a non-existing mail caused the
		filter-view to appear but never to finish
		(it was waiting for the mail to come out
		of the running state)

BmMailFilter:
	-	only ever execute filters on mails that
		have properly been initialized (other mails
		are ignored)

< 2006-05-21: commit >

BeamApp:
	-	added support for enclosure: - arguments 
		('Mail To'-function in Zeta).

BmMailFolderView:
	-	implemented request by Ingo and Stippi that
		causes the folder-view to avoid focus (it
		passes it on to the reflist instead).

WrappingTextView:
	-	circumvented the problem of the mailview-
		scrollbar sometimes not reacting to the
		first click (the scrollbar would move down
		but the mailview wouldn't).

< 2006-05-01: moved tag 'rel-1-1-rc4' >

< 2006-05-01: commit >

BmBodyPartList, BmGuiRoster, BmMailView:
	-	fixed broken explicit selection of charset

< 2006-04-20: commit >

BmMailAddrCompleter:
	-	now takes known-addresses into account, too

BmPeople:
	-	made access to KnownAddrSet public, such that 
		the mail-addr-completer	can access it

BmSpamFilter:
	-	when learning as SPAM, we now mark the mail as
		read only if this was requested via prefs

BmToolbarButton:
	-	a right-click anywhere on the button now triggers
		the menu to be displayed (if any). Suggested by
		Stephan

< 2006-04-18: added tag 'rel-1-1' >

< 2006-04-18: commit >

BmMailFolderList, BmMailRefList:
	-	fixed problems if mailbox volume lives on a file-
		system that delivers more than one Dirent per call.

BmMailMonitor:
	-	made IsIdle() accept the requested idle-time as
		parameter.
	-	IsIdle() now locks with a timeout to increase the
		chance of escaping a deadlock.

BmPrefs:
	-	fixed problems if mailbox-volume has no trash.

BmSpamFilter:
	-	fixed bug with respect to use of DeHtml and KeepATags
		(both were always false). Now they are correctly
		pushed through from the prefs, and they default to
		true.
	-	improved handling of MDNs such that we now try to 
		determine the original mail's content and only use
		that for SPAM-related purposes. This avoids polluting
		the database with MDN-specific vocabulary. This change
		should lessen the probability for *real* MDNs (i.e.
		MDNs generated as reply to our real mails) to get
		classified as SPAM.

BmStorageUtil:
	-	protected automatic bumping of node-monitor slots
		with a lock.

MailMonitorTest:
	-	added many more tests

< 2006-04-13: commit >

BmListController, BmMailRefView:
	-	more bugfixes related to hiding/showing of mail-ref
		listview.

< 2006-04-13: commit >

BeamApp, BmGuiRoster, BmMailEditWin, BmPeople, BmSpamFilter:
	-	added support for "known addresses" to people list
		such that Beam can keep track of people that we sent
		mails to (but which haven't been added as people files
		yet). This is important for the SPAM-filter, as it 
		allows Beam to avoid marking mail as SPAM that comes
		from addresses that we sent mail to.

BmBodyPartView:
	-	fixed incorrect handling of multiple bodyparts
		during drag & drop
	-	when dragging an attached mail to Tracker, the 
		attributes of this mail are stored, too

BmDataModel, BmMail, BmMailRef:
	-	cleanup

BmIdentity:
	-	improved handling of the case where the mail server's
		domain name differs from the domain part given in the
		identity's mail address. Now the domain part given in
		the identity's mail address has precedence

BmListController:
	-	fixed problem with mail-view window showing an empty
		list sometimes. This was caused by an incorrect
		initialization of mIsHidden, which must start in
		the hidden state.

BmMailHeaderView:
	-	added support for sending a mail to any address
		contained in the current mail

BmMailRefView, BmMailView:
	-	fixed minor problem in busy-state handling.

< 2006-04-11: added tag 'rel-1-1-rc3' >

< 2006-04-10: commit, moved tag 'current-devel' >

BmBodyPartList:
	-	fixed crashing bug in PruneUnneededMultiParts(), 
		where we miscounted the number of bodyparts under
		certain conditions.
	-	fixed another bug in PruneUnneededMultiParts() that
		lead to erraneous repition of editable text body at
		top level.
	-	fixed problems when parsing an empty mail.

BmBodyPartView:
	-	improved robustness a little

BmMailRefView>:
	-	added support for automatic reselection of mails that
		have just been stored.

BmOpenSslNetEndpoint:
	-	moved ContextManager from header to implementation
	-	added activation of OpenSSL-multithreading support 
		to ContextManager

src-bmDaemon/src-netendpoint-addons/Jamfile:
	-	added net-libs to build in order to be able to link
		the current libssl.so and libcrypto.so.

BmStorageUtil:
	-	cleanup

< 2006-03-29: commit, moved tag 'current-devel' >

BmImap:
	-	fixed potential buffer overflow bug.

BmJobStatusWin:
	-	fixed bug when moving a job from the active to the
		done queue that triggered a debugger call.

BmMemIO:
	-	added an assert to facilitate debugging the case when
		the buffer is overflown.

BmRecvAccount, BmSmtpAccount:
	-	fixed default initializations

< 2006-03-10: added tag 'rel-1-1-rc2' >

< 2006-03-10: commit, moved tag 'current-devel' >

BmOpenSslNetEndpoint:
	-	added hackish fix to avoid wrapping of boundary lines
		in alert messages.

Changes.txt
	-	updated

< 2006-03-08: commit, moved tag 'current-devel' >

BeamApp:
	-	Added auto-storing of smtp-accounts since they may now
		be changed by the user accepting a server certificate.

BmDataModel:
	-	added MarkAsStoreNeeded() in order to allow items of
		a listmode to trigger storing of the list.

BmImap, BmPopper, BmSmtp:
	-	the listmodel is now told to store itself if the
		accepted certificate has changed.

BmOpenSslNetEndpoint:
	-	changed format of certificate-id to be the fingerprint
		only (should be enough and is less confusing).
	-	implemented hostname matching

BmPrefsRecvMailView, BmPrefsSendMailView:
	-	separated TLS-related settings from other stuff
	-	added display of accepted certificate's MD5-fingerprint
	-	added support for clearing the accepted certificate

BmStorageUtil:
	-	finally nailed the bug that caused lots of error logging
		during shutdown.

BmString:
	-	fixed broken FindLast() taking a char and an offset

< 2006-03-02: commit, moved tag 'current-devel' >

BmImap, BmPopper, BmSmtp:
	-	improved stability by catching all possible exceptions
	-	in case of being stopped, we no longer give the impression of
		having moved to the next protocol state.
	-	added support for persistence of accepted cert IDs
	
BmJobStatusWin:
	-	changed behaviour to allow for queueing of network jobs,
		which now is the default. Running network jobs in parallel,
		while seeming nice in theory, doesn't improve the performance
		at all, and actually causes pain by hogging lots of CPU-
		cycles (well, the R5-NetServer does).

BmNetEndpoint:
	-	added support for persistence of accepted cert IDs

BmNetJobModel:
	-	fixed incorrect re-throwing of exception
	-	finished support for persistence of accepted cert IDs

BmOpenSslNetEndpoint:
	-	fixed endless loop when asking for passphrase
	-	improved error output when validation fails
	-	finished support for persistence of accepted cert IDs

BmPrefs:
	-	added default for 'QueueNetworkJobs' (true)

BmPrefsRecvMailView, BmPrefsSendMailView:
	-	certificate selection is only enabled if an add-on has 
		been loaded that supports it

BmRecvAccount, BmSmtpAccount:
	-	added setting/getting of accepted certificate id.

BmBasics, BmUtil, regexx:
	-	changed all exceptions to stem from std::runtime_error
		such that it is easier to catch them all

< 2006-02-27: commit >

BmGuiRoster, BmRosterBase:
	-	added ShowAlert() which allows add-ons to show alerts.

BmMailEditWin:
	-	changed layout in order to decrease need for tabbing.

BmNetEndpoint, BmNetJobModel, BmImap, BmPopper, BmSmtp:
	-	adjusted interface and implementation to care for the
		needs of certificate validation.

BmNetEndpointRoster:
	-	added locking, just to be safe.
	-	added support for getting the default certificate path

BmOpenSslNetEndpoint:
	-	nearly finished implementation of certificate 
		validation and improved error handling. The only thing
		missing is persistence for accepted certificates.

BmPrefsRecvMailView, BmPrefsSendMailView, BmRecvAccount, 
BmSmtpAccount:
	-	added support for selecting a client-certificate for an
		account.

BmPrefsView, BmPrefsWin:
	-	changed 'Apply' to 'Save', as any changes are actually
		applied automatically, it's only the storing that is
		triggered by this button.

BmStorageUtil:
	-	circumvent logging lots of errors for being unable to
		stop watching each folder upon shutdown (since the mail 
		monitor has already been deleted).

< 2006-02-10: commit >

BeamApp:
	-	added automatic rewriting of mails if they do not contain
		any attributes yet (as happens when a mail has come from
		an attachment).

BmMail:
	-	fixed problems when trying to store a mail outside of
		mailbox hierarchy.

BmStorageUtil:
	-	improved error checking for WatchNode().

< 2006-02-05: commit, moved tag 'current-devel'>

BmDataModel:
	-	RemoveItemByKey() now only calls RemoveItemFromList() if
		the item could be found.

BmMail:
	-	DestFolder() now waits for a requested folder to appear or
		until the folder-list has been read completely. This fixes
		crashes experienced by Rainer when he checks mail directly
		upon starting Beam.

BmMailFolderList:
	-	we only store the list if it actually has been read completely,
		otherwise we would leave out folders during next start.

BmMailHeaderView:
	-	added support for copying addr-fields to clipboard.

BmNetJobModel:
	-	added missing Reset()-method to logger, such that the set 
		limit is restarted for every request.

< 2006-01-30: commit, moved tag 'current-devel'>

BmImap, BmPopper:
	-	oops, there obviously *are* servers that announce a certain
		message size and then send a message of differing length.
		Well, I should have known better than to handle this as an
		error. Now we simply log this if in verbose mode.

< 2006-01-30: added tag 'rel-1-1-rc1' >

< 2006-01-30: commit, moved tag 'current-devel' >

BmMail:
	-	corrected initialization and storing of mRatioSpam.

BmMailRef:
	-	added comment about value of UNKNOWN_RATIO

BmMemIO:
	-	added Stop() to stop a complete chain of mem-filters.

BmNetJobModel:
	-	the incoming logger is now kept through the lifetime of
		the job, not recreated for every answer. This fixes a
		possible crash in ShouldContinue() if the user cancels 
		the job.

MailMonitorTest, SieveTest:
	-	adjusted to changed interfaces.

< 2006-01-29: commit, moved tag 'current-devel' >

BmImap, BmPopper:
	-	stability improvements.

BmRecvAccount:
	-	fixed (yet another) wrong predicate.

< 2006-01-29: commit, moved tag 'current-devel' >

BmNetJobModel:
	-	removed superfluous mStatusText, since base already
		provides that.

BmPopper:
	-	fixed stupid bug introduced a couple of hours ago that 
		caused no mails to ever be fetched...

BmPrefsRecvMailView, BmPrefsSendMailView:
	-	small improvements concerning detection of authentication-
		and encryption-type.

BmSmtpAccount:
	-	added DefaultPort()

< 2006-01-29: commit, moved tag 'current-devel' >

BmImap:
	-	added expung command to actually remove mails we marked as
		deleted.
	-	fixed logging when deleting mails immediately after they
		have been fetched.

BmPopper:
	-	fixed logging when deleting mails.
	-	small cleanup, replaced sscanf with regex and atol.

BmPrefsRecvMailView:
	-	fixed auto-detection for POP-accounts

Changes.txt:
	-	updated

< 2006-01-28: commit, moved tag 'current-devel' >

BmMailEditWin, BmMailViewWin:
	-	corrected max-width calculations by supplying the correct
		arguments (tsk!).
	-	removed now superfluous updating of toolbar when window
		begins life.

< 2006-01-28: commit >

BmImap, BmPopper:
	-	now log result of ShouldUIDBeRemovedFromServer() even if
		there's nothing to do.

BmMail:
	-	added support for letting the user suggest a charset.
	
BmMailEditWin, BmMailViewWin:
	-	the layout of the toolbar is now updated when the window
		begins its life.

BmMailHeader:
	-	IsEncodingOkForField() now excludes all fields beginning
		with 'Content-'.
	-	ParseHeader() now uses the default charset of this header's
		mail (if any).

BmMailView:
	-	when the user requests another charset, we now pass it on
		to the mail and resync it from disk, causing a complete
		update, which in result causes the headers to be updated,
		too.

BmMultiLineStringView:
	-	fixed problem when selecting UTF-8 multibyte characters.

BmPrefsGeneralView:
	-	removed support for toolbar border, since we now use
		mouse-over highlighting.

BmPrefsLoggingView:
	-	cosmetics

BmRecvAccount:
	-	fixed wrong predicate.

BmStorageUtil:
	-	fixed strange counting of backups.

BmToolbarButton:
	-	improved width computation and drawing, the buttons now
		use less space horizontally.

< 2006-01-26: commit, moved tag 'current-devel' >

BmIcons:
	-	darkened Toolbar_Background somewhat

BmMailRefView:
	-	cosmetics

BmMailView:
	-	dropped support for navigation-by-space as it wasn't working
		as intended and didn't make much sense from the mail-view
		anyway.

BmPrefsGeneralView:
	-	cosmetics

BmToolbarButton:
	-	inserted a hack into BmToolbar::UpdateLayout() that causes
		the whole window to be updated, since there are icons in
		other places, which need to be updated, too.
	-	improved drawing of toolbar button:
		+ uses mouse-over highlighting
		+ no longer creates a faked shadow
		
< 2006-01-26: commit >

BmMailNavigator, src-beam/Jamfile:
	-	added new file that implements navigation-by-space

many files:
	-	added support for navigating to next unread mail by
		pressing space.

< 2006-01-25: commit, moved tag 'current-devel' >

PrefilledBitmap:
	-	removed, as it is no longer needed.

many files:
	-	changed style of highlighting folders with new mail: instead
		of requiring four different folder icons, we now only highlight
		if a folder is not expanded but contains special mails in
		one of its subfolders. The highlighting itself is now done
		via two different versions of the unexpanded latch icon.
	-	the latch icon is now taken from the resources, too.

< 2006-01-23: commit, moved tag 'current-devel' >

BmDataModel:
	-	in RestoreAndExecuteActionsFrom() we now flush any pending
		actions before we read them all. This fixes the showing of
		already trashed mails in a folder that is under heavy fire
		of the node monitor.

BmMailRef:
	-	fixed incorrect setting of mName in case a file was no mail.

BmMailRefList:
	-	cosmetical changes

< 2006-01-23: commit, moved tag 'current-devel' >

BeamApp:
	-	fixed leaking of messages we detach from looper.

BmDataModel:
	-	added convenience method StoreIfNeeded().
	-	after stored actions have been integrated, we indicate that
		the list should be stored. This way, stored actions won't
		queue up until the user stores the list manually.

BmDeskbarView:
	-	now monitors the nodes of all new messages in order to track
		whether they are moved inside or outside of our mailbox.

BmIdentity:
	-	changing the current identity now triggers a store.

BmImap:
	-	finished implementation of a POP-like fetcher via IMAP. I have
		tested this with (at least) 4 different servers and it seems
		to work ok.

BmJobStatusWin:
	-	finished support for IMAP-jobs.

BmMail:
	-	cosmetics

BmNetJobModel:
	-	refactored logging of incoming traffic into a separate
		class, BmTrafficLogger, which logs directly from the socket.
		I expect to need this in order to be able to debug any 
		problems with IMAP, as we weren't always logging what we
		could have logged before.
	-	fixed implementation of SASL-mechanisms to work with IMAP, too.
	-	some little changes for IMAP.

BmPrefs:
	-	added GetNumericLogLevelFor().
	-	renamed "Loglevel_Pop" to "Loglevel_Recv".

BmPrefsRecvMailView:
	-	auth-type and encryption weren't properly set during 
		check-and-suggest.

BmPopper, BmSmtp:
	-	adjusted to changed interface of netjob-model.

BmRecvAccount:
	-	improved handling of UID-changes via stored actions (now 
		supports removal, too).
	-	the decision whether or not a mail should be removed from server
		is now made here instead of in the transfer-protocol implementor.

< 2006-01-18: commit >

BeamApp, BmJobStatusWin:
	-	added support for IMAP-jobs.

BmImapAccount, src-bmMailKit/Jamfile:
	-	added support for IMAP-accounts.

BmImap, src-bmDaemon/Jamfile:
	-	added first steps at (POP3-like) imap implementation, work
		in progress...

BmMemIO:
	-	added operator BString() to BmRingBuf.

BmNetJobModel, BmPopper, BmSmtp:
	-	refactored the method we use to pass info to
		status filter such that it is more adequate for
		protocol specific information (we use a BMessage
		now).

BmPopAccount:
	-	can now return default ports for encrypted & plain sessions.

BmPrefsRecvMailView:
	-	added support for IMAP-accounts.

BmRecvAccount:
	-	added missing archival of account type.
	-	added support for IMAP-accounts.

< 2006-01-15: commit >

BmRecvAccount:
	-	created this as common base for BmPopAccount and
		BmImapAccount (which is going to be added soon).

many files:
	-	refactored handling of pop accounts into something
		a little more abstract (receiving accounts), which
		allows for the addition of BmImapAccount.

< 2006-01-15: commit >

BmMailRefView:
	-	when trashing messages, we immediately remove them
		from the listview in order to improve the user
		experience (the message communication between Beam
		and Tracker is rather slow, so the trashed messages
		are "dragged behind" considerably otherwise).

< 2006-01-14: commit, moved tag 'current-devel' >

many files:
	-	updated copyright and shortened license info.

< 2006-01-13: commit >

BmNetJobModel, BmPopper, BmSmtp:
	-	refactored duplicate msg-types into base class
	-	failed jobs are now indicated as such in the status msg

BmJobStatusWin:
	-	failed jobs are now highlighted (in red).

< 2006-01-13: commit >

BmPrefsFilterChainView:
	-	'remove all'-button now works again, we tried to 
		dynamic_cast the wrong object.

BmMail:
	-	fixed incorrect return type for Status() and DefaultStatus(),
		as both should return a reference instead of a temporary.
		This change fixes non-working checks on a mail's status
		during filtering.

BmSmtp:
	-	we now apply outbound filters after the mail has been
		sent, too. This way people can easily setup a filter
		that puts sent messages into another folder (like 'Sent').

< 2006-01-10: commit >

BeamApp:
	-	fixed debugger call during printing of messages

< 2006-01-09: commit, moved tag 'current-devel' >

BmMailMonitor:
	-	fixed a locking hole that triggered assert().

BmPopper, BmSmtp, BmPrefRecvMailView, BmPrefsSendMailView,
BmPopAccount, BmSmtpAccount:
	-	added support for automatic selection of encryption mode.

BmJobStatusWin:
	-	added support for indicating whether or not a session
		is encrypted.

< 2006-01-09: commit >

BmPopper:
	-	fixed crash when trying to determine supported auth-types
		by introducing CAPA as a proper state.

src-BmDaemon/src-netendpoint-addons/Jamfile:
	-	Zeta comes with openssl in develop/headers, so we now look
		there, too.

BmMultiLineStringView, BmStoredActionManager:
	-	fixed compilation issues on PPC.

< 2006-01-09: commit, moved tag 'current-devel' >

BmPrefsRecvMailView, BmPrefsSendMailView:
	-	added auto-switching between encrypted and unencrypted
		default ports.

BmPopper, BmSmtp:
	-	made starttls a proper state
	-	cleanup with respect to different jobs and their effect
		on the state machine.

< 2006-01-07: commit >

BmNetEndpoint:
	-	added this file which contains an implementation for a 
		BNetEndpoint replacement (that only contains what Beam uses). 
	-	It adds abstract supports for an encryption layer.
	-	This class serves	as a base for BmNetEndpoint-addons which
		provide actual implementations for the encryption layer (
		aka TLS/SSL-support).

BmNetEndpointRoster:
	-	added this file which contains a class that is responsible
		for loading/unloading of BmNetEndpoint-addons and handing
		out info about the (non-)availability of an encryption layer.

BmNetJobModel:
	-	now uses BmNetEndpoint instead of BNetEndpoint.

BmOpenSslNetEndpoint, src-netendpoint-addons/Jamfile:
	-	created addon that implements encryption via openssl. Making
		this an addon keeps Beam itself free of dependencies to 
		openssl (which may not be installed on every system). Using 
		the addon, Beam will be able to use encryption on systems
		that have openssl installed and fall back to no encryption
		on systems where openssl isn't available.
	-	the actual openssl-code has kindly been provided by 
		Ingo Weinhold, thanks a lot!

BmPopAccount, BmSmtpAccount, BmPopper, BmSmtp, 
BmPrefsRecvMailView, BmPrefsSendMailView:
	-	applied a slightly modified version of Ingo's patch that 
		adds configuration support for encryption via TLS/SSL.

src-bmDaemon/Jamfile:
	-	added BmNetEndpoint* implementation and openssl-addon.

< 2006-01-02: commit >

BuildSettings:
	-	added -DBEAM_FOR_ZETA when building on ZETA

BmMultiLineStringView:
	-	now uses MakeFocusNoScroll() in order to avoid autoscrolling
		of string-views. This fixes the problem that clicking into
		a headerview would cause unexpected scrolling on ZETA.

< 2006-01-01: commit >

BmMailHeaderView:
	-	removed debug-printf.
	
BmMultiLineStringView:
	-	added support for selection (and copying) of contents.
	-	protected internal data by locking where needed.

< 2005-12-29: commit >

BmMailHeaderView:
	-	fixed buglet with wrong fontsize being marked in font-submenu
	-	fixed crash in addrMenu when an edit-only address exists.

< 2005-12-29: commit >

BeamApp:
	-	added support for editing a person given his/her mail-address.

BmMailHeaderView:
	-	instead of using a BTextView for each value, we now use a
		BmMultiLineStringView, which is more lightweight and
		doesn't cause sudden scrolls when clicking into it (as the 
		BTextView does on zeta).
	-	the addr-menu now supports editing of existing addresses, too.

BmMultiLineStringView:
	-	added.

src-bmGuiBase/Jamfile
	-	added BmMultiLineStringView.

< 2005-12-28: commit >

BmMailMonitor:
	-	switch counters from int32 to uint32 in order to avoid negative
		values

BmRefManager:
	-	fixed problems when using BmRefs in containers that depend on
		less<BmRef> (like std::set does).

BmStoredActionManager:
	-	now runs with B_LOW_PRIORITY.
	-	added some logging
	-	cleanup

< 2005-12-27: commit >

BeamApp:
	-	added creation & deletion of BmStoredActionFlusher.
	-	adjusted to changes in BmListModelItem

BmAutoCompleter, BmAutoCompleterDefaultImpl,
BmTextControlCompleter, src-BmGuiBase/Jamfile:
	-	fixed incorrect handling of addresses pasted into the
		autocompleter-view (used to drop the contents on tabbing
		out).
	-	some cleanup
	-	renamed BmAutoCompleterVariations to 
		BmAutoCompleterDefaultImpl, as default implementations is 
		what it contains

BmDataModel:
	-	added missing storing and re-initialization of mJobState 
		in BmListModel::Cleanup().
	-	renamed BmListModelItem::ItemIsValid() to IsValid().
	-	moved BmStoredActionManager into a file of its own.
	-	made TellModel...() to public, so we don't need to make
		BmListModelItem a friend of BmListModel (which wasn't any
		help for subclasses of BmListModelItem anyway).

BmListController, BmMailRef, BmMailView, BmSmtp:
	-	adjusted to changes in BmListModelItem

BmMailFolder:
	-	we no longer replace a folder's reflist with NULL if there
		are no more controllers, but we empty the current reflist
		instead. This is necessary in order to avoid dropping some
		node monitor messages when the user is jumping between 
		folders while there's lots of activity.
	-	dropped FindMailRefByKey(), as it is now completely implemented
		in BmMailFolderList.

BmMailFolderList:
	-	reimplemented FindMailRefByKey() such that it no longer
		holds the folder-list-lock and the ref-list-lock at the
		same time. This was a cause for possible deadlock.
	-	renamed doInitializeMailFolders() to InitializeSubFolders() and 
		made it public, such that BmMailMonitor can call this method
		without being a friend.

BmMailMonitor:
	-	added IsIdle() which is used by BmStoredActionFlusher in order
		to find out if itself should start to flush.
	-	adjusted to only use public members of BmMailFolderList and
		BmDataModel.
	-	added comment explaining a problem we have with B_ATTR_CHANGED
		messages and our strategy towards dealing with it.

BmMailRefList:
	-	closed some locking holes, hopefully Beam should no longer
		miss any mails when skipping heavily between folders while new
		mail arrives (it used to leave some of them out of the cache
		files). 
	-	improved correctness of a folder's mail-count, but it still
		isn't correct at all times (which is pretty impossible with the
		current approach). Never mind, as the count gets corrected when
		the folder is activated.
	-	cleanup

BmMailRefView:
	-	fixed bug with Date always being shown as 1970-01-01

BmRefManager:
	-	removed superfluous locking.

BmStoredActionManager:
	-	refactored BmStoredActionManager into a file of its own
	-	added BmStoredActionFlusher which implements auto-
		flushing of "dirty" stored action managers.

src-bmMailKit/Jamfile
	-	added BmStoredActionManager.cpp

< 2005-12-21: commit >

BeamApp:
	-	adjusted to changes in BmDeskbarItem's message protocol.

BmController:
	-	calling StartJob() with a NULL-model didn't start the
		current model, but removed the model instead (replaced
		it with null).

BmDeskbarItem
	-	reworked new-mail monitoring to better cope with new mails
		that live outside of Beam's mailbox.

BmMailFolderView:
	-	recaching a folder indicates the working state again by
		setting the ref-listview to busy.

BmMailQuery:
	-	now uses LivesInMailbox() instead of LivesInTrash().

BmStorageUtil:
	-	replaced LivesInTrash() by LivesInMailbox(), as we are
		actually only interested whether or not a given mail
		lives inside of Beam's current mailbox.

< 2005-12-19: commit >

BmMail:
	-	fixed problem in MoveToDestFolder() when the mail already
		lives in the destination folder.

BmMailFilter:
	-	fixed code to actually allow for the MoveToDestFolder()
		optimization to pull through.

< 2005-12-19: commit >

BmFilterAddon:
	-	changed interface of BmMsgContext to allow for reliable
		checking whether or not a given field has been changed
		by a filtering process.

BmMailFilter, BmSieveFilter, BmSpamFilter, SpamOMeter:
	-	adjusted to changes in BmMsgContext.

< 2005-12-19: commit >

BmDataModel:
	-	cosmetics

BmMail:
	-	streamlined and greatly simplified storing of mails:
		+	instead of using full paths, the destination now
			consists of the destination mail-folder and the
			filename of the mail.
		+	mail filenames are now always unique, there used to
			be a (unlikely) possibility of one mail clobbering
			another.
	-	cosmetical changes

BmMailFolder:
	-	optimized IsSystemFolderPath(), i.e. it no longer
		uses GetPath().

BmMailFolderList:
	-	added FindMailFolderBySubPath() in order to easily fetch
		the folder for a specific subpath (relative to mailbox).

BmStorageUtil:
	-	re-added support for creating a BmBackedFile from a BEntry,
		as this now comes in handy with the new mail storage
		routines.

many files:
	-	adjusted to new way of storing mails

< 2005-12-15: commit, moved tag 'current-devel' >

BuildSettings, Jamrules:
	-	we now use separate object/distro folders for each platform

BmDataModel:
	-	implemented some kind of write-cache for stored actions,
		this now lives in a class of its own, StoredActionManager.
	-	reworked item-instantiation to be a bit more flexible and
		comprehensible. Now every subclass should be able to 
		implement its own needs within the given scheme.

BmMail:
	-	fixed bug that could leave incorrect reply-to field values
		(from another identity) in place when replying/forwarding 
		mails.
	-	instead of banging the subject into something usable as a
		filename, we now simply name every mail 'mail-' followed
		be the current time and an internal (session-specific) 
		counter. Although clashes should be rare, we now actually 
		*ensure* that each mail gets a unique filename.

BmMailFolder:
	-	now uses a separate BumpMailCount() method which takes care
		to only bump the mail count if it is actually known at 
		the time. This fixes the bug that caused new mails appearing 
		in folders whose mail-count isn't known to increment the
		mail counter (from -1 to 0 and onwards), which in turn lead
		to an incorrect total number.
	-	fixed bug that caused recaching of folders to replace the
		current ref-list by a new one and then recache into the
		wrong (old) ref-list. Now it simply refills the	current 
		ref-list.

BmMailFolderView:
	-	removed unneeded calls when recaching a folder's content.

BmStorageUtil:
	-	BmBackedFile now sets the mimetype of the new file in the
		destructor, such that mails become valid *after* their data
		and attributes have been written, not before. 
	-	cleaned up BmBackedFile a bit.
	-	EnsureIndexExists() now requires the attr-type, too.

all listmodel implementations:
	-	adjusted to match reworked instantiation interface.

< 2005-12-08: commit >

BmMailFolder:
	-	one more fix for handling of special mail-refs, we now
		check if a given mail-ref is in fact special and only add/
		remove the special flag if that is indeed the case.

BmMailRef, BmMailRefView:
	-	renamed BmMailRef::IsNew() to IsSpecial() (and changed the
		code accordingly).

< 2005-12-08: commit >

BmDeskbarItem:
	-	some improvements concerning the handling of new mails living
		in trash.

BmMail:
	-	we now pass the complete path to BmBackedFile::SetTo() in order
		to avoid a (superfluous) call to GetPath() (as that is pretty 
		slow).

BmMailFolder, BmMailMonitor:
	-	some more work towards a proper handling of new/special mails

BmMailFolderList:
	-	fix a problem if mailbox path is a link.

BmPopper:
	-	fixed bug introduced with last commit that caused Beam to
		complain in case the server silently accepted a command
		(like they usually deal with a 'QUIT').

< 2005-12-06: commit >

BmAppResources:
	-	changed version string to devel version.

BmMail, BmMailFolder, BmMailFolderList, BmMailFolderView,
BmMailMonitor:
	-	reworked handling of new mail count: instead of keeping a
		global list in BmMailFolderList, each folder now keeps a list
		of the new mails it contains. This is simpler and allows us
		to circumvent a bug in BeOS' query code (which sends two query
		updates if you check an attribute against two values and one
		of them matches).
	-	we now highlight pending messages, too, not only new ones (the
		respective members have been renamed from *New* to *Special*).
		
< 2005-12-04: commit >

BmBodyPartList:
	-	applied two fixes sent in by Ingo.

BmPopper, BmSmtp:
	-	changed test for protocol-error (yet again) from using Compare() 
	   to ByteAt().

BmString:
	-	applied a patch submitted by Ingo Weinhold that causes 
	 	LockBuffer() to return an writable buffer (of length 1) if the 
		requested size is 0. This allows the caller to actually write 
		to this buffer (only the '\0'-delimiter makes sense, of course).

< 2005-12-03: commit >

BmBodyPartList:
	-	now signatures can be limited to a maximum number of lines, in
		order to circumvent problems when viewing digest mails. The
		actual number can be altered via the prefs setting 
		'MaxLinesForSignature', the default is 5.

BmMailFolderList:
	-	fixed problem when mailbox is a link (the folder cache was
		always rebuilt in that case). Reported by stippi.

BmPopper, BmSmtp:
	-	fixed possible crash when accessing first char of status test.

BmString:
	-	added CountLines()

< 2005-11-24: commit >

BeamApp:
	-	now always saves prefs upon exit, in order to avoid losing info
		when for instance the prefs we changed by a renamed folder that
		was tracked by foreign-keys in a filter.

BmDataModel:
	-	IsJobCompleted() is now virtual in order to allow overriding
		in base classes.

BmMailRefList:
	-	fixed bug with recreate-cache only working every second time,
		by overriding IsJobCompleted() and implement an additional
		check for the need to recache the contents (in which case we
		return false in order to indicate that the job isn't complete).

< 2005-11-19: commit >

BmGuiRoster:
	-	ListMenuBuilder is now capable of separating two items with keys
		only differing in case properly (used to drop one of these before).

BmListController:
	-	mIsHidden is now initialized to false, as otherwise every 
	   controller view will (re-)add all items upon change of frame size.
	-	in AddModelItem(), we no check if there isn't already a view-item
		for the given model-item, just for improved robustness.

< 2005-11-17: commit >

BmBodyPartView:
	-	now we actually use the name given to us when asked to write 
		data into a file during drag'n'drop.

BmPopper:
	-	fixed bug with mails always being deleted immediately after they
		had been received, even if they were supposed to stay on the
		server for a couple of days.
	-	fixed bug in status filter that caused failures/problems when
		a server sent an error when Beam expected multiline data.

< 2005-11-06: commit, moved tag 'current-devel' >

BmBodyPartList:
	-	copy-constructor now recursively copies children, too.
	-	fixed crashing bug during pruning of unneeded multiparts.
	-	added missing linebreak-conversion to standard conversion chain.
	-	reworked text-part decoding such that signature is now always
		split-off if needed, too. This fixes the bug of the signature
		being shown twice after the user had requested another charset.
	-	added BmMailtextCleaner-filter into standard conversion chain,
		which replaces unwanted characters in the mailtext with sensible
		ones (or drops them completely).

BmBodyPartView:
	-	optimised displaying of many attachments such that the view's
		vertical size is only adjusted once, not once per item.

BmDataModel:
	-	made sure that a sub item can be added to an item although
		the (parent) item isn't attached to a list yet.

BmEncoding:
	-	added BmMailtextCleaner filter.

BmListController, BmMailRefView:
	-	moved special-casing of hidden views from list-controller to
		mailref-view, as doing it generally messes up views which can
		exist and work in hidden state (like the bodypart-view).

BmMail:
	-	robustified somewhat against low-mem situations.

BmMailEditWin:
	-	address-completion now works for Cc and Bcc fields.

BmMailView:
	-	URLs can now be launched by tertiary mouse button, too (just
		like in Firefox).
	-	robustified automatic selection of menu-item corresponding to
		a mail's charset (now works in a case-insensitive manner).

BmMailViewWin:
	-	if the mailref-listview is visible, the window no longer closes
		after a mail action (was a bit confusing...).

BmPopper:
	-	changed levels of several log entries.

BmSpamFilter:
	-	we now use only the first 64KB of every mail-body in order to avoid
		stuffing too much data of a single mail into our database. Without
		this limit, handling large mails is slow and could lead to the
		unwanted effect of a single email being capable to outweigh all
		other features already in the db.
	-	tightened some logging output from level 2 to 3, as otherwise the
		behaviour for loglevel 2 was getting a bit too slow.

BmString:
	-	the char-argument versions of ReplaceAll() and IReplaceAll() will 
		no longer loop endlessly when asked to replace a character with 
		itself.

< 2005-10-16: commit, moved tag 'current-devel' >

BmAutoCompleter, BmAutoCompleterVariations, BmMailAddrCompleter:
	-	added support for showing the matches in the choice-view.

BmPeople:
	-	small improvements concerning handling of nicks

< 2005-10-16: commit, moved tag 'current-devel' >

BmLogHandler:
	-	moved log-folder to /var/log/beam, partly due to the fact that
		Beam's app-folder may not be writable (like for instance if it
		runs from the Zeta live-cd).

MailMonitorTest:
	-	tweaked NAP_TIME in order to be more reliable (would still prefer a
		proper synchronization, though).

TestBeam:
	-	fixed starting code for the case when beam_testdata-folder doesn't
		exist. We now simply skip the mail-monitor-tests in that case.

< 2005-10-14: commit >

BmAutoCompleter:
	-	added this interface for auto-completion.

BmAutoCompleterVariations:
	-	added this as default implementation of auto-completer-controller 
		and -view.

BmCaption:
	-	view font is now set in constructor instead of during draw.

BmController:
	-	added optimization for the case that a controller starts a default
		job that had already been completed by another controller. In that
		case, we no longer rerun the job, but shortcut to calling JobIsDone().

BmListController:
	-	now the view-items are only created if the listview is actually
		shown, this optimizes the memory footprint of the mailview window
		as the mailref-listview it contains is usually hidden.

BmMailAddrCompleter:
	-	added this implementation of mail-address auto-completion model

BmMailEditWin:
	-	replaced ZETA-only auto-completer by our own.

BmMailHeader:
	-	made QuotedPhrase() static in order to allow for calling it as
		a utility function from other classes (the mail-addr auto-completer).

BmPeople:
	-	improved support for accessing people's data from other classes.

BmString, StringTest:
	-	fixed Trim() with respect to single-char strings (ugh!).

BmTextControlCompleter:
	-	added this implementation of a message-filter based auto-completer
		that attaches to a text-control (or rather: the textview within).

BetterScrollView:
	-	added workaround for changed scrollbar position in Zeta 1.0.1.
	-	allowed for more room in caption view.

CLVListItem:
	-	fixed bug with ClippingRegion not being properly when resizing
		a listview.

Jamfiles:
	-	added auto-completer implementation to build.

MailMonitorTest:
	-	added missing include of BmMailMonitor.h.

< 2005-09-21: commit >

BmNetJobModel:
	-	added missing seeding of rand() in DIGEST-MD5 implementation
	-	fixed off-by-one bug in construction of cnonce, which caused the
		DIGEST-MD5 method to fail with some servers.

< 2005-09-15: commit >

BeamApp:
	-	added support for using B_STRING_SPACING in listviews; defaults to off.

BmBodyPartView:
	-	fixed deadlock when trying to drag'n'drop to ourselves.
	-	refactored creation of drag-image to BmListController::CreateDragImage().

BmCaption:
	-	set view's color to transparent for less flicker during draw.

BmListController:
	-	refactored creation of drag-image to BmListController::CreateDragImage().

BmMailFolder, BmMailFolderList, BmMailRef, Jamfile:
	-	moved mail-monitor out to own file (BmMailMonitor).
	
BmMailMonitor:
	-	added, moved mail-monitor code here.
	-	decoupled handling of monitor-messages from receiving looper (by using
		a separate worker thread), such that the looper never drops messages.

BmMailRefList:
	-	improved performance of integrating many added archives into the cache,
		at least to a certain degree (it still is rather slow).

BmMailRefView:
	-	refactored creation of drag-image to BmListController::CreateDragImage().
	-	optimized auto-adjusting of date-columns such that the adjustment
		takes place if and only if the column width has changed.

BmPrefs:
	-	added 'ListviewUsesStringSpacing'.

CLVEasyItem, CLVListItem:
	-	refactored and optimized drawing code (we now make use of a per-item
		drawing context in order to avoid having to set the state repeatedly for
		each single item's column).

Colors:
	-	added global fonts bm_plain_font and bm_bold_font.

ColumnListView:
	-	now uses bm_plain_font

< 2005-09-10: commit >

BmMainWindow:
	-	improved initial positions of splitters.

BmPrefsWin:
	-	corrected initial size of prefs win such that the headers in the
		left listview aren't cut off.

BuildSettings:
	-	removed -mcpu=pentiumpro compiler switch since it introduces lots of 
		weirdness, as for example throwing exceptions across shared-lib boundaries
		doesn't work no more.

UserResizeSplitView:
	-	upon first layout, we now check if the given initial divider position
		actually keeps the children to their limits and correct if not.
		
< 2005-08-19: commit, moved tag 'current-devel', release test-050819 >

BmMainWindow:
	-	temporarily removed 'Find Messages'-menu as it ain't working anyway.

< 2005-08-18: commit >

BmPrefsGeneralView:
	-	circumvent what seems to be a bug in BFilePanel, which deadlocks the
		app when using SetPanelDirectory() on an existing (sic!) dir.

< 2005-08-17: commit >

BuildSettings:
	-	now uses -mcpu=pentiumpro instead of -march=pentiumpro such that Beam
		is still able to run on non-pentiumpro CPUs (like VIA C3).

< 2005-08-10: commit >

BmPrefs:
	-	switched to attribute-based storage
	-	default-settings are now blended into the existing settings.

BmSieveFilter:
	-	added support for relational operators to GUI.

several files:
	-	fixed some prefs-related glitches and typos.

< 2005-08-08: commit >

BmBodyPartList:
	-	fixed unsafe filename handling when trying to store an attachment.

BmCaption, BmMailView, BmMainWindow:
	-	activating the incremental search now visually changes the caption-view
		such that the user has a better chance of understanding what's going
		on. Idea (and color >:o) from Stippi.

BmMailViewWin:
	-	fixed crashing bug in CreateGUI().
	-	find-request is now passed on to mail-view.

< 2005-08-08: commit >
 
BmMailHeaderView:
	-	adapted to new signature of TimeToSwatchString().

BmMailRef:
	-	now uses modification-time instead of creation-time when initializing
		the when-created attribute, as this gives better results for mail files
		that have been copied between partitions (the creation-time then holds
		the time of the copy, while the mod-time holds the time the mail had
		been written).
	-	mWhenCreatedString and mWhenString have been moved out of the model
		into the view, as the view now selects the date-format depending on
		the available column space.

BmMailRefView:
	-	Date-columns are now automatically reformatted such that they fit into
		the available column space (if at all possible). Idea from Stippi.

CLVEasyItem:
	-	added ColumnFitsText() which determines whether or not a given text
		fits into a column.
	-	improved const-correctness somewhat.

BmUtil:
	-	changed TimeToSwatchString() such that it accepts other formats, too.

< 2005-08-07: commit >

many files:
	-	reworked visuals and some parts of behaviour such that Beam now works
		and looks properly on R5 and Zeta.

< 2005-07-28: commit >

BeamApp:
	-	avoid sending of pendings mails if check has been triggered automatically,
		as I consider this behaviour confusing.

BmBodyPartList:
	-	fixed crash when adding an empty attachment.

BmBodyPartView:
	-	improved drag'n'drop handling such that we can now accept a drop from
		BeMail. However, BeMail doesn't accept drops from us, but that seems
		to be a problem over there, as BeMail requires drag messages to contain
		a ref (but we don't since the attachment is yet a virtual file).

many files:
	-	changed HandleDrop() to take a non-const BMessage*, as sending a reply
		doesn't work on const BMessages.

UserResizeSplitView:
	-	changed drawing to match Stippi's style used in Wonderbrush.

< 2005-07-24: commit, moved tag 'current-devel' >

BeamApp:
	-	in RefsReceived(), we now support people-files too. A new mail will
		be created with the given people as recipients (idea taken from Zeta).
	-	depending on prefs-value 'SendPendingMailsOnCheck', we now send all
		pending mails on a mail-check (again, idea taken from Zeta).

BmBodyPartView:
	-	now uses BRoster::Launch(type, argc, argv) instead of Launch(eref),
		as the latter doesn't work for firefox (idea taken from Zeta).

BmMailEditWin:
	-	reworked handling of people-drops in order to simplify handling
		of people files in app's RefsReceived().

BmPeople:
	-	added support for fetching all emails from a given people file ref.

BmPrefs:
	-	added 'SendPendingMailsOnCheck'.

BuildSettings:
	-	now uses 'pentiumpro' architecture on x86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behavi86.

< 2005-07-03: commit >

BmMenuControl:
	-	fixed layouting code such that the vertical size and position always
		match the ones used by a BmTextControl that has a menu as its label.

BmPrefsFilterView:
	-	fixed min height being too small for 13pt font.

BmTextControl:
	-	minor cleanup.

< 2005-07-01: commit >

BmListControllerView, BmMailFolderView, BmMailRefView:
	-	implemented hierarchical state-info handling, such that a folder inherits
		the state-info from its parent, but can (explicitly) disconnect from it.
		This should make setting up the preferred listview layout much easier.
	-	The default ref-list layout is now much simpler (lots of columns have
		been hidden).

BmMailEditWin:
	-	fixed bug with signature not automatically being applied to mail when
		a new identity is selected.

BmMailFolder:
	-	now stores info about if the corresponding ref-list's layout is connected
		to parent or not.

BmMailHeader:
	-	fixed bug with 'Name'-attribute not being set for outbound mails.

BmMailViewWin:
	-	added RefListView, such that navigation is possible and independent
		of main window. The RefListView is hidden by default, but can be shown
		by means dragging the split-view at the top downwards.

BmPrefs:
	-	added default shortcuts for the two new menu-cmds 'Previous Message' &
		'Next Message'.

BmWindow:
	-	added message filter for scrollwheel events, which redirects these events
		to the view that currently is under the mouse (suggested by Stephan Aßmus).

ColumnListView:
	-	fixed drawing artefacts when dragging a window across the view (single-
		line updates were not handled correctly).

UserResizeSplitView (and several other files):
	-	added support for auto-hiding a child if the available space is smaller
		than the child's minimum size.

< 2005-05-30: commit >

BmSpamFilter:
	-	oops: the three different instances (classify, learn-as-spam and 
	   learn-as-tofu) all had their own dataset, but only the classify-dataset
	   was actually changed by prefs. Now there's only one (static) dataset left.

< 2005-05-20: commit >

BmToolbarButton:
	-	fixed broken support for toolbar backgrounds, which didn't work properly
		for images that need a certain tile size in horizontal direction.

< 2005-05-18: commit, moved tag 'current-devel' >

BmBodyPartList, BmBodyPartView, BmEncoding, BmMailView:
	-	use BmMemFiler::StatusText() to redirect the final remaining
		parsing errors from the error-popup to the ParsingError-collection.
		Now, parsing errors should never lead to the error-popup being shown.

BmDataModel:
	-	added simple visitor pattern implementation - ForEachItem().

BmMail, BmMailEditWin, BmMailFolder, BmMailFolderList, BmPopAccount, 
BmPrefsRecvMailView:
	-	moved names of system folders from BmMail into BmMailFolder, adjusted
		references to these folders accordingly.

BmMailFolderView:
	-	simplified special sorting of system-folders (what did the space-appended
		names do in here?).

BmMemIO:
	-	added support for a general status-text to BmMemFilter.

BmRosterBase, BmGuiRoster:
	-	added support for finding out whether or not an address is known
		as people file.

BmSpamFilter:
	-	added support for avoiding mails from known addresses from being
		seen as SPAM.
	-	added support for filing unsure SPAM into the 'quarantine'-folder.
	-	improved behaviour of SpamOMeter sessions.

SpamOMeter:
	-	changed way how we pass-back success/error information, as exit-code
		doesn't work for the way SpamOMeter is being called from Beam.

< 2005-05-12: commit >

BeamApp:
	-	implemented support for importing mail-addresses into people files.

BmMailHeader:
	-	added methods for counting the number of instances of a specific field.
	-	added support for accessing a fields value by index (not only first
		value, as before).

BmMailHeaderView:
	-	implemented support for importing mail-addresses into people files.
	-	fixed bug with multiple instances of non-address fields not being
	 	shown in header-display.
	-	added support for displaying header-fields only if they have content
		(appending a ? to the field-name triggers this behaviour).

BmPeople:
	-	implemented support for importing mail-addresses into people files.
	-	added FindPersonByName() and FindPersonByEmail()

BmPrefsIdentityView:
	-	fixed incorrect order of identity columns in listview.

BmPrefsMailReadView:
	-	updated tooltips to current state of things.

< 2005-04-25: commit >

BeamApp, BmDeskbarView, BmToolbarButton, BmWindow:
	- robustified LockLooper()/UnlockLooper() blocks (we now check the return-
	  value of LockLooper()).

< 2005-04-14: commit >

BmBodyPartView:
	-	added support for specifying src- and dest-charset for text-attachments.
		This is especially useful if you need to send non-UTF8 attachments.

BmCaption:
	-	major cleanup, why on earth was this inheriting from BStringView
		(it didn't use any of its features)???
	-	added proper clipping of caption text.

BmMail:
	-	fixed problem in Store() when asked to store attributes only and
		needed to move mail into another folder, too (used to throw in that 
		case).

BmMailFilter:
	-	execute LearnAsSpam- and LearnAsTofu-Filters before handling any
		other requests, such that these can change every aspect of the filter
		*before* it is being dealt with.
		
BmMailView:
	-	added support for incremental searching the mailtext.

BmMailViewWin, BmMainWindow:
	-	activated Find and Find Next menus as we now have incremental search

BmSpamFilter:
	-	corrected computation of ratioSpam (got the sign wrong).

< 2005-03-30: commit >

BmMail:
	-	BmMail::Store() now supports storing the attributes of a mail only.
		This optimization boosts filtering performance quite a lot, since
		filters never change the mail-text, they only need to rewrite the
		attributes.

BmMailEditWin, BmMailFilter, BmPopper:
	-	adjusted to updated BmMail::Store() signature.

< 2005-03-28: commit >

BmGuiRoster:
	-	minor clarification.

BmListController:
	-	in WriteStateCache() we only write the cache if the model has actually
		completed (as writing an incomplete cache is no good). This fixes the
		bug that caused Beam to lose state of mail-folders when the user quits
		Beam before the mail-folders have been shown.

BmMail:
	-	added on-demand-creation of spam-folder.

BmMailFolderList:
	-	removed unneeded locking around initialization/instantiation, which
		allows Beam to quit, even when the mail-folders aren't set up yet.

BmMailRef:
	-	we need to update the display even if we couldn't read the 
		'RatioSpam'-attribute.

BmMailRefList:
	-	we now automatically trigger a rewrite of the cache when we had to
		integrated appended archives during the load.

BmMailRefView:
	-	we now map 'Genuine'-classification to 'Tofu', since that's how we
		call it in other places.

BmSpamFilter, SpamOMeter:
	-	implemented training of filter through querying for SPAM-/TOFU-mails
		and sending these through SpamOMeter.

BmSieveFilter, BmMailFilter:
	-	added support for learning matching mails as SPAM or TOFU.

MailConverter:
	-	added usage-info.

< 2005-03-19: commit >

BeamApp, BmApp:
	-	moved checking for ref-leaks to proper place (into BmApp).

BmFilter:
	-	removed GetStatistics-filter, as it isn't needed (since user has no
		direct access to it).
	-	added missing jobSpecs param when calling addon's Execute().

BmJobStatusWin, BmMainWindow:
	-	added support for LearnAsSpam- & LearnAsTofu-filtering.

BmMail:
	-	finished support for Classification- and RatioSpam-attribute.

BmMailFilter:
	-	added support for setting Classification- and RatioSpam-attributes.

BmMailRef:
	-	fixed some bugs in handling of RatioSpam-attribute.

BmMailRefView
	-	added support for LearnAsSpam- & LearnAsTofu-filtering.
	-	activated new columns Classification and RatioSpam.

BmMailFolderView:
	-	integrated spam-folder into special sorting order for system folders.

BmSpamFilter:
	-	implemented prefs-GUI.
	-	added support for getting & resetting statistics.
	-	now returns more useful results via msgContext when learning.

< 2005-03-14: commit >

BeamApp:
	-	declare ourselves as non-testing app.

BmFilterAddon, BmFilter, BmMailFilter, BmSieveFilter:
	-	refactored filter-interface such that it is a bit more versatile,
		now BMessages are used for data-interchange and as job-specifier-
		description.

BmLogHandler:
	-	added BmLogHandler::Shutdown(), for easier cleanup.

BmMail, BmMailRef:
	-	implemented MarkAsSpam() & MarkAsTofu(), as well as support for the
		underlying attributes ("Classification" & "RatioSpam")

BmMailRefView, BmWindow:
	-	added support for triggering the context-menu via the B_MENU-key (a
		modifier).

BmMemIO:
	-	added defalt constructor for BmStringIBuf

BmSpamFilter:
	-	finished implementation, cross-checked with crm114-behaviour on Linux.
	-	added all internal filters neccessary for use in Beam (LearnAsSpam,
		LearnAsTofu, Reset, GetStatistics).
	-	ran many tests (with SpamOMeter) in order to determine good default
		settings (--rts=5 --rtt=20 is very good with my own corpus as well
		as the one from SpamAssassin).

SpamOMeter: 
	-	added

< 2005-02-21: commit >

many files:
	-	refactored BmApplication and BmRoster into separate classes, such
		that other applications (than Beam) can make use of bmMailKit more
		easily.

< 2005-02-16: commit >

BmBodyPartList:
	-	improved HasAttachmenst() such that it only indicates a mail having
		attachments when there is a multipart-bodypart and if this one has
		actually more than one child.

BmFilterAddon:
	-	added spamValue to msgContext.
	-	the Execute() method of a filter-addon can now specify a certain
		job type.

BmMail, BmMailRef, BmMailRefList:
	-	added spam-related attributes that MDR has introduced (we will use
		them, too, in order to stay compatible).

BmPopper, BmSmtp:
	-	added transfer-speed logging for mails larger than 100KB

BmRoster:
	-	fixed non-working shortcuts in class ListMenuBuilder.
	
BmSieveFilter:
	-	the Execute() method of a filter-addon can now specify a certain
		job type.

BmSpamFilter:
	-	the Execute() method of a filter-addon can now specify a certain
		job type.
	-	added support for learning as spam/tofu (each of which is a 
		specific job type).

< 2005-02-02: commit, moved tag 'current-devel' >

BmPopAccount, BmSmtpAccount:
	-	fixed incorrect uppercasing of <auto> - mode.

BmSmtp:
	-	made support for AUTH ... and AUTH=... more obvious.

< 2005-02-02: commit, moved tag 'current-devel' >

BmPopAccount, BmPopper, BmPrefsRecvMailView, BmPrefsSendMailView,
BmSmtp, BmSmtpAccount:
	-	added automatic detection of best authentication mode.

< 2005-02-02: commit >

BmMailView:
	-	exclude commas from URIs in the highlighting code.

BmEncoding:
	-	added support for transparent filter-tags to BmMemFilter (each specific
		filter can add/implement tags that it requires).
	-	base64-encoder now supports encoding to a single line (which is required
		by the DIGEST-MD5 and CRAM-MD5 authentication algorithms).

BmMemIO:
	-	added support for transparent filter-tags to BmMemFilter (each specific
		filter can add/implement tags that it requires).

BmNetJobModel, BmPopper, BmSmtp:
	-	added support for DIGEST-MD5 and CRAM-MD5 authentication

BmPopAccount, BmSmtpAccount:
	-	added support for DIGEST-MD5 and CRAM-MD5 authentication

BmPrefsRecvMailView, BmPrefsSendMailView:
	-	added support for DIGEST-MD5 and CRAM-MD5 authentication

BmString, BmUtil:
	-	moved BM_DEFAULT_STRING from BmUtil to BmString.

md5:
	-	added MD5Sum() and MD5_HMAC().

BmSpamFilter:
	-	adjusted to use of transparent filter-tags with BmMemFilter.

< 2005-01-18: commit >

BmMemIO:
	-	removed superfluous BmMemOBuf class
	-	added BmMemBufConsumer
	-	minor cleanups

BmNetJobModel:
	-	removed BmMemOBuf

BmSieveFilter:
	-	fixed problem with script not being compiled after it has been changed.

BmSpamFilter:
	-	finished porting the OSBF-classifier from crm114.

BmString:
	-	added operator << double

< 2005-01-14: commit >

BmFilter, BmFilterAddon, BmSieveFilter, SieveTest:
	-	added support for Initialize()-method which is called right after
		a filter has been setup, such that all sieve-filters will compile
		their script immediately after instantiation, not on demand.
		This way, the idle-time after Beam-startup is used for script-
		compilation, which feels faster (especially since the compilation
		now doesn't hit the performance when first checking for mails).

< 2005-01-14: commit >

BmBodyPartList:
	-	renamed ID() to Id(), as this collides with a #define inside of
		a lexer in libsieve (yuck!).

BmFilterAddon, BmMailFilter, BmSieveFilter, SieveTest:
	-	reworked data-interface, instead of passing every possible argument
		as explicit data-element, we now simply include a BmMail-pointer inside
		a BmMsgContext. This makes each addon depend on bmMailKit.so, but that
		doesn't hurt, as this is already part of Beam.

BmRoster:
	-	fixed bug with RebuildStatusMenu() not adding the new status to the
		message.

BmSpamFilter:
	-	added creation/reading of data files.

< 2005-01-13: commit >

BmFilter, BmPrefsFilterView:
	-	every kind of filter can now supply a default name for its filters
		(used by spam-filter to differ from 'new filter').
	-	minor formatting cleanups

BmGuiUtil, BmRoster:
	-	moved AddListToMenu() from BmGuiUtil to BmRoster and refactored
		it into the class ListMenuBuilder.
	-	added support for specifying a filter-functor that is called for
		every list-item.

BmMailRefView:
	-	in AddMailRefMenu() make use of RebuildStatusMenu().

BmResources:
	-	improved translator-useage to such an extent that we try to
		load the PNG-translator explicitly, in order to avoid instantiating
		all available translators (which happens if the PNG-translator can't
		be found). This change lifts 200KB off Beam's memory footprint!
		
BuildSettings:
	-	switched from -O2 to -O3 and added -fstrict-aliasing.

BmSpamFilter:
	-	added SPAM-filter skeleton.

< 2005-01-12: commit, moved tag 'current-devel' >

comparator:
	-	fixed bug in i;ascii-numeric with incorrect results when
		comparing non-numerical values to numerical ones.

script:
	-	fixed bug with non-existant headers not having a :count of 0.
	-	fixed :count not working at all with multiple headers.

SieveTest:
	-	completed relational tests (with numerical :count and :value).

< 2005-01-12: commit, moved tag 'current-devel' >

BmListController:
	-	fixed possible redrawing issue when adding items.

BmMailEditWin:
	-	making use of explicit resource-name passing in order to cause the
		'Attach'-Toolbar to show (but use the 'Attachment'-resource).

BmToolbarButton:
	-	added support for passing the resource-name explicitly (as opposed
		to using the label).

ColumnListView:
	-	added assertion to ReSortItem().

libsieve:
	-	added relational operators
	-	added numerical comparator
	-	changed semantics of address :all :is "From" "root" to match the
		string "root" instead of "root@unspecified-domain" (which I think
		is quite counter-intuitive).

BmSieveFilter:
	-	errors in Header-test are now correctly propagated.

BmSieveTest:
	-	added complete testcases for the Address-, Exists-, Header- and 
		relational tests.

WrappingTextView:
	-	in read-only mode, B_END and B_HOME are now mapped to vertical
		scrollbar (as the default, horizontal scrolling is useless).

< 2004-11-18: commit, moved tag 'current-devel' >

BmMailViewWin, BmMainWindow:
	- consolidated text/icon-name of 'Delete'-Button to be 'Trash', as
     the icon is named this way. Now the icon shows again... 

SieveTest:
	- added tests for basic SIEVE-tests (true, false, anyof, allof, ...)

< 2004-11-17: commit, moved tag 'current-devel' >

BmFilterAddon, BmMailFilter, BmSieveTest:
	- added action-tests for SIEVE-filters.
	- activated reject-support (but is still a dummy)

MainBuildRules:
	- added support for specifying object-files directly in the libs-line of
	  LinkAgainst.	

< 2004-11-14: commit, moved tag 'current-devel' >

BmMailEditWinPart2:
	-	removed, since gcc-2.95.3 compiles BmMailEditWin.cpp just fine.
	
src-tests/Jamfile:
	-	removed TestBeamMini and TestBeamMicro, since libstdc++.r4.so works
		fine now (std::string has a threadsafe allocator).

MailMonitorTest:
	-	robustified moving of mails in order to cope with mailbox and /var/tmp
		living on different volumes.

BmApp, BmBodyPartView, BmMailEditWin, BmMailFolderView, BmMailRefView,
BmMailViewWin, BmMainWindow, BmPrefsGeneralView, BmResources, 
BmToolbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		autbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		autbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		autbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		autbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		autbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		autbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		auto-matching.

BmPrefsMailConstrView:
	-	corrected handling of preferred charsets (no longer use <>-quotes).

< 2004-07-04: commit >

BmBusyView:
	-	unset tooltip for empty error-string more reliably.

BmMailView:
	-	clear error-icon if empty.

< 2004-07-04: commit >

BmBodyPart, BmBusyView, BmEncoding, BmMail, BmMailHeader, BmMailHeaderView, 
BmMailView:
	-	mail-parsing errors no longer trigger the error-window as this is
		too tedious (spam often deliberately announces wrong encoding).
		We now indicate any problems with an error-icon inside the busy-view.
		Hovering over this icons shows the error-message as tool-tip.

BmLogWindow:
	-	now avoids keyboard focus in order to be less of a nuisance in
		click-to-focus mode.

BmPrefsSendMailView:
	-	added missing <none>-item to pop-acc-menu.

< 2004-06-29: commit, moved tag 'current-devel' >

BmIdentity, BmMailHeader, BmPrefsIdentityView:
	-	added support for default-headers, which make it possible to setup
		an identity such that every mail from that identity has (e.g.) a
		specific Bcc-header.

BmMail:
	-	we now replace any binary nulls in the mailtext by a space.

BmMailEditWin:
	-	we no longer send all pending mails for the SMTP-account, but we
		just send this single mail.
	-	added support for default-headers (and changing these as the user
		selects another identity).

BmMailFilter, BmFilterChain, BmPrefsFilterChainView:
	-	dropped support for two outgoing filter-chains, as it doesn't make
		any sense to me any more (let's see if that changes again...).

BmMailQuery:
	-	we no longer deal with mails living in Trash...
	-	instead of collecting fullblown mails we collect entry-refs instead,
		which is faster and uses less memory...

BmMailRef, BmMailRefList:
	-	pulled fetching of stat-info inside BmMailRef-construction, unless
		it is present anyway.

BmMainWindow:
	-	activated "Send All Pending Mails"-menu (i.e. no more 'World Peace').
	-	added send-pending sub-menu (with one entry for each smtp-account).

BmPrefs:
	-	added public member TrashNodeRef, which is the node-ref of the
		Trash-directory on the mailbox-volume.

BmPrefsSendMailView:
	-	for smtp-after-pop we now require the pop-account to be set in the
		prefs.

BmSieveFilter:
	-	changed layout (hopefully to be cleaner now).

BmSmtpAccount, BmSmtp, BmJobStatusWin:
	-	restructured handling of pending mails: Instead of holding the
		pending mails inside the account, we now pass them on to the
		job-window, which in turn stuffs them inside the smtp-job.
	-	added support for sending a single, specified mail.

TextEntryAlert:
	-	fixed bug that always caused an empty result string.

< 2004-06-28: commit, moved tag 'current-devel' >

BmApp:
	-	we only start slaves for tasks beyond a certain size (mail-count).

BmMailEditWin, BuildSettings:
	-	applied Alan's patches for ZETA.

< 2004-06-25: commit, moved tag 'current-devel' >

BmDividable:
	-	fixed compilation issue under Dano.

BuildSettings, Jamfile, UserBuildConfig.sample:
	-	added support for switching on/off building of tests.

< 2004-06-25: commit, moved tag 'current-devel' >

BmFilterChain, BmPrefFilterChainView:
	-	fixed bug with dragging chained filters to new position in list 
		not working.

BmMailFolder:
	-	reduced usage of RefListLocker to the minimum.

< 2004-06-25: commit, moved tag 'current-devel' >

BmBodyPartList:
	-	fixed incorrect handling of attachment-filenames that contain slashes.

BmDataModel:
	-	instead of checking whether the model is locked in empty() and size(),
		we now explicitly lock it instead. It's just begin() and end() where
		we require the model to be locked by the caller.

BmFilter:
	-	fixed incorrect signature of SanityCheck().

BmFilterChain, BmMailFilter:
	-	simplified sorting of filter inside chain.

BmGuiUtil, BmMailView, BmMainWindow, BmRoster:
	-	added missing locks when accessing a model's item-map.

BmListController:
	-	added missing locks for adding, removing and updating items.

BmMail, BmMailFactory:
	-	centralized initialization of a mail from given identity-data into
		the new method SetupFromIdentityAndRecvAddr().

BmbarButton, BmBusyView, CLVEasyItem:
	-	added support for switching toolbar-layout and -icons on the fly.
	   We currently leak all loaded bitmaps, but I chose to ignore this,
	   as switching icons shouldn't be *that* frequent.

BmJobStatusWin:
	-	avoid getting the focus if in click-to-focus mode, such that we
		do not get in the user's way.

src-bmBase/Jamfile:
	-	libstdc++ is no longer neccessary, so do not link against it.

< 2004-09-13: commit >

BmMultiLocker:
	-	simplified Spinlock by making use of atomic_or.

regexx.cc:
	-	fixed namespace issue with definition of BM_REGEXX_DEFAULT_STRING.

< 2004-07-19: commit >

BmMailFilter:
	-	fixed problem with status always being set, even if no change occurred.

BmMultiLocker, Jamfile(s), MultiLockerTest:
	-	added own implementation of a multiple reader, single writer lock.
	-	this improves upon BMultiLocker to such an extent that:
		+	a thread which already has a read-lock and tries to become the 
			writer doesn't deadlock, but becomes the writer once all (other)
			read-locks have been freed.
		+	a writer can ask for read-locks without causing deadlock.
		+	proper read-lock nesting is supported and IsReadLocked() works
			(instead of always returning true).

MemIoTest:
	cosmetics

< 2004-07-10: commit, moved tag 'current-devel' >

BmApp:
	-	removed an unneeded spinlock.
	-	start reading of pop-account list before showing the main-window,
		such that the main-window can wait on the pop-account list.

BmMailRefList:
	-	fixed a bug that caused rebuilding the cache to not work at all.

BmMainWindow:
	-	wait for the pop-account list in order to make the shortcuts work
		first time.

BmMenuControllerBase:
	-	now we update the list whenever the shortcuts change, too.

BmRoster:
	-	added missing support for shortcuts in RebuildList().

BuildSettings:
	-	fixed use of $BUILD_DEBUG instead of $(BUILD_DEBUG)

< 2004-07-09: commit, moved tag 'current-devel' >

BmMailEditWin:
	-	more juggling around the internal compiler error...

BmMailFolderView:
	-	fixed problem with New/Mails-columns being shown too far right
		(outside the visible area).

BmMailQuery, BmStorageUtil:
	-	we no longer use the Trash's node-ref but we use the path in order
		to determine whether or not a mail lives inside the trash.

BmMainWindow:
	-	title no longer includes version string, as Alan correctly pointed
		out that most apps just use their name (not the version).

BmPrefs, 
	-	simplified determination of (default) icon-path
	-	replaced TrashNodeRef by TrashPath.

BmPrefsGeneralView:
	-	simplified determination of (default) icon-path
	-	fixed error when selecting the icon-path for the first time.

BmResources:
	-	simplified determination of (default) icon-path

BmSmtp:
	-	cosmetical changes

< 2004-07-08: commit, moved tag 'current-devel' >

BmLogWindow:
	-	avoid-focus is now only applied if mouse_mode is click-to-focus.

< 2004-07-07: commit >

BmMail:
	-	added mail-status 'Error'.

BmSmtp:
	-	when an error occurs during send, we now log the error and skip the
		mail, marking it as erraneous. So any further mails will be send (if
		possible).

BmIcons.rsrc:
	-	fixed a few glitches with respect to drawing the icons over different 
		background colors.

BmSieveFilter:
	-	added some more log info.

< 2004-07-06: commit >

BmBodyPartList, BmEncoding, BmMailHeader:
	-	added (very simplistic) automatic charset detection in case of 
		conversion errors (both inbound and outbound).
		For inbound detection, a proper detection algorithm would yield
		much better results, but we stick with our try-some approach (for now).

BmMailEditWin:
	-	if automatic charset detection succeeds during save/send, we
		select the charset-menu accordingly, such that the user knows what's
		been going on.

BmMailHeaderView:
	-	dropped superfluous error-msg.
	
BmMailView:
	-	in JobIsDone() we now reset mParsingErrors, such that we do not show
		errors that were actually found during last try...

BmPrefs:
	-	added two new (list-)fields, 'AutoCharsetsInbound' and 
		'AutoCharsetsOutbound', which define the charsets to be used during
		auto-matching.

BmPrefsMailConstrView:
	-	corrected handling of preferred charsets (no longer use <>-quotes).

< 2004-07-04: commit >

BmBusyView:
	-	unset tooltip for empty error-string more reliably.

BmMailView:
	-	clear error-icon if empty.

< 2004-07-04: commit >

BmBodyPart, BmBusyView, BmEncoding, BmMail, BmMailHeader, BmMailHeaderView, 
BmMailView:
	-	mail-parsing errors no longer trigger the error-window as this is
		too tedious (spam often deliberately announces wrong encoding).
		We now indicate any problems with an error-icon inside the busy-view.
		Hovering over this icons shows the error-message as tool-tip.

BmLogWindow:
	-	now avoids keyboard focus in order to be less of a nuisance in
		click-to-focus mode.

BmPrefsSendMailView:
	-	added missing <none>-item to pop-acc-menu.

< 2004-06-29: commit, moved tag 'current-devel' >

BmIdentity, BmMailHeader, BmPrefsIdentityView:
	-	added support for default-headers, which make it possible to setup
		an identity such that every mail from that identity has (e.g.) a
		specific Bcc-header.

BmMail:
	-	we now replace any binary nulls in the mailtext by a space.

BmMailEditWin:
	-	we no longer send all pending mails for the SMTP-account, but we
		just send this single mail.
	-	added support for default-headers (and changing these as the user
		selects another identity).

BmMailFilter, BmFilterChain, BmPrefsFilterChainView:
	-	dropped support for two outgoing filter-chains, as it doesn't make
		any sense to me any more (let's see if that changes again...).

BmMailQuery:
	-	we no longer deal with mails living in Trash...
	-	instead of collecting fullblown mails we collect entry-refs instead,
		which is faster and uses less memory...

BmMailRef, BmMailRefList:
	-	pulled fetching of stat-info inside BmMailRef-construction, unless
		it is present anyway.

BmMainWindow:
	-	activated "Send All Pending Mails"-menu (i.e. no more 'World Peace').
	-	added send-pending sub-menu (with one entry for each smtp-account).

BmPrefs:
	-	added public member TrashNodeRef, which is the node-ref of the
		Trash-directory on the mailbox-volume.

BmPrefsSendMailView:
	-	for smtp-after-pop we now require the pop-account to be set in the
		prefs.

BmSieveFilter:
	-	changed layout (hopefully to be cleaner now).

BmSmtpAccount, BmSmtp, BmJobStatusWin:
	-	restructured handling of pending mails: Instead of holding the
		pending mails inside the account, we now pass them on to the
		job-window, which in turn stuffs them inside the smtp-job.
	-	added support for sending a single, specified mail.

TextEntryAlert:
	-	fixed bug that always caused an empty result string.

< 2004-06-28: commit, moved tag 'current-devel' >

BmApp:
	-	we only start slaves for tasks beyond a certain size (mail-count).

BmMailEditWin, BuildSettings:
	-	applied Alan's patches for ZETA.

< 2004-06-25: commit, moved tag 'current-devel' >

BmDividable:
	-	fixed compilation issue under Dano.

BuildSettings, Jamfile, UserBuildConfig.sample:
	-	added support for switching on/off building of tests.

< 2004-06-25: commit, moved tag 'current-devel' >

BmFilterChain, BmPrefFilterChainView:
	-	fixed bug with dragging chained filters to new position in list 
		not working.

BmMailFolder:
	-	reduced usage of RefListLocker to the minimum.

< 2004-06-25: commit, moved tag 'current-devel' >

BmBodyPartList:
	-	fixed incorrect handling of attachment-filenames that contain slashes.

BmDataModel:
	-	instead of checking whether the model is locked in empty() and size(),
		we now explicitly lock it instead. It's just begin() and end() where
		we require the model to be locked by the caller.

BmFilter:
	-	fixed incorrect signature of SanityCheck().

BmFilterChain, BmMailFilter:
	-	simplified sorting of filter inside chain.

BmGuiUtil, BmMailView, BmMainWindow, BmRoster:
	-	added missing locks when accessing a model's item-map.

BmListController:
	-	added missing locks for adding, removing and updating items.

BmMail, BmMailFactory:
	-	centralized initialization of a mail from given identity-data into
		the new method SetupFromIdentityAndRecvAddr().

BmMailEditWin:
	-	seemingly "solved" the internal compiler error phenomenon...

BmMailFolderList:
	-	added missing lock in FindMailRefByKey().

BmMailHeaderView:
	-	fixed a bug that caused incorrect baseline-alignment between title-
		and content-view that occurred with fonts having a leading>0.

BmIdentity, BmPrefsIdentityView:
	-	added support for configuring the reply-to header.

BmPrefs*View:
	-	simplified SanityCheck()-mechanics.

BuildSettings:
	-	added new lib-path /boot/beos/system/lib such that libnetapi.so is
		found on all systems (even when the link from /boot/devel/lib/x86
		is missing, as is the case for Dano and Zeta).

< 2004-06-23: commit >

BmFilterChain, BmMail, BmMailFilter, BmPrefsFilterChainView:
	-	split outgoing chains into two: pre-edit and pre-send.

BmMailEditWin:
	-	yet more wrestling with internal compiler errors, yuck!

BmMailRefView:
	-	added default-types to forward- & reply-submenu in order to make
		things clearer. The submenu-controlling item still is an alternative 
		way to trigger the default action.

BmMailView:
	-	added options for URL- and sig-highlighting.

BmPopper:
	-	adjusted to filter-related interface-changes in BmMail.

BmResources:
	-	cosmetical changes.

BmRoster:
	-	adjusted to interface-changes for TextEntryAlert.

BmSieveFilter:
	-	fixed wrong signature of InstantiateFilterPrefsView(), which lead
		to a crash when opening the prefs-window.

BmStorageUtil:
	-	implementation details have been moved from header-file into cpp.

BmToolbarButton:
	-	cosmetical changes.

BuildSettings:
	-	now we no longer strip apps by default.

TextEntryAlert:
	-	changed output-type from char-buffer to BmString.

split, regexx:
	-	cosmetical changes.

< 2004-06-14: commit >

many files:
	-	separated code into application-, daemon- and mailkit-parts and
		changed CVS-structure accordingly.
	-	completely switched to building through jam (i.e. no more makefiles,
		no more BeIDE-projects).

BmApp:
	-	added MAIL:status to the required indices.

BmMailEditWin:
	-	split BmMailEditWin into two parts in order to avoid internal compiler
		errors. Now it seems to work for both gcc-991026 and gcc000224.
	-	fixed race-condition and possible crashes during sending of mails
		(was reading/writing unprotected vector).

BmMailQuery:
	-	added this, providing a somewhat general interface to query for mails.

BmPrefs*View:
	-	removed many options now considered superfluous (can still be changed
		through direct prefs-file editing).

BmRoster:
	-	added BmRoster-class which defines an interface through which add-ons
		and libraries can ask the running app for specific info.

BmSmtpAccount, BmSmtp:
	-	we now use a pending mail query in order to determine which mails
		to send.

< 2004-06-08: commit >

BmApp, BmMail, BmMailFactory, BmPrefsMailConstrView:
	-	moved mail-creating functions out into BmMailFactory.

BmBodyPartView:
	-	made BmBodyPartItem invisible.
	-	reduced compile-time dependencies.

BmMailEditWin:
	-	started to tackle the compilation problems with gcc000224, which
		exposes quite a problem related to template-code. Whoa!

BmMailFilter:
	-	added missing #include.

BmMailFolderList, BmNetJobModel, BmPrefs, BmMenuAlert, BmLogHandler:
	-	stripped unneeded code.

BmMailRef:
	-	adjusted to recent BmRefManager-changes.

BmMailView:
	-	adjusted to recent interface-changes in BmMail:

BmRefManager:
	-	rearranged code to expose less implementation details.

BmRosterBase:
	-	cosmetics.

BmSieveFilter:
	-	adjusted to BmRosterBase-changes.

BmWindow:
	-	added bring-to-front functionality to Show().

Jamfiles:
	-	added missing new files.

bmBase, libRegexx, SantaPartsForBeam:
	-	now make use of _IMPORT & _EXPORT

< 2004-06-03: commit >

BmApp:
	-	most tasks are separate threads now, freeing the app for other
		work.
	-	added ability to send mailbox-device to deskbar.

BmDeskbarView:
	-	added missing support for mailboxes on non-boot volume.

BmDividable, Bm*Control, BmPrefs*View:
	-	simplified use of dividers.

BmFilterAddon:
	-	added support for filtering against Status, Account and Outbound.

BmMail, BmMailFilter:
	-	added new filtering-job which stores messages as needed.

BmMailEditWin:
	-	added support for selecting the destinatin folder of this mail.

BmMainWindow:
	-	added individual pop-accounts as variations to check-button.

BmMenuAlert:
	-	added this alert that allows to pick from a menu.

BmMenuControl:
	-	fixed redraw-after-resize problems.

BmMenuControllerBase:
	-	automatically redirect messages with empty target to our window.

BmPrefs:
	-	changed several default settings.

BmPrefsSignatureView:
	-	added missing disabling of charset-control.
	-	removed signature-regex control, users shouldn't fiddle with it.

BmRosterBase:
	-	rewrote method for add-ons to access info from Beam.

BmSieveFilter:
	-	added support for manual filing of outgoing messages.

BmSmtp:
	-	removed superfluous filtering, this is now done before the mail
		is being sent.

BmToolbarButton:
	-	added support for dynamically updating variations before menu is
		shown.
		
MultiLineTextControl:
	-	corrected colors for drawing deep bevel.

sieve-lex:
	-	the lexer used to eat backslashes, which is no good if parsing
		regexes. So we now do not skip backslashes anymore.

< 2004-06-01: commit >

Jamfile, Jamrules, build-jam:
	-	added a first draft of a jam-based build-environment.

makefiles, project-files:
	-	pcre is now not compiled into Beam, but we use libpcre.so instead.

BmPrefs:
	-	changed default-iconset to 'iconset 22 nuvola grey-red'.

resources:
	-	updated some icons and fixed cvs-problems.

< 2004-05-29: commit >

BmApp:
	-	split initialization of BmResources such that parts of it can access
		the prefs.

BmGuiUtil:
	-	added CreateSubMenuItem() which allows the controlling-item for a 
		submenu to trigger a message of it's own when pressed.

BmMailEditWin:
	-	dropped people will now appear with the same format as the ones being
		selected from the people-menu.
	-	stripped toolbar to contain only the required buttons.
	-	layout cosmetics.

BmMailFolder, BmMailFolderView:
	-	changed semantics of folder-highlighting to make use of four different
		states: normal, hasNew, newInSub and hasNewWithNewInSub.

BmMailHeader:
	-	changed determination of mailing-list-name such that more fields to
		check can be added through prefs.

BmMailRefView:
	-	changed menu-layout to be simpler and to reduce mouse-travel.

BmMailViewWin, BmMainWindow:
	-	stripped toolbar to contain only the required buttons.
	-	layout cosmetics.

BmPeople:
	-	minor corrections

BmPrefs:
	-	added default iconset and 'IconPath'.
	-	added 'ListFields'.

BmPrefs*View:
	-	removed loads of unneccessary options (can still be changed through
		use of mar, though).

BmResources:
	-	split initialization of BmResources such that parts of it can access
		the prefs.
	-	added functionality for reading icons from files (iconpath).

BmToolbarButton:
	-	fixed rendering for transparency.
	-	fixed memory leak in constructor.

resources:
	-	added several different iconsets.
	-	changed internal iconset to '22 nuvola be-red'.

CLVEasyItem, ImageAboutWindow:
	-	fixed rendering for transparency.

< 2004-05-11: commit, moved tag 'current-devel' >

BmBodyPartList, BmGuiUtils, BmMailHeaderView, BmPrefs:
	-	generalized handling of string-lists (we now always use comma as
		separator).

BmBodyPartView:
	-	corrected selection color of bodypart-listview.

BmMail:
	-	added automatic identity-pass-on for forwarding and redirection, too.

< 2004-05-10: commit >

BmMailFolder, BmMailFolderList, BmMailRef, BmMailRefList:
	-	circumvent the problem of B_ATTR_CHANGED not providing the info
		neccessary to determine the folder a mail-ref lives in.

< 2004-05-09: commit, moved tag 'current-devel' >

BmListController, BmMailFolderView, BmMailRefView, BmPrefsFilterChainView,
BmPrefsFilterView, BmPrefsRecvMailView.cpp, BmPrefsSendMailView.cpp,
BmPrefsSignatureView.cpp:
	-	fixed problem with automatic resorting of items not working after
		an attribute has changed.

< 2004-05-08: commit, moved tag 'current-devel' >

BmDataModel:
	-	in Store() we now us a BmBackedFile to safely store the settings.

BmMail:
	-	simplified Store() to now use the BmBackedFile-class.

BmMailFolderList:
	-	cosmetical changes.

BmMailRef:
	-	added missing member-initializers for mWhen and mWhenCreated.

BmSmtp:
	-	added missing member-initializer for mCurrMailSize.

BmStorageUtils:
	-	added BmBackedFile, a file with automatic backup.

< 2004-05-07: commit, moved tag 'current-devel' >

BmEncoding:
	-	removed spurious addition of Escape to the characters safe for 
		qp-encoding, i.e. it would not be encoded. I can't remember the
		reason why I had added it, and it looks strange now. Maybe it
		has to do with japanese encoding (that uses Esc a lot), but I
		don't know.

< 2004-05-07: commit >

BmEncoding:
	-	fixed bug in base64-decoder that chokes on embedded padding chars.
		Unfortunately, Beam is producing these by itself when it concatenates
		several encoded-words into one string.

BmListController:
	-	in UpdateModelItem(), we now only redraw the item if it is visible
		at all.

BmMail:
	-	fixed bug with generating backup-name for mails with very long names.

BmMailFolderList:
	-	cosmetical changes

BmMailRef:
	-	in ResyncFromDisk() we call TellModelItemUpdated() only if anything
		has in fact changed.

Base64DecoderTest:
	-	added test that checks for correct handling of embedded padding
		chars.

< 2004-05-04: commit >

BmMail, BmPrefsMailConstrView:
	-	added support for %FA and %FN macros in reply-/forward-intro.

BmMailFolderList:
	-	we now filter out second event of a single B_ENTRY_MOVED node-monitor
		message as we want to handle it only once.

< 2004-04-30: moved current-devel >

< 2004-04-27: commit >

BmController:
	-	removed left-overs from profiling

BmListController:
	-	added some more logging
	-	cosmetical changes

BmDataModel, BmMailFolder, BmMailRef, BmMailRefList:
	-	implemented appending archives to cache for the case when the
		cache isn't loaded. This speeds up use of long folders that are
		the target of mail-filters, as the cache no longer needs to be
		thrown away.

BmMemIO:
	-	removed ugly minSize-crutch.

BmRefManager:
	-	STL-related cleanups.

ColumnListView:
	-	AssertWindowLocked() works only in debug-mode from now on.

many files:
	-	A first try at establishing compatibility with Dano/Zeta UI-colors.

< 2004-04-04: commit >

BmBodyPartList:
	-	added MimeTypeIsPotentiallyHarmful()-predicate

BmBodyPartView:
	-	moved judgement about harmfulness of a given bodypart out into
		BmBodyPart for clarity
	-	cleaned up invocation and dragging of attachments.

BmEncoding:
	-	fixed incorrect positioning of cursor when trying to show the
		exact position of a conversion-problem in the mail-text.

BmFilter:
	-	minor cleanup

BmMail:
	-	when replying to a mail from ourselves, we use the original
		sender as the target (not ourselves). This has been suggested
		by Ingo Weinhold.

BmMailRefView:
	-	streamlined dragging-code (now we draw up to 10 items).

BmSieveFilter:
	-	fixed bugs in match-line removal code (we now move the model-data
		accordingly, too, not just the GUI-contents).

CLVEasyItem:
	-	constructor now respects the AvoidColPushing-flag of the listview

CLVListItem:
	-	cosmetical fixes

ColumnListView:
	-	added flag fAvoidColPushing
	-	fixed resorting-problem which caused an item to jump to the end
		of similar items. Now this item just stays in place if sorting
		order hasn't changed.

< 2004-02-22: commit>

Readme:
	- added reference to PCRE

< 2003-12-18: commit>

many files:
	-	some more optimisations concerning use of memory.
	-	finished work on streamlining the update-semantics of listview-
		items.
	-	fixed sorting issues with new update-semantics.

BmApp:
	-	removed unneeded (and erraneous) showing of main-window in
		AppActivated(). R5 just doesn't exhibit this problem, but Zeta
		does...

BmStorageUtil:
	-	changed BmReadStringAttr() to return a bool that indicates
		whether or not the attribute has actually changed from the
		current value passed in via outStr.


< 2003-12-09: commit>

many files:
	-	reworked ColumnListView-Update semantics to be finer grained
		and to use less memory.

BmDataModel:
	-	added OutlineLevel() to BmListMoo now use the BmBackedFile-class.

BmMailFolderList:
	-	cosmetical changes.

BmMailRef:
	-	added missing member-initializers for mWhen and mWhenCreated.

BmSmtp:
	-	added missing member-initializer for mCurrMailSize.

BmStorageUtils:
	-	added BmBackedFile, a file with automatic backup.

< 2004-05-07: commit, moved tag 'current-devel' >

BmEncoding:
	-	removed spurious addition of Escape to the characters safe for 
		qp-encoding, i.e. it would not be encoded. I can't remember the
		reason why I had added it, and it looks strange now. Maybe it
		has to do with japanese encoding (that uses Esc a lot), but I
		don't know.

< 2004-05-07: commit >

BmEncoding:
	-	fixed bug in base64-decoder that chokes on embedded padding chars.
		Unfortunately, Beam is producing these by itself when it concatenates
		several encoded-words into one string.

BmListController:
	-	in UpdateModelItem(), we now only redraw the item if it is visible
		at all.

BmMail:
	-	fixed bug with generating backup-name for mails with very long names.

BmMailFolderList:
	-	cosmetical changes

BmMailRef:
	-	in ResyncFromDisk() we call TellModelItemUpdated() only if anything
		has in fact changed.

Base64DecoderTest:
	-	added test that checks for correct handling of embedded padding
		chars.

< 2004-05-04: commit >

BmMail, BmPrefsMailConstrView:
	-	added support for %FA and %FN macros in reply-/forward-intro.

BmMailFolderList:
	-	we now filter out second event of a single B_ENTRY_MOVED node-monitor
		message as we want to handle it only once.

< 2004-04-30: moved current-devel >

< 2004-04-27: commit >

BmController:
	-	removed left-overs from profiling

BmListController:
	-	added some more logging
	-	cosmetical changes

BmDataModel, BmMailFolder, BmMailRef, BmMailRefList:
	-	implemented appending archives to cache for the case when the
		cache isn't loaded. This speeds up use of long folders that are
		the target of mail-filters, as the cache no longer needs to be
		thrown away.

BmMemIO:
	-	removed ugly minSize-crutch.

BmRefManager:
	-	STL-related cleanups.

ColumnListView:
	-	AssertWindowLocked() works only in debug-mode from now on.

many files:
	-	A first try at establishing compatibility with Dano/Zeta UI-colors.

< 2004-04-04: commit >

BmBodyPartList:
	-	added MimeTypeIsPotentiallyHarmful()-predicate

BmBodyPartView:
	-	moved judgement about harmfulness of a given bodypart out into
		BmBodyPart for clarity
	-	cleaned up invocation and dragging of attachments.

BmEncoding:
	-	fixed incorrect positioning of cursor when trying to show the
		exact position of a conversion-problem in the mail-text.

BmFilter:
	-	minor cleanup

BmMail:
	-	when replying to a mail from ourselves, we use the original
		sender as the target (not ourselves). This has been suggested
		by Ingo Weinhold.

BmMailRefView:
	-	streamlined dragging-code (now we draw up to 10 items).

BmSieveFilter:
	-	fixed bugs in match-line removal code (we now move the model-data
		accordingly, too, not just the GUI-contents).

CLVEasyItem:
	-	constructor now respects the AvoidColPushing-flag of the listview

CLVListItem:
	-	cosmetical fixes

ColumnListView:
	-	added flag fAvoidColPushing
	-	fixed resorting-problem which caused an item to jump to the end
		of similar items. Now this item just stays in place if sorting
		order hasn't changed.

< 2004-02-22: commit>

Readme:
	- added reference to PCRE

< 2003-12-18: commit>

many files:
	-	some more optimisations concerning use of memory.
	-	finished work on streamlining the update-semantics of listview-
		items.
	-	fixed sorting issues with new update-semantics.

BmApp:
	-	removed unneeded (and erraneous) showing of main-window in
		AppActivated(). R5 just doesn't exhibit this problem, but Zeta
		does...

BmStorageUtil:
	-	changed BmReadStringAttr() to return a bool that indicates
		whether or not the attribute has actually changed from the
		current value passed in via outStr.


< 2003-12-09: commit>

many files:
	-	reworked ColumnListView-Update semantics to be finer grained
		and to use less memory.

BmDataModel:
	-	added OutlineLevel() to BmListMoo now use the BmBackedFile-class.

BmMailFolderList:
	-	cosmetical changes.

BmMailRef:
	-	added missing member-initializers for mWhen and mWhenCreated.

BmSmtp:
	-	added missing member-initializer for mCurrMailSize.

BmStorageUtils:
	-	added BmBackedFile, a file with automatic backup.

< 2004-05-07: commit, moved tag 'current-devel' >

BmEncoding:
	-	removed spurious addition of Escape to the characters safe for 
		qp-encoding, i.e. it would not be encoded. I can't remember the
		reason why I had added it, and it looks strange now. Maybe it
		has to do with japanese encoding (that uses Esc a lot), but I
		don't know.

< 2004-05-07: commit >

BmEncoding:
	-	fixed bug in base64-decoder that chokes on embedded padding chars.
		Unfortunately, Beam is producing these by itself when it concatenates
		several encoded-words into one string.

BmListController:
	-	in UpdateModelItem(), we now only redraw the item if it is visible
		at all.

BmMail:
	-	fixed bug with generating backup-name for mails with very long names.

BmMailFolderList:
	-	cosmetical changes

BmMailRef:
	-	in ResyncFromDisk() we call TellModelItemUpdated() only if anything
		has in fact changed.

Base64DecoderTest:
	-	added test that checks for correct handling of embedded padding
		chars.

< 2004-05-04: commit >

BmMail, BmPrefsMailConstrView:
	-	added support for %FA and %FN macros in reply-/forward-intro.

BmMailFolderList:
	-	we now filter out second event of a single B_ENTRY_MOVED node-monitor
		message as we want to handle it only once.

< 2004-04-30: moved current-devel >

< 2004-04-27: commit >

BmController:
	-	removed left-overs from profiling

BmListController:
	-	added some more logging
	-	cosmetical changes

BmDataModel, BmMailFolder, BmMailRef, BmMailRefList:
	-	implemented appending archives to cache for the case when the
		cache isn't loaded. This speeds up use of long folders that are
		the target of mail-filters, as the cache no longer needs to be
		thrown away.

BmMemIO:
	-	removed ugly minSize-crutch.

BmRefManager:
	-	STL-related cleanups.

ColumnListView:
	-	AssertWindowLocked() works only in debug-mode from now on.

many files:
	-	A first try at establishing compatibility with Dano/Zeta UI-colors.

< 2004-04-04: commit >

BmBodyPartList:
	-	added MimeTypeIsPotentiallyHarmful()-predicate

BmBodyPartView:
	-	moved judgement about harmfulness of a given bodypart out into
		BmBodyPart for clarity
	-	cleaned up invocation and dragging of attachments.

BmEncoding:
	-	fixed incorrect positioning of cursor when trying to show the
		exact position of a conversion-problem in the mail-text.

BmFilter:
	-	minor cleanup

BmMail:
	-	when replying to a mail from ourselves, we use the original
		sender as the target (not ourselves). This has been suggested
		by Ingo Weinhold.

BmMailRefView:
	-	streamlined dragging-code (now we draw up to 10 items).

BmSieveFilter:
	-	fixed bugs in match-line removal code (we now move the model-data
		accordingly, too, not just the GUI-contents).

CLVEasyItem:
	-	constructor now respects the AvoidColPushing-flag of the listview

CLVListItem:
	-	cosmetical fixes

ColumnListView:
	-	added flag fAvoidColPushing
	-	fixed resorting-problem which caused an item to jump to the end
		of similar items. Now this item just stays in place if sorting
		order hasn't changed.

< 2004-02-22: commit>

Readme:
	- added reference to PCRE

< 2003-12-18: commit>

many files:
	-	some more optimisations concerning use of memory.
	-	finished work on streamlining the update-semantics of listview-
		items.
	-	fixed sorting issues with new update-semantics.

BmApp:
	-	removed unneeded (and erraneous) showing of main-window in
		AppActivated(). R5 just doesn't exhibit this problem, but Zeta
		does...

BmStorageUtil:
	-	changed BmReadStringAttr() to return a bool that indicates
		whether or not the attribute has actually changed from the
		current value passed in via outStr.


< 2003-12-09: commit>

many files:
	-	reworked ColumnListView-Update semantics to be finer grained
		and to use less memory.

BmDataModel:
	-	added OutlineLevel() to BmListMoo now use the BmBackedFile-class.

BmMailFolderList:
	-	cosmetical changes.

BmMailRef:
	-	added missing member-initializers for mWhen and mWhenCreated.

BmSmtp:
	-	added missing member-initializer for mCurrMailSize.

BmStorageUtils:
	-	added BmBackedFile, a file with automatic backup.

< 2004-05-07: commit, moved tag 'current-devel' >

BmEncoding:
	-	removed spurious addition of Escape to the characters safe for 
		qp-encoding, i.e. it would not be encoded. I can't remember the
		reason why I had added it, and it looks strange now. Maybe it
		has to do with japanese encoding (that uses Esc a lot), but I
		don't know.

< 2004-05-07: commit >

BmEncoding:
	-	fixed bug in base64-decoder that chokes on embedded padding chars.
		Unfortunately, Beam is producing these by itself when it concatenates
		several encoded-words into one string.

BmListController:
	-	in UpdateModelItem(), we now only redraw the item if it is visible
		at all.

BmMail:
	-	fixed bug with generating backup-name for mails with very long names.

BmMailFolderList:
	-	cosmetical changes

BmMailRef:
	-	in ResyncFromDisk() we call TellModelItemUpdated() only if anything
		has in fact changed.

Base64DecoderTest:
	-	added test that checks for correct handling of embedded padding
		chars.

< 2004-05-04: commit >

BmMail, BmPrefsMailConstrView:
	-	added support for %FA and %FN macros in reply-/forward-intro.

BmMailFolderList:
	-	we now filter out second event of a single B_ENTRY_MOVED node-monitor
		message as we want to handle it only once.

< 2004-04-30: moved current-devel >

< 2004-04-27: commit >

BmController:
	-	removed left-overs from profiling

BmListController:
	-	added some more logging
	-	cosmetical changes

BmDataModel, BmMailFolder, BmMailRef, BmMailRefList:
	-	implemented appending archives to cache for the case when the
		cache isn't loaded. This speeds up use of long folders that are
		the target of mail-filters, as the cache no longer needs to be
		thrown away.

BmMemIO:
	-	removed ugly minSize-crutch.

BmRefManager:
	-	STL-related cleanups.

ColumnListView:
	-	AssertWindowLocked() works only in debug-mode from now on.

many files:
	-	A first try at establishing compatibility with Dano/Zeta UI-colors.

< 2004-04-04: commit >

BmBodyPartList:
	-	added MimeTypeIsPotentiallyHarmful()-predicate

BmBodyPartView:
	-	moved judgement about harmfulness of a given bodypart out into
		BmBodyPart for clarity
	-	cleaned up invocation and dragging of attachments.

BmEncoding:
	-	fixed incorrect positioning of cursor when trying to show the
		exact position of a conversion-problem in the mail-text.

BmFilter:
	-	minor cleanup

BmMail:
	-	when replying to a mail from ourselves, we use the original
		sender as the target (not ourselves). This has been suggested
		by Ingo Weinhold.

BmMailRefView:
	-	streamlined dragging-code (now we draw up to 10 items).

BmSieveFilter:
	-	fixed bugs in match-line removal code (we now move the model-data
		accordingly, too, not just the GUI-contents).

CLVEasyItem:
	-	constructor now respects the AvoidColPushing-flag of the listview

CLVListItem:
	-	cosmetical fixes

ColumnListView:
	-	added flag fAvoidColPushing
	-	fixed resorting-problem which caused an item to jump to the end
		of similar items. Now this item just stays in place if sorting
		order hasn't changed.

< 2004-02-22: commit>

Readme:
	- added reference to PCRE

< 2003-12-18: commit>

many files:
	-	some more optimisations concerning use of memory.
	-	finished work on streamlining the update-semantics of listview-
		items.
	-	fixed sorting issues with new update-semantics.

BmApp:
	-	removed unneeded (and erraneous) showing of main-window in
		AppActivated(). R5 just doesn't exhibit this problem, but Zeta
		does...

BmStorageUtil:
	-	changed BmReadStringAttr() to return a bool that indicates
		whether or not the attribute has actually changed from the
		current value passed in via outStr.


< 2003-12-09: commit>

many files:
	-	reworked ColumnListView-Update semantics to be finer grained
		and to use less memory.

BmDataModel:
	-	added OutlineLevel() to BmListMoo now use the BmBackedFile-class.

BmMailFolderList:
	-	cosmetical changes.

BmMailRef:
	-	added missing member-initializers for mWhen and mWhenCreated.

BmSmtp:
	-	added missing member-initializer for mCurrMailSize.

BmStorageUtils:
	-	added BmBackedFile, a file with automatic backup.

< 2004-05-07: commit, moved tag 'current-devel' >

BmEncoding:
	-	removed spurious addition of Escape to the characters safe for 
		qp-encoding, i.e. it would not be encoded. I can't remember the
		reason why I had added it, and it looks strange now. Maybe it
		has to do with japanese encoding (that uses Esc a lot), but I
		don't know.

< 2004-05-07: commit >

BmEncoding:
	-	fixed bug in base64-decoder that chokes on embedded padding chars.
		Unfortunately, Beam is producing these by itself when it concatenates
		several encoded-words into one string.

BmListController:
	-	in UpdateModelItem(), we now only redraw the item if it is visible
		at all.

BmMail:
	-	fixed bug with generating backup-name for mails with very long names.

BmMailFolderList:
	-	cosmetical changes

BmMailRef:
	-	in ResyncFromDisk() we call TellModelItemUpdated() only if anything
		has in fact changed.

Base64DecoderTest:
	-	added test that checks for correct handling of embedded padding
		chars.

< 2004-05-04: commit >

BmMail, BmPrefsMailConstrView:
	-	added support for %FA and %FN macros in reply-/forward-intro.

BmMailFolderList:
	-	we now filter out second event of a single B_ENTRY_MOVED node-monitor
		message as we want to handle it only once.

< 2004-04-30: moved current-devel >

< 2004-04-27: commit >

BmController:
	-	removed left-overs from profiling

BmListController:
	-	added some more logging
	-	cosmetical changes

BmDataModel, BmMailFolder, BmMailRef, BmMailRefList:
	-	implemented appending archives to cache for the case when the
		cache isn't loaded. This speeds up use of long folders that are
		the target of mail-filters, as the cache no longer needs to be
		thrown away.

BmMemIO:
	-	removed ugly minSize-crutch.

BmRefManager:
	-	STL-related cleanups.

ColumnListView:
	-	AssertWindowLocked() works only in debug-mode from now on.

many files:
	-	A first try at establishing compatibility with Dano/Zeta UI-colors.

< 2004-04-04: commit >

BmBodyPartList:
	-	added MimeTypeIsPotentiallyHarmful()-predicate

BmBodyPartView:
	-	moved judgement about harmfulness of a given bodypart out into
		BmBodyPart for clarity
	-	cleaned up invocation and dragging of attachments.

BmEncoding:
	-	fixed incorrect positioning of cursor when trying to show the
		exact position of a conversion-problem in the mail-text.

BmFilter:
	-	minor cleanup

BmMail:
	-	when replying to a mail from ourselves, we use the original
		sender as the target (not ourselves). This has been suggested
		by Ingo Weinhold.

BmMailRefView:
	-	streamlined dragging-code (now we draw up to 10 items).

BmSieveFilter:
	-	fixed bugs in match-line removal code (we now move the model-data
		accordingly, too, not just the GUI-contents).

CLVEasyItem:
	-	constructor now respects the AvoidColPushing-flag of the listview

CLVListItem:
	-	cosmetical fixes

ColumnListView:
	-	added flag fAvoidColPushing
	-	fixed resorting-problem which caused an item to jump to the end
		of similar items. Now this item just stays in place if sorting
		order hasn't changed.

< 2004-02-22: commit>

Readme:
	- added reference to PCRE

< 2003-12-18: commit>

many files:
	-	some more optimisations concerning use of memory.
	-	finished work on streamlining the update-semantics of listview-
		items.
	-	fixed sorting issues with new update-semantics.

BmApp:
	-	removed unneeded (and erraneous) showing of main-window in
		AppActivated(). R5 just doesn't exhibit this problem, but Zeta
		does...

BmStorageUtil:
	-	changed BmReadStringAttr() to return a bool that indicates
		whether or not the attribute has actually changed from the
		current value passed in via outStr.


< 2003-12-09: commit>

many files:
	-	reworked ColumnListView-Update semantics to be finer grained
		and to use less memory.

BmDataModel:
	-	added OutlineLevel() to BmListMoo now use the BmBackedFile-class.

BmMailFolderList:
	-	cosmetical changes.

BmMailRef:
	-	added missing member-initializers for mWhen and mWhenCreated.

BmSmtp:
	-	added missing member-initializer for mCurrMailSize.

BmStorageUtils:
	-	added BmBackedFile, a file with automatic backup.

< 2004-05-07: commit, moved tag 'current-devel' >

BmEncoding:
	-	removed spurious addition of Escape to the characters safe for 
		qp-encoding, i.e. it would not be encoded. I can't remember the
		reason why I had added it, and it looks strange now. Maybe it
		has to do with japanese en
