Commit Graph

38316 Commits

Author SHA1 Message Date
Clemens Zeidler c608a3b2bc Fix count_pop_accounts. Returns number of all accounts regardless if it is a pop account or not (as before and in the whole file)...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-09 10:10:17 +00:00
Clemens Zeidler 2e5122917d Re-add/fix old c mail api functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-09 09:58:00 +00:00
Clemens Zeidler 2cec29dba0 Remove unused system_filters directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-09 01:55:00 +00:00
Clemens Zeidler dc2577cf2d Map one or more server mailboxes two a local directory. All subscribed mailboxes are fetched automatically and populated under the root account folder. On startup the local copy is synced with the server, means all local changes are rejected. (We should think about store offline changes and apply them when online)
Also the read flags are synced with the server. This makes it easy to have the same mailbox state on different machines.

Messages could be deleted by delete them form the folder (not when moving them to trash) This maybe needs some more thoughts but its a save solution. One problem with moving it to trash is that you also want to have the option to restore it again. If it is a header only messages and you delete it from the server you lose the body part. Complete messages could theoretically be append to the mailbox again when restoring the mail form trash. Append is commented out though...

An solution for the delete problem would be to move the message to a trash folder on the server. Moving mails on the server is not implemented yet, though.

You can subscribe or unsubscribe to a mailbox using the imap pref panel. The settings are written to the server and are not stored locally.

Add some helper classes which could also be used for POP and SMTP:
ServerConnection: abstract ssl or socket connection
ConnectionReader (still a bit IMAP specific but could be easily separated IMHO): read complete lines or a bunch of data more efficient. Old implementation did it byte by byte, this class read data in bunches and buffer the left over for the next request...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-09 01:54:18 +00:00
Clemens Zeidler d26fee1afb Switch to the new MailProtocol and account API. Lot of other smaller adaption to the new mail server.
Remove button in the pref app removes the complete account because we don't have separate chains any more. The pref app stays a mess, needs some layout love! (I did it even look worse...)

The new account/mail settings classes know if they have been changed but the current pref panel does not use this feature very well. It always mark the settings as modified when the settings view is displayed or more precise when the settings view is detached from the pref window, this could be optimized. The according mail protocol is completely restarted when their settings changed.

Some system filters are now directly integrated in the mail protocols. Hopefully make things easier to understand.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-09 01:52:30 +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
Alexander von Gluck IV f9ac5fc8f5 adjust function names as per axel; begin using BNetworkInterface; correct a misnamed resource id
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 22:20:13 +00:00
Alexander von Gluck IV e9aa1e0581 quick style cleanup; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 21:06:34 +00:00
Oliver Tappe 8b94d2ff6a * add stubbed RepositoryWriter to build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 20:15:50 +00:00
Oliver Tappe d77c6cd26a * implemented checking of licenses, such that it is no longer possible
to create a package that refers to a license that is not a system
  license or contained in the package
* added package-info flags (currently only approve_license and 
  system_package)
* adjusted package-reader/writer and pkgman accordingly

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 19:50:36 +00:00
Alexander von Gluck IV 1b4f0abf9d Make NetworkSettings more friendly to network family (IPv4 and IPv6); Start using BNetworkAddress instead of BString for address storage; NetworkSettings will handle setting and reading current interface settings, please excuse the mess atm in NetworkSettings.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 17:47:39 +00:00
Philippe Houdoin 435492aefc WIP to display/change/store in People files a picture.
Not yet integrated in the app as it needs a bit of work to give
him some place in the window without breaking too much
its visual appareance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 15:26:01 +00:00
Oliver Tappe 79f15e1918 * minor cleanup: respect 80 chars limit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 15:19:26 +00:00
Alexander von Gluck IV 083fe63d0d Break the Settings class away from the network Preference applet so It can be re-written without risk of breaking the current network preference applet; the InterfacesAddon is now autonomous
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 14:52:27 +00:00
Oliver Tappe 4ee7d007d6 Cleanup:
* PackageWriterImpl no longer accesses members of WriterImplBase 
  directly, but uses getters/setters instead
* package attribute registration has been moved from PackageWriterImpl
  to WriterImplBase, as it will be used in the same manner by the
  RepositoryWriter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 10:59:38 +00:00
