#
bdd02e0d |
|
12-Jan-2017 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
BString: rename SetCharAt to SetByteAt Makes it clear that it operates on bytes, not unicode codepoints. Thanks to mmlr for remembering me of this subtlety.
|
#
3eac8208 |
|
09-Jan-2017 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Remove BStringRef and users. As discussed in 2008 (http://www.freelists.org/post/haiku-development/BString-on-GCC4,1), this class was not efficient because of lack of inlining. Implement the suggested solution of a SetCharAt method instead. Also add a CompareAt which covers a specific use case in KeyboardLayout.cpp. Adjust all places which were using this feature to safer APIs. Also fixes a copypaste error in FormattingConventions.cpp.
|
#
d33e4744 |
|
03-Jul-2013 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: downloading mails is now working. * Changed the way the attributes are written to make sure that everything that can be written once is in fact written just once. * The rename code in BMailProtocol::_ProcessFetchedHeader() was broken, and caused the hang of the last commit.
|
#
549949b2 |
|
26-Jun-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Mail Kit: Changed how filter changes work. * BMailFilter::HeaderFetched() now only alters the entry_ref, and returns B_MOVE_MAIL_ACTION to move a mail. * Instead of potentially moving the file around several times, the BMailProtocol now takes care of carrying out the filter action just once, including trying to make the file name unique. * This also allows the IMAP add-on to know the final location of the mail, and thus downloading a message actually works. * However, with my test inbox, it currently hangs, and a current Debugger does not work on my older system -- I guess I need to update. * Replaced the duplicated space mechanism within the "HaikuMailFormatFilter" that is substantially faster, and handles all whitespace, not just spaces. It will also replace tabs with spaces.
|
#
715bf3d1 |
|
26-Oct-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Work in progress of mail rework. * Not everything compiles; all protocols, and inbound filters do, though. * Renamed a few classes to give a better idea what they are for; prefixed public classes with the 'B' prefix. * Moved ProtocolConfigView's classes into the BPrivate namespace. * Moved BMailFilter into its own file. * Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter in order to give a description of what it's doing (ie. no more dozens of "Rule filter" entries in the preferences). * Removed no longer used MailAddon.h. * Renamed Addon to AddOn where found, since that is more consistent with the rest of the API. * Merged the former MailProtocol with the former MailProtocolThread; the differentiation between those two was pretty messy. * All configuration views touched so far are now using the layout kit. * The RuleFilter is currently broken functionality wise; I have not yet decided how to solve the stuff it uses (TriggerFileMove() does not exist anymore, for example). * BMailAddOnSettings (formerly known as AddonSettings) now directly subclass BMessage; there are no Settings() and EditSettings() method anymore. The class uses a copy of itself to determine whether or not it has been changed. * Lots of cleanup.
|
#
1b6bc267 |
|
08-Feb-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
kits: Some spelling cleanup of common mistyped words * Little whitespace cleanup * No functional change
|
#
49774900 |
|
08-Oct-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Now sanitizes the white space in the header fields before adding them to the message (ie. multiple spaces are compressed to a single one, tabs and other white space is replaced with a space). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42810 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c7f804c |
|
08-Oct-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* mail_util.h was not self-contained. * Added a few missing breaks in MailProtocolThread::MessageReceived()! * Minor coding style update. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42808 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21c22141 |
|
19-Jun-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed default_sent_directory(), and introduced default_mail{_in|_out}_directory() methods in the BPrivate namespace. * Used these methods in the inbound/outbound protocols. * Moved WriteMessageFile() into the BPrivate namespace as well, and put its prototype into a new header MailPrivate.h along with the new directory getters. * Removed the automatic copy to the sent directory again, and only have one directory for incoming mail. Incidentally, this fixed #7509, although the underlying filter restriction remains. * Automatic whitespace cleanups, some style cleanups. Sorry for the mess. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42260 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c3b35f1 |
|
21-Mar-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Return the email address if the name is empty. Fix some side cases. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41064 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a64bd564 |
|
21-Mar-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Write MAIL:name, MAIL:thread and MAIL:account attribute. The account id is now stored in MAIL:account_id. This requires to re-download all mails to write the correct attribute (sorry). Fixes #7375. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41062 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ee7dfd9 |
|
21-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Write status attributes correctly again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40604 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9967dfd9 |
|
21-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Extend MarkMailAsRead to take a flag not only a bool value. Write an additional MAIL:read attribute. - Remove some hard coded paths. - Catch failure of FindMessage correctly. Thanks Axel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40593 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ab6cb9a |
|
19-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Copy sent mails to /boot/home/mail/sent. Hope that makes more clear if a mail should be send (in out folder) or already has be sent. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40570 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c4e0ece |
|
14-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Use macro instead hard coded string. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40503 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1af4fa4b |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Major restructuring of the mail server: Accounts are now stored in a separate file. Previously they where somehow magically assembled from the chain ids. Now its possible to remove a account temporary by removing the account file form the account folder. Each account could have an inbound protocol, an outbound protocol and some filters. Mails are now associated with an account and not with a chain. This required to replace the chain id attribute by an account attribute. Replace BMailFilter and BMailChain by a less general approach. Basically the chain had a list of filters and call the ProcessMailMessage for each filter. This made it sometime difficult to understand what is going on, e.g. sometimes a filter used information gathered by another filters. The new MailProtocol and MailFilter classes are calling more dedicated hook functions, e.g. HeaderFetched or MessageReadyToSend. As before all MailProtocol's (plus their filters) are running in their own thread. Cleaned up the error and status window a bit. Abstracted the interface to these windows. Should be easy to write a BNotification api back-end now. Parsing of mail headers is much faster now. Fetching the headers of a large mailbox takes ~min and not ~hour now! Initial checkout time is in the same order like Opera. The problem was the massive use of fgets in parse_header (mail_util.cpp) now the complete header is read in one go. Furthermore, only interesting fields are extracted. Remove some unused files, BeOS relicts... Feel free to translate the mail server and remove the own language system (headers/private/mail/MDRLanguage.h). Sorry for the remaining old (and new) coding style issues, sometime just ignore them, to many :( git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40397 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d33e4744df1542a1350f55c25ce7b691560d7345 |
|
03-Jul-2013 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: downloading mails is now working. * Changed the way the attributes are written to make sure that everything that can be written once is in fact written just once. * The rename code in BMailProtocol::_ProcessFetchedHeader() was broken, and caused the hang of the last commit.
|
#
549949b26f4df07ba280792c18a515553f489388 |
|
26-Jun-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Mail Kit: Changed how filter changes work. * BMailFilter::HeaderFetched() now only alters the entry_ref, and returns B_MOVE_MAIL_ACTION to move a mail. * Instead of potentially moving the file around several times, the BMailProtocol now takes care of carrying out the filter action just once, including trying to make the file name unique. * This also allows the IMAP add-on to know the final location of the mail, and thus downloading a message actually works. * However, with my test inbox, it currently hangs, and a current Debugger does not work on my older system -- I guess I need to update. * Replaced the duplicated space mechanism within the "HaikuMailFormatFilter" that is substantially faster, and handles all whitespace, not just spaces. It will also replace tabs with spaces.
|
#
715bf3d17a81353ae5d1fa6867587cc0f5c32ce1 |
|
26-Oct-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Work in progress of mail rework. * Not everything compiles; all protocols, and inbound filters do, though. * Renamed a few classes to give a better idea what they are for; prefixed public classes with the 'B' prefix. * Moved ProtocolConfigView's classes into the BPrivate namespace. * Moved BMailFilter into its own file. * Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter in order to give a description of what it's doing (ie. no more dozens of "Rule filter" entries in the preferences). * Removed no longer used MailAddon.h. * Renamed Addon to AddOn where found, since that is more consistent with the rest of the API. * Merged the former MailProtocol with the former MailProtocolThread; the differentiation between those two was pretty messy. * All configuration views touched so far are now using the layout kit. * The RuleFilter is currently broken functionality wise; I have not yet decided how to solve the stuff it uses (TriggerFileMove() does not exist anymore, for example). * BMailAddOnSettings (formerly known as AddonSettings) now directly subclass BMessage; there are no Settings() and EditSettings() method anymore. The class uses a copy of itself to determine whether or not it has been changed. * Lots of cleanup.
|
#
1b6bc2675fe3691538c8764ab016593f3b06ca53 |
|
08-Feb-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
kits: Some spelling cleanup of common mistyped words * Little whitespace cleanup * No functional change
|
#
49774900fb8798096e009cf9948e03c5472cfcbf |
|
08-Oct-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Now sanitizes the white space in the header fields before adding them to the message (ie. multiple spaces are compressed to a single one, tabs and other white space is replaced with a space). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42810 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c7f804cec9077746a5b0b99d9fbc66b47c9c2af |
|
08-Oct-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* mail_util.h was not self-contained. * Added a few missing breaks in MailProtocolThread::MessageReceived()! * Minor coding style update. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42808 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21c22141b824642aa223699f976711e4b9f53cb4 |
|
19-Jun-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed default_sent_directory(), and introduced default_mail{_in|_out}_directory() methods in the BPrivate namespace. * Used these methods in the inbound/outbound protocols. * Moved WriteMessageFile() into the BPrivate namespace as well, and put its prototype into a new header MailPrivate.h along with the new directory getters. * Removed the automatic copy to the sent directory again, and only have one directory for incoming mail. Incidentally, this fixed #7509, although the underlying filter restriction remains. * Automatic whitespace cleanups, some style cleanups. Sorry for the mess. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42260 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c3b35f1257bda01c6b9ae8da8c274dc9dc51ed7 |
|
21-Mar-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Return the email address if the name is empty. Fix some side cases. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41064 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a64bd5649d3aa752ef4672e72a2415861546997d |
|
21-Mar-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Write MAIL:name, MAIL:thread and MAIL:account attribute. The account id is now stored in MAIL:account_id. This requires to re-download all mails to write the correct attribute (sorry). Fixes #7375. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41062 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ee7dfd9712c4ec7ef46a910b537cbd360194609 |
|
21-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Write status attributes correctly again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40604 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9967dfd9243396f9bed5f7b357451cda8cd48f26 |
|
21-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Extend MarkMailAsRead to take a flag not only a bool value. Write an additional MAIL:read attribute. - Remove some hard coded paths. - Catch failure of FindMessage correctly. Thanks Axel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40593 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ab6cb9ac5c3420b3b51c92b8036c459478cc2de |
|
19-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Copy sent mails to /boot/home/mail/sent. Hope that makes more clear if a mail should be send (in out folder) or already has be sent. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40570 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c4e0ece54e084e5224c3062cf6da52220f292ea |
|
14-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Use macro instead hard coded string. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40503 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1af4fa4ba62ba7e49fc47d60a3a89083b6f51c6f |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Major restructuring of the mail server: Accounts are now stored in a separate file. Previously they where somehow magically assembled from the chain ids. Now its possible to remove a account temporary by removing the account file form the account folder. Each account could have an inbound protocol, an outbound protocol and some filters. Mails are now associated with an account and not with a chain. This required to replace the chain id attribute by an account attribute. Replace BMailFilter and BMailChain by a less general approach. Basically the chain had a list of filters and call the ProcessMailMessage for each filter. This made it sometime difficult to understand what is going on, e.g. sometimes a filter used information gathered by another filters. The new MailProtocol and MailFilter classes are calling more dedicated hook functions, e.g. HeaderFetched or MessageReadyToSend. As before all MailProtocol's (plus their filters) are running in their own thread. Cleaned up the error and status window a bit. Abstracted the interface to these windows. Should be easy to write a BNotification api back-end now. Parsing of mail headers is much faster now. Fetching the headers of a large mailbox takes ~min and not ~hour now! Initial checkout time is in the same order like Opera. The problem was the massive use of fgets in parse_header (mail_util.cpp) now the complete header is read in one go. Furthermore, only interesting fields are extracted. Remove some unused files, BeOS relicts... Feel free to translate the mail server and remove the own language system (headers/private/mail/MDRLanguage.h). Sorry for the remaining old (and new) coding style issues, sometime just ignore them, to many :( git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40397 a95241bf-73f2-0310-859d-f6bbb57e9c96
|