Commit Graph

32 Commits

Author SHA1 Message Date
Clemens Zeidler
b8d2bbd616 - Partial downloaded messages are now opened by Mail and not by the mail daemon. Mail request the body fetch and get notified when the daemon is done. During this time the Mail window title is showing "Downloading: subject". This fixes #7256.
- Some cleanup in Mail.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-03 09:05:04 +00:00
Clemens Zeidler
9967dfd924 - 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
2011-02-21 07:24:29 +00:00
Clemens Zeidler
0e657c0b6c Remember tracker message when downloading a partial message and open it with Mail. This is needed to get the next/previous message after downloading the body.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 07:55:47 +00:00
Clemens Zeidler
1af4fa4ba6 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
2011-02-09 01:49:01 +00:00
Stephan Aßmus
a69c16fec5 Rewrote headers.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 12:35:43 +00:00
Axel Dörfler
23debb05d0 * Rewrote InputServerDevice.h header.
* Renamed _BDeviceAddOn_ to DeviceAddOn, and put it into the BPrivate namespace.
* Moved the DeviceManager functionality into the AddOnManager - this also
  solves a locking issue, as BInputServerDevice::Control() was called in the
  context of the DeviceManager before.
* The AddOnManager now uses the BPathMonitor to monitor the devices that
  BInputServerDevices ask for - this greatly simplifies the code.
* Got rid of TList.h, and use ObjectList.h instead.
* Added PathList class that has a list of paths with reference count, used by
  DeviceAddOn and the AddOnManager.
* DeviceAddOn got an actual implementation that lives in InputServerDevice.cpp.
* Added an experimental BInputServerDevice::AddDevices() that could be used
  instead of recursing over devices manually. It replaces the functionality
  that was found in the DeviceManager before (this was done implicitely for
  all monitored devices).
* Greatly cleaned up and simplified the AddOnManager.
* Also fixed lots of potential errors/leaks when things go wrong.
* Removed the extra locker in AddOnManager - its BLooper lock is now used
  instead.
* Replaced PRINT()/PRINTERR() macros in the AddOnManager with TRACE(), and
  ERROR(), both now use debug_printf().
* Hopefully this fixes the problem that I don't have keyboard under VirtualBox
  from time to time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 15:48:34 +00:00
Axel Dörfler
828573bac7 * Rewrote TrackerAddOn.h header :-)
* Removed Background.h - to be replaced by the one in be_apps (which has OT license)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 22:56:37 +00:00
Axel Dörfler
f6e4cbb952 * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 20:13:55 +00:00
Axel Dörfler
c278448653 * Introduced a monitor_info structure and means to let it be filled by the
accelerant (or the app_server via EDID info). It's still experimental
  API, and opinions are welcome.
* Moved BPrivateScreen into the BPrivate namespace.
* Rewrote Screen.h.
* Introduced a BScreen::GetMonitorInfo() method, and implemented it in the
  app server as well (ie. AS_GET_MONITOR_INFO).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 11:41:47 +00:00
Axel Dörfler
4191a211aa * Started accelerant extension to be able to get the preferred mode from
the accelerant, as well as its EDID info. B_GET_PREFERRED_DISPLAY_MODE and
  B_GET_EDID_INFO are both optional. The preferred mode will be taken from the
  EDID info if only the latter hook is implemented, or the former returned an
  error.
* Currently, the app_server should correctly set the preferred mode on start,
  but no accelerant supports that yet, so it's not really tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 16:50:24 +00:00
Jérôme Duval
7a5fa89446 drop old fsproto.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-01 08:01:38 +00:00
Ingo Weinhold
e4f35acf7c * Added new (currently private) API class BMimeSnifferAddon,
representing the interface for, well, MIME sniffer add-ons.
* Implemented the respective add-on manager and make use of it in
  the MIME database code. Unfortunately the MIME DB code completely
  lives in libbe.so and hence I had to put my code there too.
  IMHO we should (one day) remove the direct (read-only) MIME DB
  access from libbe and move everything into the registrar.
  Currently the add-on manager supports built-in add-ons only; it
  doesn't really load anything from disk ATM.