Clemens Zeidler 9ef9c027aa Remove debug left over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 09:09:49 +00:00
Clemens Zeidler 3d25371741 Don't copy the constraint list, just use a pointer to the list.
There was a strange crash under gcc4. After some searching I found out that there is some clash with namespaces.
After removing the namespaces it works again. Could somebody explain what went wrong there?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 09:07:26 +00:00
Clemens Zeidler 459ab04358 No pref constraints for sizes equal -1. This works better with items like glue.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 09:02:36 +00:00
Clemens Zeidler 8286779101 Make kp_solve interface work again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 09:01:11 +00:00
Alexander von Gluck IV 5e20ca5652 ati really isn't that extreme; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 00:15:13 +00:00
Stephan Aßmus af927c61ba * Make sure the image super type has Width, Height, Rating, Comment and Year.
* Make sure that video and audio default to display rating as rating (untested).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 23:29:26 +00:00
Stephan Aßmus bb5f99a5a6 Reimplemented how People works. The previously hard-coded attribute list
is now only a fallback attribute list which is install in case the Person
MIME type has no attributes at all. Otherwise the GUI is completely driven
by the current Person attributes, as configured (and sorted) by FileTypes.
This has been on my mental TODO list since years. Finally one can add
a "Cell phone" attribute in Filetypes and actually see and edit it in
People. Or a birth day attribute. If I had read the previous code correctly,
it was only due to a bug that People did not remove those any attributes
on every launch.

I've tested this quite a bit, but it wouldn't hurt to test it some more.
The only "regression" I am aware of is that State and Zip code are not
in one line anymore. Perhaps this feature could be reintroduced by looking
at the display width and if two attributes are short, put them in one line...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 23:25:16 +00:00
Stephan Aßmus 2099a79214 Added two new buttons "Move up" and "Move down", which makes it a) possible
to manually sort the attributes and b) very obvious how to do it. Drag&drop
sorting should be implemented eventually (more convenient but less obvious),
but this works pretty well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 23:20:23 +00:00
Stephan Aßmus a416707fb3 There is really no reason at all to mess up the current sorting
of the attributes just by adding a new attribute.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 23:18:14 +00:00
Stephan Aßmus c8cbb2763f Try to remember the last selected attribute, or select a new attribute
if all other attributes are the same as before. This first is helping
a feature I am going to commit next, the other is making sure that a
newly created attribute is selected, I pondered other options to realize
this feature against the highly asynchronous model updates, but this
seems to be most robust and highly unlikely to be triggered in accident.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 23:17:11 +00:00
Alexander von Gluck IV 76aa5cf82a added a better list of pci Radeon HD cards to the radeon_hd driver skel; fixed misplaced spaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 22:53:56 +00:00
Oliver Tappe f202217364 Refactoring step towards implementation of RepositoryWriter:
* pulled commonly useful parts out of PackageWriterImpl into 
  WriterImplBase
* moved CachedStringTable and related methods into a separate class,
  StringCache, in order to support having more than one string cache
  per package file
* made package attribute section use a string cache, too, as that's
  going to be very useful for repositories
* instead of writing package attributes directly, we now collect
  corresponding PackageAttributes and write those later
