Commit Graph

52633 Commits

Author SHA1 Message Date
Axel Dörfler
d6ce6060b9 pop3: minor cleanup. 2015-01-06 15:24:24 +01:00
Axel Dörfler
a9de7ece6b pop3: Fixed maintaining fSizes list, and more.
* The list was filled, but never emptied.
* If SyncMessages() was called more than once for the same POP3 instance,
  this could garble the mails retrieved in the second run.
* Maintain the total size of mails in fSizes to be able to report progress
  in more detail.
* Also adapted progress reporting to the argument changes made in MailProtocol
  earlier.
* Minor cleanup.
2015-01-06 15:24:19 +01:00
Axel Dörfler
93608baf60 Clarified progress parameter names for the MailProtocol. 2015-01-06 15:24:14 +01:00
Axel Dörfler
46851a74af BMessage::SetString() was broken.
* We cannot use the macro for this, unfortunately.
2015-01-06 15:24:10 +01:00
Axel Dörfler
acee88be99 E-mail settings are now stored as they should.
* ProtocolSettingsView was still using Archive() instead of SaveInto().
* However, it looks like BMessage::Set*() does corrupt the message fields.
2015-01-06 15:24:05 +01:00
Axel Dörfler
8651ebbe7a Fixed stale config view pointer in E-mail.
* When removing an account (all accounts would be removed when the app
  was quit), AccountItem::ConfigPanel() was used to remove views.
* However, this member was only set when a new view was created, never when
  it was removed. This could cause a crash on quit.
* Removed that member completely, as it was unnecessary, anyway.
* Fixed naming of AccountItem getters to lose their Get* prefix.
2015-01-06 15:24:01 +01:00
Axel Dörfler
dcb663f339 libmail: Fixed missing initialization in protocol view.
* This would cause a crash when the fields were actually not being
  used.
2015-01-06 15:23:56 +01:00
Axel Dörfler
fa587d2956 The protocol config view now adds some glue at the bottom.
* This makes all boxes fill the complete height of the window.
* The SMTP add-on did that itself which makes no sense.
2015-01-06 15:23:51 +01:00
Axel Dörfler
4235da3061 Improved label of the button to configure the IMAP folders. 2015-01-06 15:23:47 +01:00
Axel Dörfler
22fc80c6e3 Align all protocol config view labels to the right. 2015-01-06 15:23:42 +01:00
Axel Dörfler
19d947eb7f The E-mail window's frame is no longer stored.
* This is part of a clean up of BMailSettings; storing the window
  position might be implemented again later -- it just doesn't
  belong there.
* Changed the logic when the daemon is set to auto start. It's now
  always started if at least a single account exists.
2015-01-06 15:23:38 +01:00
Axel Dörfler
4a8448ce34 Major coding style cleanup. 2015-01-06 15:23:33 +01:00
Axel Dörfler
81ec973846 Minor coding style fix. 2015-01-06 15:23:28 +01:00
Axel Dörfler
792843e8af Adapted IMAP to the new MailSettingsView API. 2015-01-06 15:23:24 +01:00
Axel Dörfler
006040d06e Adapted POP3, and Fortune to the new MailSettingsView API. 2015-01-06 15:23:19 +01:00
Axel Dörfler
1da1e5a166 Renamed BodyDownloadConfig to BodyDownloadConfigView. 2015-01-06 15:23:15 +01:00
Axel Dörfler
518698c7e7 Removed commented out method in BMailSettingsView. 2015-01-06 15:23:10 +01:00
Axel Dörfler
57b305558b MailProtocolConfigView now is a BMailSettingsView.
* Changed the private settings base classes to follow the new style.
* Made BodyDownloadConfig use the layout API.
* Adapted SMTP to these changes.
2015-01-06 15:23:06 +01:00
Axel Dörfler
efd1602a79 Fixed debugger call in E-mail.
* The settings view is no longer a direct child of the protocol settings
  view.
2015-01-06 15:23:01 +01:00
Axel Dörfler
ca3341c7b4 Major mail protocol/filter settings rework.
* Instead of abusing BArchive::Archive() we now use a BMailSettingsView as
  a base view for all filter/protocol settings that works with
  BMailAddOnSettings.
* Cleanups in E-mail which is now completely layout friendly. But also still
  crashes when changing the views.
2015-01-06 15:22:56 +01:00
Axel Dörfler
a6943acbe0 Added missing BMessage::{Get|Set}String() methods.
* Forgot to add those before accidentally.
2015-01-06 15:22:51 +01:00
Axel Dörfler
5faab458af Reworked the mail preferences.
* Made it use the layout API.
* Removed options that no longer apply (dial-up, for example).
* Cleanup.
* There are a few issues left, though, for example, the BTextView is not
  correctly sized, and it currently crashes in the protocol panels.
2015-01-06 15:22:47 +01:00
Axel Dörfler
58b56ffc80 Improved mail protocol config view layout. 2015-01-06 15:22:42 +01:00
Axel Dörfler
f90a3bbd67 Added support for letting user mail add-ons override system ones.
* The path will now be relativized before storing it.
* On load, the add-on will be tried to load from the user, then common
  and finally system add-on directory.