* Added a built-in text sniffer add-on to the registrar. It's based
  upon the BSD file tool code.

This closes bug #250 (plain text files are identified as such, now).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-09 20:48:50 +00:00
Axel Dörfler
7cae4a1ee0 * Big time cleanup of the screen saver stuff, not yet finished yet, though.
Renamed lots of things, like ScreenSaverThread to ScreenSaverRunner,
  refactored code, etc. Much cleaner interfaces and code.
* Fixed a couple of bugs and in the add-on handling, especially some settings
  related bugs (ie. testing a screen saver will now use its latest settings,
  etc.).
* Correctly implemented DPMS support in ScreenSaverPrefs and the ScreenSaver
  preferences application - screen_blanker still ignores them, though.
* It's not yet font sensitive either.
* Changed the input_server add-on to not switch to the screen blanker immediately
  when it's in the "blank corner" - doesn't seem to work yet, though (only tested
  under Qemu).
* Correctly implemented the "preview" function (before, a screen saver would
  never know it rendered a preview).
* Evaluates the return value of BScreenSaver::StartSaver().
* The screen saver thread is no longer killed without notice - it's now
  always shut down properly.
* Made the code more robust against failure.
* Introduced some new bugs as well (the screen saver list view doesn't jump to
  the selection anymore, for some reason), those will be fixed later (as the
  remaining issues).
* Probably some more I forgot about.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-06 08:16:46 +00:00
Axel Dörfler
d85db27509 Screw source compatibility. Cleaning up the legacy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 23:57:47 +00:00
Nathan Whitehorn
96b5ca7902 Made public headers not depend on private ones
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 04:27:05 +00:00
Jérôme Duval
123a598023 change to friend classes; field is now private again
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-17 22:43:06 +00:00
Nathan Whitehorn
fcdc48f1a7 Fixed a nasty bug I introduced when I fixed IMAP that made it impossible to send mail. Apparently I don't send that much.... it's been in there for a good week or so.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-30 17:19:06 +00:00
Jérôme Duval
53b29c4b26 It's useful to me to have this field public :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-28 14:13:12 +00:00
Nathan Whitehorn
c60f83369f Renamed BMailRemoteStorageProtocol to BRemoteMailStorageProtocol. Because I like it better. This should complete the API modifications from the Haiku import.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 17:21:26 +00:00
Axel Dörfler
c743fe4219 Removed the R5 notify_select_event() function - it's now defined in Select.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:45:04 +00:00
Nathan Whitehorn
f7215ac853 Imported MDR. Some code still not entirely functional -- I haven't been able to figure out how to detect SSL, so IMAP and POP have it turned off. PPP auto-detect is also not functional at the moment. Other than that, it seems to work beautifully. Packaging will come later.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 22:31:50 +00:00
Jérôme Duval
72c5d34f21 fixes a warning about comments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-29 12:44:37 +00:00
beveloper
02afe75c20 removed these files from public headers, they are now in current/headers/private/screen_saver
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 22:42:42 +00:00
Axel Dörfler
d25bf856b1 Made it C++ safe. This header is only here temporary; it will be removed
as it defines the R5 file system API only.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-12 19:37:56 +00:00
Michael Phipps
f141dd5709 Re-styled and (hopefully) finalized.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-03 22:41:30 +00:00
Michael Phipps
597515140e Minor changes to support code sharing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-31 00:33:06 +00:00
Michael Phipps
e948782184 Promoted to libscreensaver from (what will be) screen_blanker.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-20 18:52:04 +00:00
Michael Phipps
0a230fcfc5 Removed commented out code - don't need it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-20 18:51:34 +00:00
Ingo Weinhold
a5cb928880 Uncommented the definition of variable saverVersionID. It is defined in
Be's header too, but doing that is complete nonsense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-19 23:46:43 +00:00
Tyler Dauwalder
898b68c344 Added goodies from the bfs version of fsproto.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-28 22:37:27 +00:00
beveloper
d734a8ce5a some header files to be R5 compatible
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 13:54:44 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00