3379 Commits

Author SHA1 Message Date
Clemens Zeidler
a1f765fb1a Create an index for MAIL:account_id. If you using POP3 update to this revision! POP3 queries for this attribute and if no mails are found with this id it will delete the missing mails on the server (if the option is ticked).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-21 20:02:48 +00:00
Clemens Zeidler
a64bd5649d 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
2011-03-21 09:13:12 +00:00
Clemens Zeidler
37f85698cf - Fix race condition when start watching a mailbox and directly afterwards stop watching it. A BLooper was not suitable to synchronise start and stop watching. Wait till the IDLE command is send before returning the SyncAndStartWatchingMailbox method now. That ensures that a later StopWatchingMailbox call find the maibox in an expected watching state.
There is one thread (BLooper) to handle new commands and one watcher thread which is just listening at the server port for updates. The race condition occurred for example when a sync/watching and a fetch body message are send to the looper. The sync message just triggered the IDLE command in the watcher thread. In the meantime the fetch body command send a DONE command, because the IDLE command has not be send at this time the watcher keeps watching. 

- fix int32 -> ssize_t thanks Axel and Stippi
- clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-11 20:13:54 +00:00
Stephan Aßmus
1d1031cf27 Duh, of course fStyle can be NULL in SetStyle(), which is for example
called from the constructors...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:47:57 +00:00
Stephan Aßmus
663738e98e The whole file assumes fStyle cannot be NULL, and it can't be NULL unless there is
no default font at all, in which case we have more serious worries. CID 1559.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:36:35 +00:00
Stephan Aßmus
87911f6c6e fClippingRegion cannot be NULL at this point (or at least is not supposed to be). CID 3167.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:26:17 +00:00
Stephan Aßmus
de68adf69b Secure coding, sprintf->snprintf. CID 6321.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:59:00 +00:00
Stephan Aßmus
f1aceeca70 Initialize hash_link. I don't think it could be used uninitialized, but it never hurts...
CID 9468.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:55:01 +00:00
Stephan Aßmus
54fff0c456 Fixed resource leak in error code path. CID 5888.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:48:09 +00:00
Jonas Sundström
82e7ef6709 Add app filename localization catalog entry support to BAppFileInfo, registrar and mimeset. Need help to understand why the build-version of UpdateMimeInfoThread.cpp does not compile with the added code, currently commented out. Sorry about the arbitrary B_MIME_TYPE_LENGTH*3. Advice and review welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-07 15:14:46 +00:00
Clemens Zeidler
b0acdd1578 Remove some code that pretty much looks like some legacy code to add additional attributes to a running system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-03 21:42:29 +00:00
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
c38ff3e36c Remove unused files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-28 21:26:23 +00:00
Siarzhuk Zharski
c4489236c7 Additional and hopefully final fix for #7281 "Shutdown is not localized".
PS: Yes, I'm not brave enough to change the character case in the signature for 
one of the most significant servers in the system ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-27 22:38:02 +00:00
Jonas Sundström
9f0f6fcd99 Fix mixed up button labels.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-26 05:57:46 +00:00
Philippe Houdoin
ea56573776 Localized Shutdown process.
Closes #7281.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-25 13:16:04 +00:00
Stephan Aßmus
4153964a10 Moved IconUtils.h to Interface Kit and therefor made it an "official" header. Since the class has no
virtual but only static methods, it is not so likely that binary compatibility issues may arrise
from using it in new apps. Adjusted all the Jamfiles that included the private libicon headers. Note
that it was never necessary to link against libicon.a, since it's part of libbe anyway. There was one
instance where that was done. Hopefully it does not break the build, but I did this change a while ago,
tested it and then the harddrive began failing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-25 09:12:38 +00:00
Stephan Aßmus
581144ea46 fLastSnapTime was never initialized, which may have prevented
snapping to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 11:36:26 +00:00
Stephan Aßmus
cbaa4d3143 Initialize all members. They don't seem to be used, but this can avoid future
use in derived classes without enforced code paths... (CID 10252).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 11:29:26 +00:00
Jonas Sundström
46f4e9db27 Useless type qualifier on return type. CID 5666.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 04:38:57 +00:00
Jonas Sundström
93e53019bf Missing InitCheck. Error checking stale status variable. CID 2962.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 04:35:37 +00:00
Clemens Zeidler
7398688a5e IMAP commands are serialized using the BLooper message queue. MarkMessageAsRead used the direct way to access the protocol and so interfered with ongoing requests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-22 00:42:02 +00:00
Clemens Zeidler
f191a57149 - Change the new mail query to search for the MAIL:read attribute.
- The deskbar status query is looking for MAIL:read values equal to B_UNREAD now. This has the effect that in manual mark as read mode also unseen messages are counted as read messages. In this way the deskbar shows the full mailbox icon only for really new messages.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-21 10:01:39 +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
df317863c8 Fix regression spotted by Humdinger. Try to open the entry in settings/Mail/mailbox first.
Add some more info to the self made query, not perfect yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 06:08:26 +00:00
Clemens Zeidler
20a1f87af2 Open the new query window when clicking the deskbar mail icon. The mails/in folder is not a valid folder in any case and if you have a lot of mails it takes for ever to display all mail in tracker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 04:14:48 +00:00
Siarzhuk Zharski
70a1f34934 The "usage" field of property_info should not be localized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-19 23:06:25 +00:00
Axel Dörfler
ddf57b6cf6 * Reverted back to the original version of BNetworkAddress::SetAddress();
in_addr_t is now in network endian again. Thanks, Philippe!
* Made SetToLoopback(), and SetToLocal() a bit more useful (although the latter
  isn't implemented yet).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-18 21:09:21 +00:00
Siarzhuk Zharski
7729a8c8f7 Applied yet another localization patch made by Jorma Karvonen.
Fixes #7151. Thanks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-17 20:01:28 +00:00
Siarzhuk Zharski
720020e0b9 Applied yet another localization patch made by Jorma Karvonen.
Fixes #7005. Thanks.
Exclusions:
- localization of "usage" field of BPropertyInfo rejected - looks like
  it is not displayed to user;
- localization of Sound Event names discarded. The situation is at least
  questionable and should be discussed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-17 19:00:48 +00:00
Philippe Houdoin
cefe2a40f7 * Revert the revert: my local BNetworkAddress::SetAddress(in_addr_t)
was not up-to-date, which leads to a broken fix. Sorry about that.
* Move the details logs to LOG_DEBUG to keep LOG_INFO small.
* Rollback to OPTION_SERVER_ADDRESS, too. Either all options should be
renamed after RFC option names or, as said by axel,
they're named to be understandable, which it was already.

Now, a coffee, please.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 19:58:00 +00:00
Philippe Houdoin
69b5cacbad * BNetworkAddress::SetAddress(in_addr_t) expect a network order value:
revert r40492.
* For semantic sake, use ntoh*() macros to convert data coming from network,
not the hton*() variants, even if the end result is the same.
* Clean and add more details to DHCP syslog messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 18:29:58 +00:00
Clemens Zeidler
df0ad9c12a Fix account name in mail.
Work in progress: fetch next partial downloaded message.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 02:19:49 +00:00
Axel Dörfler
669afb5012 * This should make DHCP work again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 17:36:44 +00:00
Philippe Houdoin
3db9c51d0f Adds support for read or write-only midi devices entries.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 13:19:22 +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
17925a3529 * The app_server leaked the BGradient objects on each drawing operation
related to gradients. This was for example very noticeable when running
   MediaPlayer which redraws the slider a lot. With three movies running,
   app_server would leak at about 100KiB per second.
Might be related to #7071 or even fix it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-06 10:25:06 +00:00
Jérôme Duval
c9f72f4333 Applied patch from stimut (#6353), thanks!
In ServerWindow::_DispatchViewDrawingMessage(), for AS_DRAW_STRING_WITH_OFFSETS,
the string length rather than the number of UTF8 glyphs is used, thus leading
to an app_server crash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-28 19:34:37 +00:00
Oliver Tappe
915a7b8c24 Make BObjectList<> publically available:
* cleaned up ObjectList.h
* switched several uses of new() to new(std::nothrow)
* moved ugly AsBList() hack into BObjectList<>::Private class and
  adjusted all callers accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-20 12:09:16 +00:00
Philippe Houdoin
26119abd20 Port value in servent struct is in network byte order.
This was making net_server listening wrong service port. Telnet & FTP
works again in non stand-alone mode.
This close #7108.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-17 17:50:31 +00:00
Alex Wilson
6420e23bca Patch by Hamish Morrison in bluetooth server: simplify code in the bluetooth console 'Output' class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-15 06:36:18 +00:00
Alex Wilson
983dbb974b Patch by Hamish Morrison as part of GCI. Refactor Bluetooth server output window gui code to use the Layout API. One small change by me as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-11 18:09:19 +00:00
Oliver Tappe
afd785cf43 * fix build of app-server in debug mode - thanks to Timothy Brown
(stimut) for the hint that it was broken

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-10 13:37:45 +00:00
Michael Lotz
427427bc82 Create uncached glyphs on demand instead of checking glyph availability upfront.
This safes a HasGlyphs() call which would convert the whole string to glyph
codes and look each of the glyphs up in the cache entry, just to do the same
again during the loop where they are actually used. Instead we now simply switch
to the write lock and look up the fallback entry when hitting the first uncached
glyph. This benefits the normal case of having all glyphs cached without any
drawbacks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-09 21:24:09 +00:00
Michael Lotz
5c89315772 Implement missing glyph handling, making the glyph retrieval the following:
1. If the glyph is cached, return it, as before.
2. Try to find a glyph in the fallback font, as before.
3. Check for ignorable characters as per Unicode and cache and return a zero
   width glyph (rendering as completely invisible).
4. Reset to the original font.
5. Check for whitespace as per Unicode and cache and return the normal space
   glyph.
6. If there still is no valid glyphIndex, continue with index 0 which caches
   and returns the usual "missing glyph box".

This implements the Unicode suggestions on how to handle missing glyphs and
closes #7077.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-09 04:10:13 +00:00
Michael Lotz
2004d8c100 LayoutGlyphs() was broken in various ways when encountering missing glyphs:
* The code used continue to restart the loop when encountering a missing glyph,
  but in that case the index wouldn't be incremented, meaning the consumers
  would received the same index for ConsumeEmptyGlphy() and ConsumeGlyph() and
  at the end there was not necessarily a call for every index, resulting in
  uninitialized array elements for GetHasGlyphs, GetEdges, GetEscapements and
  GetBoundingBoxes.
* Since the advance values were not reset in case of a missing glyph but still
  added for the next char, the coordinates the consumers would get were advanced
  by the advance values of the glyph preceeding the missing glyph(s). This made
  StringWidth return wrong widths.
* The loop end condition was skipped by the continue as well, which would have
  resulted in overruns when there were problematic chars at the end of a string.

Fixes #7075 where the uninitialized array elements caused random truncation
errors. The problematic character in this case is a tab, that has no glyph as
it is a dynamic spacer. Previously this was resolved to the "missing glyph"
(the box) which had a width.

I find it highly problematic not to fall back to such a glyph, because there is
no real way to see that you're using a font that has missing glyphs. Instead
those are simply collapsed to nothing with this change (instead of being
random). This whole problem is only brought up by not guaranteeing that there
always is a glyph as was the case before where a missing glyph was replaced by
the box.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-08 23:17:18 +00:00
Rene Gollent
5c9b247667 The cmd+` shortcut wasn't taking into account if the user was currently holding a
window with the mouse, and as such didn't take it along to the new workspace
as the cmd+F# shortcuts do. Fixes #7057.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-02 16:04:15 +00:00
Ingo Weinhold
7e36984164 Removed Humdinger's resize mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-02 00:29:17 +00:00
Michael Lotz
c3dab48ba4 Add a way to cancel a started message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-29 08:30:25 +00:00