2015-01-06 15:22:37 +01:00
Axel Dörfler
b448d260c3 Fixed mail daemon build.
* Removed cvs package leftovers.
2015-01-06 15:22:33 +01:00
Axel Dörfler
1f87386b0a Now also loads mail settings from common.
* Also removed the superfluous and unused timeout argument from Save().
2015-01-06 15:22:28 +01:00
Axel Dörfler
9d8cf1b6f7 E-mail now also builds, but doesn't work yet. 2015-01-06 15:22:23 +01:00
Axel Dörfler
bcf60bbb83 Fixed Mail build.
* The former kMsgBodyFetched (now B_MAIL_BODY_FETCHED, following the other
  message constant names in AppDefs.h) must be public.
2015-01-06 15:22:18 +01:00
Axel Dörfler
e1e78d4deb Reset the daemon messenger after a successful Launch(). 2015-01-06 15:22:14 +01:00
Axel Dörfler
daf972c99c Renamed MailDaemon{App|.cpp|.h} to MailDaemonApplication[.{cpp|h}]. 2015-01-06 15:22:09 +01:00
Axel Dörfler
ae9d8c6add IMAP now compiles again with GCC 4. 2015-01-06 15:22:04 +01:00
Axel Dörfler
4d30240166 Renamed smtp.{cpp|h} to SMTP.{cpp|h}. 2015-01-06 15:22:00 +01:00
Axel Dörfler
146357b547 Completed transition to the new mail API; ie. it compiles.
* Completely untested yet. Unlikely to work yet.
2015-01-06 15:21:55 +01:00
Axel Dörfler
383b34adac Moved ProtocolConfigView to headers/private/mail.
* This is by no means meant as a public header.
2015-01-06 15:21:50 +01:00
Axel Dörfler
bebcc474f8 Renamed a few files to better match their class names. 2015-01-06 15:21:45 +01:00
Axel Dörfler
794a013e9b Adapted fortune filter to the new mail API. 2015-01-06 15:21:40 +01:00
Axel Dörfler
715bf3d17a 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.
2015-01-06 15:21:36 +01:00
Axel Dörfler
0f11280e6d Minor MailNotifier cleanup.
* Renamed to BMailNotifier, as it's part of the public API.
* Renamed Notifier.{cpp|h} to DefaultNotifier.{cpp|h} as that's the class it
  implements.
* Made the mail counts uint32, and the byte counts uint64.
2015-01-06 15:21:31 +01:00
Axel Dörfler
e0676bb982 Fixed typo. 2015-01-06 15:21:26 +01:00
Axel Dörfler
20537ad067 Minor coding style cleanup. 2015-01-06 15:21:21 +01:00
Axel Dörfler
7135c4f8fe Renamed pop3.{cpp|h} to POP3.{cpp|h}. 2015-01-06 15:21:17 +01:00
Axel Dörfler
6a6b7ae7a0 Style cleanup, no functional change. 2015-01-06 15:21:12 +01:00
Axel Dörfler
f06916d572 Initial work on a class that manages an IMAP folder on disk. 2015-01-06 15:21:07 +01:00
Axel Dörfler
077338a9b8 Completed literal handling.
* LiteralHandler commands now receive the literal data as intended.
* The 'fetch' command in the imap_tester now uses this to print the literal
  to stdout.
2015-01-06 15:21:03 +01:00
Axel Dörfler
3e4e5c2cf6 Improved folder config window a bit.
* Now uses the BLayoutBuilder instead of ALM layout - not only is the code much
  simpler now, resizing the window isn't as sluggish anymore (less flickering).
* Fixed a drawing bug in the list view; the drawing state wasn't properly
  maintained, leading to rendering artefacts.
* Moved the checkbox to the start of the line.
* Use B_ASYNCHRONOUS_CONTROLS for all windows.
* Fixed a few typos.
2015-01-06 15:20:58 +01:00
Axel Dörfler
cc3aa99cb3 Use GETQUOTAROOT instead of GETQUOTA.
* At least with my ISP, there is no "" root, so the command would fail when used
  as is.
* Now we always use the GETQUOTAROOT command instead, by default for the INBOX
  mailbox. This isn't entirely correct either, but better than nothing.
2015-01-06 15:20:49 +01:00
Axel Dörfler
f1c9cc4292 We need to copy the settings message. 2015-01-06 15:20:44 +01:00
Axel Dörfler
fe26284795 Added support for decoding RFC-3501 mailbox names.
* Added new RFC3501Encoding class that implements modified UTF-7 as specified
  in RFC-3501; only decoding is implemented right now.
* ListCommand now uses this new class to encode, and decode the folder names.
2015-01-06 15:20:39 +01:00
Axel Dörfler
9192d4dcf3 Started working on the IMAP add-on itself.
* Renamed imap_config.cpp to ConfigView.cpp, IMAPFolderConfig.(h|cpp)
  to FolderConfigWindow.(h|cpp).
* Got the latter to build.
* Added Settings class to simplify and unify the BMessage based
  settings access.
* Removed the InboundProtocol[Thread] implementation from the build for now.
2015-01-06 15:20:35 +01:00
Axel Dörfler
1704480100 Read some more specs, cleaned Protocol a bit.
* Added some TODO comments based on the various IMAP specs and extensions.
* Removed SelectMailbox() functionality from the Protocol class; it's not
  really useful to have it there.
* Removed some other methods that don't belong into the Protocol class.
2015-01-06 15:20:25 +01:00