The POSIX locale has gLocaleRoster = NULL and relies on the non-wide
version of the implementation. However it doesn't check that the
characters are actually in range which leads to out of bound access and
crashes in __isctype.
Fixes#11322.
We use DEBUG as a #define when debug info is turned on. This conflics
with the use in WebAppInterface, so rename that as ENABLE_DEBUG (I can't
think of a better name for now).
Fixes the debug build.
The web service currently only synchronizes with HaikuPorts. Packages
from 3rd party repositories which were added by the user cannot be rated.
Also, use a warning alert for errors in the UserLoginWindow and
RatePackageWindow.
* Part of #10834
* Colors were picked from http://clrs.cc, which was suggested by John Scipione.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
* ... and adjust all callers
* Remove NumberFormatImpl: we rely on ICU to provide this and it can be
fully wrapped into the C++ file. The class was a stub anyway.
* "Monetary" format is included in NumberFormat for now. There may be a
more generic solution to handle monetary and BTimeUnitFormat (and other
arbitrary units)
* Let the jamfile set HAVE_DEFAULT_GEOLOCATION_SERVICE_KEY if the
header that is supposed to contain it is found in src/kits/shared
(which isn't the case for normal builds).
* In case HAVE_DEFAULT_GEOLOCATION_SERVICE_KEY is set, include the
corresponding header and activate Mozilla's geolocation service with
the key defined in that header.
This procedure should enable buildbot to create nightly images without
exposing the private service key.
* Harmonize API for all B*Format to take an output BString by reference
as the first parameter,
* Move the FormatTime methods from BLocale to BTimeFormat
* Adjust all callers for BTimeFormat, BTimeUnitFormat and
BDurationFormat.
* Move relevant parts up into BFormat so other format classes can use
those
* Adjust BDurationFormat and BTimeUnitFormat for the changes
* Remove the "default" date format, it is better to keep only a default
locale and let applications create B*Formats from it as needed.
* Creating a B*Format without arguments to the constructor now
configures it for the default locale, which allows for easy use in
standard cases (formatting something with the current language and
format)
* Creating a B*Format is potentially an expansive operation, it is
advised to keep the instance around and reuse it whenever possible.
However it must be "refreshed" when the locale changes, for apps which
supports that, since it keeps a copy of the language and formatting
convention, rather than a pointer to the locale as it did before.
* MarkAsInvalid is used to enable or disable the mark
* The B_INVALID BControlLook flag is used
* invalid BTextControls are drawn with a red border.
* You ar encouraged to let the user know more precisely what's wrong, by
showing an helpful error message next to the control or in a tooltip.
* Only tests very basic functionality, and size of the class, which must
not change for BeOS compatibility.
* Also add "manual" test for disabled and invalid controls (just check
it looks right)
* There is now a flow of logging in or creating an account before being
able to rate a package and the user is not yet logged in. The
UserLoginWindow stores an "on success" BMessenger and BMessage which are
send after the alert which confirms successful login or account creation.
This is used to make the RatePackageWindow show once logged in successfully.
* The HTTP Basic authentication never worked. BHttpRequest.SetUserName()
and SetPassword() have no effect at all, unless there is a
BHttpAuthentication set for the given URL on the BUrlContext. This part
of the services API isn't very intuitive, yet.
* UpdateUserRating() forgot to append the "filter" array which specifies
to the web app which fields of the rating are updated by the request.
* BDate setters don't perform any validation, use with caution.
* BCalendarView setters do perform validation checks, and will adjust
the day so it fits the requested month or year.
* Add tests for the BCalendarView setters.
* Add setters for the language and formatting conventions
* Add shortcut getter and setter for the date format
* Use those in the locale roster to make the BDateFormat actually use
the system preferred language and format.
* Applications can also use this to extract specific information from
the system format (eg. set date format to "LLLL" to extract month
names), or define specific formats more easily (eg. for parsing and
generating e-mail headers or HTTP cookies).