* adjusted package reader accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 22:25:16 +00:00
Jérôme Duval a19d237fcf Patch proposed by mt and Karvjorm: use B_TRANSLATE instead of B_TRANSLATE_MARK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 22:08:41 +00:00
Stephan Aßmus 2b52661315 Added another GetInfo() variant with which one can retrieve the count and
fixed size flag at once. Not sure if this can be merged into one of the
existing GetInfo() variants without breaking binary compatibility.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 20:10:14 +00:00
Stephan Aßmus 36ef875aad The left and right side of the FileTypes interface are now divided by
a BSplitView. The layout weight is remembered in the settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 18:47:50 +00:00
Philippe Houdoin 07267c202c Remove left-over debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 18:46:32 +00:00
Philippe Houdoin 7c2c003f91 Boot partition is not a valid target either, at least not until
installing on it don't leads to warranted crash...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 18:37:02 +00:00
Oliver Tappe aaf05784d4 * some rearrangements and renames with respect to public/private
types and defines of HPKG
* added header, magic and version for haiku repository format

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 13:04:00 +00:00
Scott McCreary 5658c5ff2a Updated tar, bison and gettext packages to fix links in the .OptionalPackageDescription files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 07:01:44 +00:00
Alexander von Gluck IV 7d4120244e display cleanup to NetworkSetupWindow; revamped NetworkInterface addon to use GroupLayoutBuilder to properly render listview; remove lots of single character vars
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 06:48:37 +00:00
Siarzhuk Zharski 52cca4eef5 Removed excessive internationalization in PoorMan and DeskCalc.
The names of settings files should not be localized. Pointed by 
Sergei Reznikov (Diver). Thanx!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-06 21:56:24 +00:00
Siarzhuk Zharski feba01f27d Ukrainian localization updated from HTA in request from Oleksandr Rudyk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-06 21:46:26 +00:00
Siarzhuk Zharski ab00c2926c Finnish translation updated from HTA in request from Jorma Karvonen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-06 19:30:32 +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
Alexander von Gluck IV 04249af074 style cleanup; tab fixes; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-05 16:59:02 +00:00
Alexander von Gluck IV 96a8b92d21 cleanup of some bad language and style within bitfield counting optimization as per axel; made addr_bitcount static
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-05 16:15:58 +00:00
Siarzhuk Zharski 4ce1d206b2 Belarusian localization updated from HTA;
Localization files of the EXR Translation Add-On for Finnish, Polish and
 Ukrainian languages replaced with correct versions. Previous version was empty
 because of my local problem downloading them from HTA.
 I'm sorry for unconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-05 11:34:44 +00:00
Alexander von Gluck IV 0d6862d9b9 added optimized gcc builtin bit population count as per Axel's recommendation; the optimized function might be used for the ipv6 netmask length as well.. i just don't want to touch that double for loop without *LOTS* of testing; lets hope this isn't my first build-breaker
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 23:32:58 +00:00
Oliver Tappe 884a0b23cb * cage the somewhat ugly duality between TOC and package attributes
section access into the SectionInfo structure, of which 
  PackageReaderImpl now keeps two instances and a pointer to the
  current of these two


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 22:42:56 +00:00
Oliver Tappe fd9c0b3361 * added support for compressing the package attributes section to
PackageWriterImpl
* added my own copyright

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 22:40:10 +00:00
Siarzhuk Zharski 70d5966963 Applied following patches proposed by Jorma Karvonen:
#7135 #7140 #7141 #7145 #7186 #7188 #7191
	#7136 #7187 #7184 #7185 #7192 #7138 #7139

 with some changes and exclusions:
	- all attempts to localize "fprintf(stderr,..." and "printf(..."
	  replaced by _untranslated_ "syslog(LOG_ERR ...";
	- following *Translator.rdef files, that were not added in mentioned patches
	  were additionally created:
		SGI, TIFF, RAW, RTF, PPM, WebP, EXR, STXT, WonderBrush, GIF, TGA;
	- some small fixes for consistent catalogs building.

Thank you, Jorma! Please check. ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 22:16:02 +00:00
Oliver Tappe ceb993ab40 * rename AsString() methods to ToString() as suggested by Ingo
(following the naming used by other classes)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 17:53:54 +00:00
Alexander von Gluck IV 56b0a41b70 style cleanup of HVIF vars; make popcount work in gcc2; popcount will be removed once we access BNetworkAddress directly instead of through fSettings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 17:46:59 +00:00
Oliver Tappe 6f0278cdc9 Implemented reading of package info attributes from hpkg file
* added kernel-compatible datatypes for reading package info attribute 
  values (PackageInfoAttributeValue.h) - these will be used at a later
  stage by the package-fs to transport those attributes to userland
  when asked to do so (by ioctl)
* implemented parsing of package info attributes in PackageReaderImpl
* added support for compressed package attribute section to 
  PackageReaderImpl
* completed the writing of package info attributes in PackageWriterImpl
  and fixed a couple of bugs exposed by parsing
* adjusted 'package list' to show the package info attributes as they
  are found


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 17:43:07 +00:00
Oliver Tappe 531d191219 * made resolvable expression operator an enum instead of a string
* fixed a couple of copy'n'paste bugs during parsing of resolvable
  expression lists (they were all added as 'requires')


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-04 17:34:19 +00:00