History log of /haiku/src/kits/shared/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6b0e92eb 31-May-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

libshared: move md5 to BPrivate namespace

Otherwise it clashes with the implementation in OpenSSL which uses the
same names but now has a different ABI.

Change-Id: I5cb3ff97d7b28de978cdcbd8a06f25f65fb53784
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2854
Reviewed-by: Kyle Ambroff-Kao <kyle@ambroffkao.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>

d9ef4f90 17-May-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove GPL-licensed implementation of MD5

APE reader was using a GPL licensed version of MD5. A similar
implementation in the public domain was available in libnetapi, which I
moved to libshared so the APE reader can use it (and made some fixes,
missing const mainly). It only needs a small wrapper to use it easily
from C++ in a way compatible with the previous implementation.

Part of #13814.

5c2709cd 28-Apr-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Firstbootprompt: remove flags from languages.


Add some other icons to make the window a bit more spicy as suggested by

Change-Id: I859cefc7f5cb99f9a5465902c9d471f0b9857b71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2527
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

f7db2734 21-Mar-2020 X512 <danger_mail@list.ru>

Keymap: remove iterator change inside for loop, no functional change

Pointed by clang.

Change-Id: I3aaad5b1e03385358ccb729251fa31d35108f389
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2392
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>

6bff9184 07-Jan-2020 X512 <danger_mail@list.ru>

Tracker: fix window focus behaviour

* Also fix LongAndDragTrackingFilter
Fixes #15605

Change-Id: I98c5f3ca435e54c98515ebe2fccbbfd5d08c1a25
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2081
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

4236826d 04-Dec-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

BGeolocation: build fix

edc5a217 20-Sep-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

BGeolocation: add position to country mapping

Using the geonames.org API, so we will need an API key for it (similar
to the one used for MLS, deployed by the buildbot)

The unit tests uses the "demo" user, which is restricted to 20000 API
call credits and often expired. But we cannot use our secret key here as
it would need to be available to anyone running the test. If we ever get
to automate running the tests on a buildserver we could probably make it
use the secret username known by our buildbot instead.

Change-Id: Ia16880db82555ce85505ad28e1c623f692f46be0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1873
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>

b4e2eff2 31-Aug-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

DebugWindow: improve layout

Fixes #15155.

a7536efa 19-Aug-2019 Simon South <simon@simonsouth.net>

BKeymap: Add unit tests and fix issues

Add a preliminary set of unit tests for BKeymap and fix these issues:

* BKeymap::operator=() caused a crash by allocating a zero-byte array to hold
the other object's character data.
* BKeymap::SetToCurrent() and SetToDefault() leaked memory by not freeing an
existing character array before allocating a new one.
* BKeymap::SetToCurrent() incorrectly determined the size of the current
keymap's character array, causing GetChars() to fail whenever the current
keymap was loaded. Now SetToCurrent() uses the _get_key_map() private
function, which accurately reports the size of the array.

This commit also updates a Jamfile by replacing a use of "UseHeaders" to
include private header files with the more concise and expressive

Change-Id: If6f71b209f1bd395be57835c4dd89f0e3f845994
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1724
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>

319c399d 17-Jul-2019 Murai Takashi <tmurai01@gmail.com>

PVS V739: EOF compared with a value of the char type.

Change-Id: Icfaff590359381fbdd3bbd7993dab92111da3ed1
Reviewed-on: https://review.haiku-os.org/c/1618
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

194c4838 21-Jul-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move SettingsHandler to libshared

It's used by both Tracker and Codycam and others might find it useful.

Change-Id: I585d3a1bdc7f8fce7d36bedf6867464cd541ba2e
Reviewed-on: https://review.haiku-os.org/c/1637
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

f74f8600 16-Jun-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

BitmapButton: move from WebPositive to libshared

Remove a currently unused copy of it from HaikuDepot.

Change-Id: Idb97fae8e7190da6bc1049b3c1f1df929ea91bab
Reviewed-on: https://review.haiku-os.org/c/1506
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

1705656e 24-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Add (void*) casts to memcpy/memset invocations to appease GCC 8.

A lot of these classes are not *technically* "trivially copyable"
for one reason or another, but in all of these cases it seems
OK to me to use memcpy/memset on them. Adding a cast to void*
tells GCC that "I know what I'm doing here" and shuts up the

66cb2efa 15-May-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move StripeView to libshared

Change-Id: Ib8ff2f731f9d34e04854f1c2ec288a3db1036793
Reviewed-on: https://review.haiku-os.org/c/1458
Reviewed-by: Rene Gollent <rene@gollent.com>

1e60bdea 30-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible.

72327892 07-Feb-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Extract parse_size function from ramdisk command.

Change-Id: If7dd36321e1ed2feb20b4c76ddaf303bc997d8b7
Reviewed-on: https://review.haiku-os.org/c/1018
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>

df9641c5 27-Jan-2019 Rob Gill <rrobgill@protonmail.com>

kits/Geolocation Fix PVS404

* Prevent use of uninitialized 'lon' by checking for successful
result prior call

Change-Id: Ifbd649a8c0c0c37f285cda11e307013929cefa12
Reviewed-on: https://review.haiku-os.org/c/958
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>

20e420cd 08-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

kits/shared/JsonTextWriter: Correct misaligned while compare

15fed790 05-Oct-2018 Andrew Lindesay <apl@lindesay.co.nz>

Json : Fix String Writer

Tidy-up and correct logic around writing JSON
encoded strings.

related #13832

Change-Id: I1eca33e11dff4457f85a896c02331c1cd9ae1110
Reviewed-on: https://review.haiku-os.org/617
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

e54f86aa 01-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

libshared: Change string_for_rate to use KiB/s instead of Kbps.

string_for_size uses KiB, etc., and so when the two are combined (e.g.
pkgman's progress display), it looked especially strange to have two
different units.

7457ccb4 13-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

BMessageFormat: Rename to BStringFormat.

The ICU class is named MessageFormat, but on Haiku, it sounds too much
like something related to BMessage (which it isn't in the slightest)
and not part of the Locale system. It works almost entirely with BStrings,
so naming it BStringFormat makes much more sense.

OK'ed by PulkoMandy and Humdinger.

b45e8b1e 19-Mar-2018 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : additional debugging for json-rpc invocations

a75fc8a7 23-Oct-2013 John Scipione <jscipione@gmail.com>

Keymap: simplification

Call already existing Offset() method instead of reproducing it.

Set fCharsSize in BKeymap::SetToCurrent()

6aff37d1 01-Oct-2017 Augustin Cavalier <waddlesplash@gmail.com>

Move SHA256 class to libroot instead of linking libshared into libroot.

Discussed with PulkoMandy and on the haiku-commits mailing list.

Thanks to @jessicah for compile-testing and fixing 2 small issues I missed.

9d30b95a 17-Sep-2017 Humdinger <humdingerb@gmail.com>

BCalendarView: change visuals for 'today'

Only using the keyboard navigation colour to indicate the current day isn't that
nice in all situations. When using custom system colours, like white on blue
for selected items, it can become barely readable.

Now we
* use bold type face for 'today',
* tint 'today's background (lighten for dark, darken for bright bgColor),
for the selected day,
* keyboard navigation colour only for the frame and text when doing keyboard

Fixes #13714

22d88eb4 01-Sep-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

BCalendarView: Adjust day name format to available space.

* Use BDateFormat::GetDayName() to fetch weekday names.
* Use appropriate symbol width(Mon, Mo, M) depending on the frame width.
* Provide functionality to update day name header in case of locale
preferences change.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

a1c3daa6 01-Aug-2017 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : Streaming Icon Meta-Data Parser

More background work for later performance improvements.
This change generalizes the parsing of meta-data from
JSON streams as similarly structured meta-data is
anticipated to be carried in other payloads. Unit tests
have also been implemented to provide coverage on this
new functionality.

b32b6a86 01-Aug-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Fix highlighting current system date in BCalendarView.

Changing the year in Calendar View does not remove the highlighting from
previous highlighted day.

Changing the system date to a date in a different month(different from
the month currently set in calendar view) does not remove the highlighting
from currently highlighted day.

The disabled day number text belonging to the next month (month after
the one currently selected) gets wrongly highlighted while attempting
to highlight the day number text belonging to the current month.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

ticket : #13605

8013f2e0 09-Jul-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Highlight current system date in BCalendarView.

* Issue: In BCalendarView presently, there is no notion of a current date
and the current date is not highlighted. So in the deskbar tray calendar
which uses BCalendarView, we cannot know the current date once we change
the selected day.
* Fix: Make BCalendarView accept pulse messages, check for system date
with every pulse message and update the current date accordingly.
Highlight the current date by rendering its day number text in a
different color.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

ticket : #13592

3ec77017 29-May-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

NaturalCompare: implement using locale kit

The non-locale aware version is kept in src/build/libshared for use on
the host system and in packagefs (kernel add-on). In both cases, ICU is
not available.

Fixes #8192

55f5f259 15-May-2017 Andrew Lindesay <apl@lindesay.co.nz>

JSON Parser : code style corrections

1f6b57a5 13-May-2017 Andrew Lindesay <apl@lindesay.co.nz>

Implementation of JSON Streaming Parser

This change will introduce a streaming parser capability to Haiku. The
existing functionality of writing the JSON data to a BMessage in-memory
model is retained. The new parser implements a SAX-style listener based
interface where the listener accepts parse events. Unit tests have been
supplied for the JSON parser as well.

6c9415e3 09-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

BJson: Use the normal "input, output" argument ordering instead of the reverse.

Update all in-tree consumers of the BJson API to match. Also added
const-qualifiers to the BString versions of the API, and added the leading
"_" to the header guards.

aae43137 08-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

BJson: Fixes, tweaks, and behavioral changes based on the JSON Minefield Tests.

As found on http://seriot.ch/parsing_json.php -- anything using the API
presently with valid JSON should have no troubles, but more valid JSON
that previously didn't work now does (e.g. JSON with root array nodes, not
root map nodes), and invalid JSON that silently succeeded before now fails.

Not all the bad cases from that testsuite now fail, and not all of the good
ones pass, but the few that remain are odd things that wouldn't map well to
the BMessage API (e.g. root string nodes, etc.) or are other behaviors that
make sense to leave as they are for compatibility reasons.

682adeb3 23-Dec-2016 Murai Takashi <tmurai01@gmail.com>

IconButton.cpp: fix memory leak.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Ticket : #13127

fad740e3 03-Mar-2016 John Scipione <jscipione@gmail.com>

DeskCalc: Estimate n! using 9 term Stirling's

Approximation for n >= 1000

Actual Value (truncated)

4.0238726007709377354370243392307 E2567

2.8462596809170545189064132121197 E35659

2.824229407960347874293421578024 E456573

Close enough!

261bdbab 17-Jan-2014 John Scipione <jscipione@gmail.com>

Use 5 factor Stirling's Series

fb4dcb49 16-Jan-2014 John Scipione <jscipione@gmail.com>

Use Stirling's approximation for n!

8028ede7 15-Jan-2016 Rene Gollent <rene@gollent.com>

Build: Add architecture rule for libshared.a.

- As suggested by Ingo, add libshared.a to the architecture name map.
This allows it to be linked by its short name like other frequently
used libraries.
- Adjust all Jamfiles referencing the lib accordingly.

618cc43b 14-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: New folders will now adopt default mail attributes.

* Added a function CopyMailFolderAttributes() that copies the attribute
layout from the text/x-email default query folder.
* This using the new CopyAttributes() method in libshared that is pretty
much a copy of a similar method from copyattr. However, I did not
replace the latter, as that one allows for more fine grained error
reporting (and attribute filtering).
* Closes ticket #3498.

f696e88a 09-Dec-2015 looncraz <looncraz@looncraz.net>

Convert various more things to using Set*UIColor.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0038, 0040, 0042-0044 from looncraz, unmodified.

f56d45ce 09-Dec-2015 looncraz <looncraz@looncraz.net>

BToolBar: Convert to using Set*UIColor.

This was a bigger change than many others as BButton now defaults to using
control background colors, and we can not do that here without the buttons
not appearing as we desire (blending in with the toolbar).

Using the control background color for the toolbar would be unacceptable.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patch 0041 from looncraz, unmodified.

485f5339 15-Dec-2015 Augustin Cavalier <waddlesplash@gmail.com>

RWLocker: Move to kits/shared.

As requested by looncraz. A lot of stuff in IOM/MediaPlayer's
'support' directories probably should be moved to 'shared' anyway.

6b871266 02-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BToolBar: made FindButton() public.

3e50787c 04-Aug-2015 Augustin Cavalier <waddlesplash@gmail.com>

BCommandPipe: Fix memory leak.

CID 600866. Both the header and the source of the argv getter
clearly indicate that the caller must free the memory.

58ee42e9 21-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolBar: Add a "text" parameter.

For defining the text that appears alongside the icon.

This function really has too many parameters; we probably should break
it out into a BAction class...

c4b6278c 17-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: added "wildcard" support.

* You can now add arbitrarily named fields to the message as well,
without having them all specified in the template.
* Also added a missing converter method that is called when there
are no values to add, and implemented all methods in the base
class, so that you only have to implement the methods you actually

24b1f931 01-Jul-2015 Philippe Saint-Pierre <stpere@gmail.com>

LongAndDragTrackingFilter: Unitialized member

CID 611005

99e015b4 02-May-2015 Janus <janus2@ymail.com>

BCalendarView: Use system color.

* This widget is used in Time and Deskbar.
* Partialy fixes #10840.

687d0bc2 23-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: fixed converter signature.

* The ConvertFromDriverSettings() method missed the current value
* Completed unit tests, and enabled them all.

9f218b4e 20-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: fixed various issues.

* _AddParameter() would ignore all BMessage::Add*() errors.
* _ConvertFromDriverParameter() would ignore most intermediate error,
but would fail badly over some incorrect settings file.
* Also, it checked for the parent value for each parameter, which
doesn't make any sense, but would add as often as there are
parameters -- which also may be none, in which case the value
got ignored.

18811c71 04-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: hide empty message.

* Empty messages no longer end up as empty section - instead, they are
just empty.

3211cbcd 03-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: optional field converter.

* You can now optionally specify a converter that does the actual
message to settings conversion, and vice versa.
* This allows for more sophisticated and custom conversions.

7d226266 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolBar: misc. fixes.

* Move common init. code to an _Init() function.
* Create a layout constructor.
* Make _AddView public and rename it to AddView.

94a4c1c4 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolbar: rename to BToolBar.

"BToolBar" matches the current convention ("BStatusBar", "BMenuBar", etc.)
I've no idea what I was thinking when I renamed this before...

Also adjust all users of BToolBar (Tracker and ShowImage).

eca55496 04-Feb-2015 Adrien Destugues <pulkomandy@gmail.com>

StringForRate: change the threshold for unit change.

We would show "1Mbps" for 1.0 to 1.9 actual speed, which made this not
so helpful. Instead, switch to Mbps when reaching 10000 Kbps. So we show
"1000 Kbps" or 1900Kbps" in the mentionned situation, and up to "9999
Kbps" (note this is still only 4 digits, so it stays readable). We then
switch to "10 Mbps", which is still only withing 12% of the actual speed
(but better than the previous error of up to 50%).

Fixes #11821.

Also use uppercase for the SI prefixes as it should be, and use %d
instead of %f for the bps rating as it is an integer.

23873c70 30-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

Missing braces in BMessageFormat format string.

Fixes #11678.

03ad73fc 24-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

More uses of BMessageFormat

ZipOMatic, DiskUsage, MediaConverter, MediaPlayer, ShowImage,
WebPositive, Screen preferences, Tracker, string_for_size.

Thanks to KapiX for reporting those!

0a74147e 07-Nov-2014 Augustin Cavalier <waddlesplash@gmail.com>

BToolbar: Allow the toolbar's orientation to be set by its creator.

I already made this patch in Heidi's clone of BToolbar. Adding it here
allows me to drop Heidi's version altogether.

I also relicensed the header file at the permission of Stephan. The .cpp
file still lists him as author and copyright holder.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

9f8197a8 05-Nov-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

BToolbar: move into BPrivate namespace, as it's not public yet

6d93638b 30-Oct-2014 Augustin Cavalier <waddlesplash@gmail.com>

ToolBarView: rename to BToolbar and move to libshared.

Also adjust ShowImage for this, it's the only thing that's using ToolBarView
right now.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

d0fe638d 01-Oct-2014 Oliver Tappe <zooey@hirschkaefer.de>

Look for private key of default geolocation service.

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.

3006031a 01-Oct-2014 Oliver Tappe <zooey@hirschkaefer.de>

Move Geolocation to kits/shared and make it private.

0a925409 01-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Adjust all BDateFormat callers again.

afd5ec11 30-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Add setters to BDate and BCalendarView

* 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.

2a5e33a9 26-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Move date formatting from BLocale to BDateFormat

* There is a little code duplication. This will be moved to BFormat once
the time and datetime formatting is also moved out of BLocale
* The way to create a BDateFormat from a BLocale is still open for
discussion. I'm undecided between making BDateFormat a member of
BLocale, or adding a BDateFormat(const BLocale&) constructor.
* Adjust all users of the API.

e94bd481 02-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Fix "strict aliasing rules" warnings

Treated as errors when trying to build the test_app_server for x86_64.

c144d339 01-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

Json: use B_PRI* constants

This fixes the x86_64 build.

e9c77bd2 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Added TODOs.

ee942591 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Fixed increasing position after constants.

The first letter is already increased by the main parse loop.

ffd7c611 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Improve by using exceptions to get exact error

Also strip redundant "_Parser_" prefix from private methods.

79c1d45c 24-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

libshared: fix x86_64 build

e7babe14 24-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

MessageBuilder: Whoops, stringDeleter must be detached when adding succeeded.

edc46535 24-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

MessageBuilder: Fix potential leaks in PushObject().

8f16f634 24-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

MessageBuilder: Fix leaking BMessages.

The initial message is not deleted, since the current message is not
on the stack.

2f23e09d 24-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

MessageBuilder: Fix init order to match header.

e4d2963e 04-Aug-2014 Augustin Cavalier <waddlesplash@gmail.com>

libshared: Introduce JSON parser and MessageBuilder.

Based on an earlier piece of source code of mine that parsed JSON into
QObjects, this JSON parser creates a BMessage tree.

Will be used by Stephan in HaikuDepot for communication with the web app.

3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949

d2d1af83 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Move ZlibDecompressor to libshared"

This reverts commit 9af2105d36856be60528c361edf14a263f242338.


5cd75b56 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "ZlibDecompressor: also accept gzip format"

This reverts commit 142d59ca90dc5f84899d93eef4c8515cc8d27036.

94a66563 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "shared kit: fixed headers dependency."

This reverts commit 675878fcfe54639ac7686de2c65166b784613337.

3528fd2d 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Fix one more status_t/ssize_t mixup."

This reverts commit f6658d2c2c27f2df33d5db2f485551ab737331b1.

cc66d3a0 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Style fixes, no functional changes"

This reverts commit 916382a10f471ca31087dd71b8d3ece5de9cd421.

6229115b 16-Jun-2014 Humdinger <humdingerb@gmail.com>

More small C++11 tweaks.

9ce450b9 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Move to Interface Kit (still private)

78877e72 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Add FBC padding

293d80be 25-Mar-2014 John Scipione <jscipione@gmail.com>

BAboutWindow: style fixes

* mostly whitespace fixes
* reorder methods

71e3210d 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Right-align close button

f188f5cc 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Simplify layout (de-ident)

There's no functional change here but this eliminates a redundant group.

924f8e53 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Make FromSignature methods private

916382a1 12-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fixes, no functional changes

* Pointed out by Axel and Ingo.

f6658d2c 12-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix one more status_t/ssize_t mixup.

675878fc 11-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

shared kit: fixed headers dependency.

142d59ca 11-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

ZlibDecompressor: also accept gzip format

zlib can decompress both gzip and zlib formatted compressed streams. The
compression algorithm is the same, but the headers are different. The
format is autodetected from the data.

9af2105d 10-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move ZlibDecompressor to libshared

* This will be used to implement compressed http streams
* Remove the custom BDataOutput class, and use BDataIO instead, for
easier integration with existing code.

be436742 21-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl subclasses: Override SetIcon()

... and implement Perform() action for potential later use.

5df58b52 30-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move TextTable from pkgman to libshared

103e868b 19-Oct-2013 John Scipione <jscipione@gmail.com>

Style fix, spaces to tabs

bd336e3a 19-Oct-2013 John Scipione <jscipione@gmail.com>

Update semantic shortcuts

Update BKeymap::GetModifiedCharacters() to translate a given character
and set of modifiers filling out a list of all characters that match for another
set of modifiers.

This allows us to, for example, get all characters in the normal map that
have the '+' character in the corresponding shift map.

It is fully generic allowing one to get a list of characters in any map given
a character and modifiers of another map.

Also I converted from using a BList to using a BObjectList.

With this, along with BWindow::HasShortcut(), the semantic shortcuts now
work not only with Command+'=', but any key in the normal map that has
'+' in it's shift map as long as it isn't already taken by another shortcut.

1d043104 18-Oct-2013 John Scipione <jscipione@gmail.com>

Keymap: Add a method to get modified characters for a key

This method fills out the passed-in BList of modified utf-8 characters for
a given utf-8 character and set of modifiers.

For example if you pass in "=" and B_SHIFT_KEY the list will get filled
out with each character in the shift map that has "=" in the normal map.

Each supported keymap modifier combination is available.

The reason this is useful will soon become apparent.

A BList is used because the character might be mapped multiple times,
for example if you have a Mac keyboard you've got two "=" keys, one in
0x1d and one in 0x6a.

The caller is responsible for creating the BList and destroying it as well as
freeing the resulting character strings.

83181998 16-Oct-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

RegExp: fix match count computation

* There actually is a way to count the matches, so use it instead of
attempting to guess
* In some cases (when using optional groups (xxx)?, for example), there
may be a non-matching group (with offsets set to -1) and matching groups
after it, so the binary search wasn't quite working
* Instead, we always return the number of capturing groups in the in
the given expression, which is the maximal number of matches. Some (or
all) of these may not have any content. We do return 0 matches on any
error, including when the regular expression didn't match anything.

fb6cc6d8 08-Oct-2013 John Scipione <jscipione@gmail.com>

Move Thread classes from Tracker to shared

So that they may be utilized outside of Tracker

cf06f966 29-Sep-2013 Axel Dörfler <axeld@pinc-software.de>

libshared: Factored out driver settings class from net_server.

* The new class is called DriverSettingsMessageAdapter which can translate
between a driver_settings file, and a BMessage.
* The net_server Settings class is now just using this class.

cf70d345 12-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge remote-tracking branch 'haiku/master' into package-management

This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade
Mesa 9.2).


7bd562ab 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

lib{network,package,shared,agg,icon}: secondary arch support

b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).

747612e3 08-Jul-2013 John Scipione <jscipione@gmail.com>

ExpressionParser: Simplify pi detection

91a5e061 26-Jun-2013 John Scipione <jscipione@gmail.com>

ExpressionParser: Fix parse exception string

The main point of this commit is to fix this line:

temp << (char)type << "' got '" << token.string << "'";

which gets printed when DeskCalc encounters a parse error.

Specifically the (char)type part needed fixing.

This code would try to print the char equivalent of a token which got
converted to lower ascii character between 0 and 15. This would at
best result in a newline and never anything helpful.

I took the germ of idea and expanded upon it reassigning the TOKENs to the
numeric values of the printable characters they represent where applicable.
For instance TOKEN_STAR now has a value of 42 which is ascii for '*'. By
using implicit char -> int conversion the numeric value is avoided in the code.

So now (char)type will, in many cases get you the equivalent ascii char
represented by that type. Those that don't such as TOKEN_IDENTIFIER and
TOKEN_CONSTANT are special cased.

Once the TOKEN's values correspond to their ASCII equivalents some other
simplifications became possible interchanging the TOKEN and the character
it represents.

7d4a7ce3 05-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Add ability to specify case insensitive matching.

47fedeb5 05-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Import RegExp classes from Ham.

Minor adjustments made by myself to fit into Haiku better.

2b67ff24 09-May-2013 Adrien Destugues <pulkomandy@gmail.com>

Add AddText method to AboutWindow

* Factor out the code to add some data to the about window, with a header and a content under it
* Make this method public so it's possible to add custom entries in an about box
* If the method is called with only the header or only the content, the text is added non-bold and non-indented (like the description entry*).
* Make the header text bold. I'm not sure it looks that good, after all. Thoughts ?

447f975c 05-May-2013 Rene Gollent <anevilyak@gmail.com>

Spacing adjustments as suggested by Axel.

309f473c 04-May-2013 Rene Gollent <anevilyak@gmail.com>

Various minor layout tweaks/improvements to prompt window.

df2257de 01-May-2013 Adrien Destugues <pulkomandy@gmail.com>

Make BAboutWindow movable again.

Also fix build, forgot some files in previous commit.

31535ac6 01-May-2013 Adrien Destugues <pulkomandy@gmail.com>

Make BAboutWindow modal

�* Set its type to B_MODAL_WINDO, and also set B_NOT_MOVABLE
* Since this removes the window tab, add an "Ok" button to close the window
* Remove the GetWindow mess and just use it as any regular window
* Adjust all callers again

The AlertPosition method doesn't seem to work right, the window pops up
offset to the right. I also noticed that some of our calls to BAboutWindow
are actually not reacable because we removed Abutrequested from the apps.
Maybe we should clean them up (locale preflet and activity monitor are examples)

More annoying is the fact that opening a modal window from a deskbar replicant
is modal against the whole deskbar. Not sure what to do about that.

fd19c736 30-Apr-2013 Adrien Destugues <pulkomandy@gmail.com>

Fix BAboutWindow lifecycle

BAboutWindow returned false in QuitRequested in order to hide instead of closing.
Not only this keeps a BLooper running for a rarely used window, but it also
prevents quitting an application in the window was not destroyed first.

* Remove aforementioned QuitRequested method,
* Add a static GetWindow method that returns the existing about window, if there
is one, or creates one if there is not. A boolean can be set to tell the caller
what happened,
* Adjust all callers to use that new method, instead of managing the window themselves.

aa366c07 25-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Add an information blurb option to PromptWindow.

- PromptWindow now takes a parameter which contains optional
informational text to display above the text control.

- Adjust callers.

b3247c59 14-Feb-2013 John Scipione <jscipione@gmail.com>

Update BAboutWindow to use B_CLOSE_ON_ESCAPE flag.

66e94108 11-Feb-2013 John Scipione <jscipione@gmail.com>

Switch about window to current workspace if hidden.

381629a7 10-Feb-2013 John Scipione <jscipione@gmail.com>

Close about window on escape

9f7ac431 10-Feb-2013 John Scipione <jscipione@gmail.com>

Add methods to get and set the name, version, and icon

55751d08 18-Dec-2012 Rene Gollent <anevilyak@gmail.com>

Move Tokenizer/Token into ExpressionParser's namespace.

11c9f9a1 18-Nov-2012 Alex Smith <alex@alex-smith.me.uk>

Merge branch 'master' into x86_64


67bc1521 12-Nov-2012 John Scipione <jscipione@gmail.com>

Make about window a bit taller so it fits the average amount of text

... without scrolling.

This completes my about window treatment for all replicants. It is my
hope that BAboutWindow will be used by all apps that need an about
dialog instead of using a BAlert.

96a5a088 12-Nov-2012 John Scipione <jscipione@gmail.com>

Add the authors back to AboutWindow.h, also use <> style for email addresses

7031e2be 18-Aug-2012 John Scipione <jscipione@gmail.com>

Fix build, that's what I get for committing without testing first.

d1b2e338 18-Aug-2012 John Scipione <jscipione@gmail.com>

There is nothing to translate in the initial copyright string, it is just '(c) %years% %holder%'

c73d4b3d 18-Aug-2012 John Scipione <jscipione@gmail.com>

Move AboutPosition() method up.

d156f976 18-Aug-2012 John Scipione <jscipione@gmail.com>

Get rid of the _Init() method in BAboutWindow, just the single constructor body.

97a81406 18-Aug-2012 John Scipione <jscipione@gmail.com>

Instead of destroying the BAboutWindow object on close, Hide() it, then on the destructor of the calling window call Quit() explicitly to destroy it.

04875296 18-Aug-2012 John Scipione <jscipione@gmail.com>

Add version variety to the end of the version string (alpha, beta, etc.)

0fbb37d2 18-Aug-2012 John Scipione <jscipione@gmail.com>

Move the app icon down a bit.

6cdd1023 18-Aug-2012 John Scipione <jscipione@gmail.com>

Get the icon and version from FindApp which works whether or not the app is currently running. This makes process controller show it's icon and version even though it lives in Deskbar.

a792461b 18-Aug-2012 John Scipione <jscipione@gmail.com>

Pass in 128 as an icon_size to GetTrackerIcon(), this makes it grab a nice 128x128 HVIF icon

12a9a71d 18-Aug-2012 John Scipione <jscipione@gmail.com>

Use a quit bool in B_ABOUT_REQUESTED to indicate that the about window has quit instead of using kAboutWindowClosed message. This prevents message signature clashes.

3fdab584 18-Aug-2012 John Scipione <jscipione@gmail.com>

Set the about window object to NULL on close or quit.

Pass the BHandler object that opened the about window to BAboutWindow.
When the window closes, send a kAboutWindowClosed message back to the
handler. This allows the handler to set the variable to NULL.

Implement the new about dialog constructor in all apps that use it.
Remove the old constructor. This now works reliably for all cases I
tested without crashing and does the right thing on close. The setup
and teardown is a bit more complicated than I wanted though.
Unfortunately this seems to be necessary when not using a BAlert.

Fetching the app icon does not work reliably yet. This is because for
replicants the app may not be running. I may have to pass the icon in
instead of grabbing it from the signature.

5b0cd987 17-Aug-2012 John Scipione <jscipione@gmail.com>

WIP: Create the about dialog once, hide and show, Quit() when object is destroyed.

0046f444 01-Aug-2012 John Scipione <jscipione@gmail.com>

Modify about window to take an app signature.

* Grabs the app icon and version from the resource file.
* Allow you to specify the copyright holder instead of hardcoding
"Haiku, Inc."
* Support multiple extra copyright fields.
* Modify BAlert to take a custom icon.
* Set the custom icon of the BAlert to the app icon.
* Also set the app version.

* Convert BAboutWindow to derive from BWindow
* Place a 128x128 icon and fill out a scrolling BTextView
with options such as authors, version history, copyright,
license, etc. Still needs some work but is coming along.

* Add the word Version to the version line, i8n'ed of course,
and tweak the info box and default sizes.

862696d9 04-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Ensure that text input is focused when window is shown.

Minor cleanups.

6bfaef2b 04-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Add basic helper class for user input prompting.

e688bf23 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Merge branch 'master' into x86_64


2bcc7f40 16-Aug-2012 Oliver Tappe <zooey@hirschkaefer.de>

Simplify use of translated strings in BAboutWindow.

* avoid duplicate initialization of variables by joining the

c802257b 05-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Merge branch 'master' into x86_64

aed35104 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button

3fed1a15 05-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Get app_server working on x86_64.

With this commit, app_server now compiles and runs at boot! Nothing
particularly interesting happens, just the blue background and a mouse
pointer. Remote backends are broken and not compiled in, see #8834.
Note that it won't be possible to build this quite yet, need to get
the FreeType package uploaded.

54393c03 04-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Merge branch 'master' into x86_64

593808d9 03-Aug-2012 John Scipione <jscipione@gmail.com>

Return authors name's to DeskCalc headers.

No functional change.

* Surround email addresses in angle brackets.
* Add myself to ExpressionParser.cpp and .h
* Remove myself from ExpressionTextView.cpp and .h
* Alphatetize authors by last name.

Thanks Ingo and Axel.

d4ec857a 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Merge branch 'master' into x86_64

8ffd0477 30-Jul-2012 John Scipione <jscipione@gmail.com>

Implement degree mode in DeskCalc.

Default is radian mode, You set the option in the right click menu
like the other options.

Note: degree mode does not affect hyperbolic trigonometric functions.
This is how Mac Calculator, Windows Calculator, and Google Calculator

9be774b5 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation and 64-bit fixes to libbe.so sources.

Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.

af350aa2 20-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Add private shared class ArgumentVector

The parser is based on the FS shell's ArgVector.

8d87f2b4 25-Jun-2012 Philippe Saint-Pierre <stpere@gmail.com>


Introduce a function to generate the string representation of a bitrate
(kbps, mbps, gbps, etc..)

* Factor out the code from MediaPlayer InfoWindow
* Allow different bases (/1000 or /1024)

546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.

eaa5e093 14-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

Fix #8452 (app's crashing for non-existent system catalog)

* make the system catalog a BCatalog instead of a BCatalogAddOn*,
such that using a non-existing system catalog won't crash but
simply return the untranslated string instead
* rename MutableLocaleRoster::GetSystemCatalog() to LoadSystemCatalog()
and adjust it to use BCatalog::SetTo() in order to replace the
data used by the given catalog
* adjust all users of gSystemCatalog accordingly

3cee15aa 28-Mar-2012 John Scipione <jscipione@gmail.com>

Keymap changes from recent activity. No AltGr yet.

Below is a mostly complete summary of the changes in this commit.

* Set the DeadKeys for the US-International Keymap to use the Option map.
* Rename American keymap to US
* Update the US, US-International, and United-Kingdom keymaps to take
out unneeded spaces in the option layer. Also updated the dead keys
and some other keys on the US-International keyboard to use UTF-8
characters rather than there ASCII equivalents when different.
* Make the Option key fall-through when there is no mapping in the Option
table. Option is for special characters, if none, print the regular one.
This is mostly meant for the US keymap which has an empty option map. But
also so that you don't have to repeat the normal, shift, and caps maps in
the option map needlessly. Although the keymaps are still not empty in
some cases that it could be like numpad keys and space.
* Update the /bin/keymap app to use fputs() instead of printf() when there
is no actual formatting taking place. I've gotten into trouble for doing
this before and it is faster to not process the string unnecessarily.
* Also several 80-char limit style fixes and updated comments.
* In Keymap class Reorder the modifier keys to match the keymap files.
Put B_CONTROL_KEY check above B_OPTION_KEY. Neither change has any effect,
they are purely aesthetic.
* Update DumpKeymap() method to use the abbreviated modifier letters so it
will fit in your 80-char wide terminal.
* Tiny style fix in InputServer
* 80-char limit style fix in BWindow and add a comment that the shortcut
gets eaten in the case of Cmd+Q
* Implement IndexForModifier() in KeyboardLayout, although I am not using it.
* Take Caps Lock out of the Modifier keys window because I couldn't get
it to work the way I wanted it to.
* Move key roles to the left column, and the key label on the left. Add column
header labels. Thanks Rimas!
* Add validation and improve marking menu options. Add a 'Disabled' option
to control, option, and command menus to disable the key. Make the key
role text grey if the key roles is disabled. Validation ensures that you
cannot repeat the same key twice in the Modifier keys window since that
won't work. You can't define 2 sets of option keys even if you really want
to. You can disable your control, option, and command keys if you
want, but that is not recommended.
* Rename kUpdateModifiers to kUpdateModifierKeys message to differetiate
it from kUpdateModifier.
* Add shift key to Modifier keys window, use the stop icon instead of the
warning icon to indicate conflicts.
* Allow the Layout system to control the size of the Modifier keys window
again, set the width's of the key role lables to the widest, set the width
of the menu fields to take up the rest of the space minus room for the
conflict views. I didn't like it that the Modifier keys window would change
size based on what options you had selected in the menu fields. Now it
doesn't, but, the layout system still makes it all fit.

60f75e90 04-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

Merge liblocale.so into libbe.so.

* Make the locale kit a part of libbe.
* Drop the LocaleBackend kludge used from within libbe (and from
other places, too) in order to access system catalog strings.
This is now done via gSystemCatalog, which is provided and initialized
by libbe.
* Drop all references to liblocale.so from all Jamfiles.
* Add legacy symlink liblocale.so in order to keep optional packages
that rely on it in a working state.

TODO: the documentation hasn't been updated.

f1553a0f 22-Feb-2012 Axel Dörfler <axeld@pinc-software.de>

Made it pass the tests, simplified number comparison.

* Space after a number was not correctly handled (must be ignored).
* Better conceal the fact that I'm not always the brightest - the number
comparison was pretty questionable :-)

f88aa5f7 22-Feb-2012 Axel Dörfler <axeld@pinc-software.de>

Made NaturalCompare() accept NULL strings.

37ea4f77 11-Feb-2012 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Removing unused code.

1b6bc267 08-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

kits: Some spelling cleanup of common mistyped words

* Little whitespace cleanup
* No functional change

0f27a79e 12-Nov-2011 John Scipione <jscipione@gmail.com>

Check to see if the argument of tangent divided by half pi is an odd integer. If so, throw an out of domain error.

60ba75c5 06-Nov-2011 John Scipione <jscipione@gmail.com>

Add a scientific mode to Deskcalc.

Deskcalc already contains support for all the functions in scientific mode
but up until now you had to know what they were called and type them in to
figure them out. Scientific mode gives you access to most of the available
functions via buttons.

Pushing one of the the scientific mode buttons inserts the function name
along with an innertube () at the current cursor location. If you have some
text highlighted when you push a scientific mode button it will put that
text inside the innertube. So you can type 0.5, then highlight the text with
the mouse, and then push the sin button and you will get sin(0.5).

The contextual menu has been altered to support the new mode.
Instead of having a single show keypad option in the contextual menu there
are 3 new options instead. Compact mode, Basic mode, and Scientific mode.
Basic mode is the default mode showing the basic keypad. Compact mode is the
same as show keypad turned off, showing just a bare text field. Scientific
mode is the new mode which adds buttons for the different transcendental
functions and constants that Deskcalc supports. You can also use Alt+0, Alt+1,
and Alt+2 keyboard modifiers to switch between the modes.

In addition to accepting the word 'pi' for the circumference of the unit
circle, Deskcalc now also recognizes the UTF-8 character π which has a
dedicated button in scientific mode. I also changed the parser so that
lowercase 'e' always means Euler's number and uppercase 'E' always means
'times 10 to the' so 1E5 means 1 times 10 to the 5th.

Another small tweak I did was to adjust the minimum basic mode width so that
the window is flush with the tab.

I also renamed fColums to fColumns, took out some spaces and other style
changes and bumped the version to 2.2.0.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43199 a95241bf-73f2-0310-859d-f6bbb57e9c96

7bf8fcfa 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Make rect data part of union as suggested by Ingo.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43100 a95241bf-73f2-0310-859d-f6bbb57e9c96

15dbca93 01-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Extend BVariant to support storing BRects as well.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43080 a95241bf-73f2-0310-859d-f6bbb57e9c96

6846765f 07-Sep-2011 Oliver Tappe <zooey@hirschkaefer.de>

Work on #7947 (CalendarView not respecting locale's start of week)
* support all weekdays as start of week, not only Sunday and Monday
(at least Saturday is used for real, too)
* introduce BWeekday as enumeration of weekdays (currently in Locale.h,
may be moved somewhere else later)
* change CalendarView to use BDate as its model, not individual values
for day, month and year, such that no more date computation is done
in CalendarView itself
* some more style cleanups in CalendarView along the way
* add monthwise paging to CalendarView
* adjusted Deskbar and Time preflet accordingly

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42720 a95241bf-73f2-0310-859d-f6bbb57e9c96

87663db4 28-Aug-2011 Oliver Tappe <zooey@hirschkaefer.de>

Minor cleanup: respect 80-chars line length limit

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42698 a95241bf-73f2-0310-859d-f6bbb57e9c96

1e07062b 27-Aug-2011 Oliver Tappe <zooey@hirschkaefer.de>

Apply patch by Hamish, closing #7947 - thanks!
* determine first day of week and draw calendarview accordingly
* some cleanup: drop superfluous DateTimeView::Draw()
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42697 a95241bf-73f2-0310-859d-f6bbb57e9c96

26fbe862 26-Aug-2011 Stephan Aßmus <superstippi@gmx.de>

Patch by John Scipione: Added cbrt() function to the supported functions
and factrorial expression support. Closes ticket #7945, thanks a bunch!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42690 a95241bf-73f2-0310-859d-f6bbb57e9c96

2530274d 05-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Missed this in my previous Time commit, hence the build break, sorry!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41933 a95241bf-73f2-0310-859d-f6bbb57e9c96

f2068166 04-Jun-2011 Alexandre Deckner <alex@zappotek.com>

* Fix regression spotted by Humdinger. Emulate right click dragging like it
used to work before, i.e right mouse button dragging works and the context
menu shows on mouse up if not dragged. I guess that at some point we'll rethink
all the mouse gestures we support and maybe simplify a bit, like dropping
long click support (as an emulated right button), and possibly
separating some features via user settings if needed.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41929 a95241bf-73f2-0310-859d-f6bbb57e9c96

596bb689 03-Jun-2011 Alexandre Deckner <alex@zappotek.com>

* Finally rewrote the filthy, busy-looping, mouse tracking in Tracker.
The new asynchronous tracking doesn't lock the view and makes desktop
replicants happy while clicking and dragging around. Fixes #880, #7241
and certainly other tickets, that i will revisit, about refresh locks
on the desktop or mouse related bugs. Based on a reusable MessageFilter and the
recent B_MOUSE_IDLE message. Some parts are ported from the old code
and could use further simplification.

There should be no intentional user fonctional change, except:
- slightly bigger threshold radius, shorter duration thresholds
(= 1.0 x the system-wide doubleclick setting)
- not reimplemented: quickening threshold when holding shift while dragging
a pose over a destination pose.

Some parts are ported from the old code and could use further simplification.
There is one known minor regression with autoscrolling while
rect-selecting but that will be better fixed with some changes to the
autoscroll code. Will address that ASAP. As for the unknown regressions,
please test :)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41892 a95241bf-73f2-0310-859d-f6bbb57e9c96

a1e3c32d 20-May-2011 Axel Dörfler <axeld@pinc-software.de>

* BIconButton now inherits from BControl, solving a TODO comment.
* I tried to reuse as much state from BControl as possible, so I removed a few
* Also made the flags private, and added protected SetInside()/IsInside()
* Removed useless BIconButton::ID().
* Adjusted users.
* Minor cleanup, automatic white space cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41611 a95241bf-73f2-0310-859d-f6bbb57e9c96

9b4ad591 13-Apr-2011 Jonas Sundström <jonas@kirilla.com>

Make IconView icon_size:able. Adapt DataTranslations. Disable DataTranslation's info button on list deselection.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41248 a95241bf-73f2-0310-859d-f6bbb57e9c96

73f559a4 13-Apr-2011 Jonas Sundström <jonas@kirilla.com>

Move IconView from kits/interface to kits/shared.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41246 a95241bf-73f2-0310-859d-f6bbb57e9c96

c8b61804 31-Mar-2011 Axel Dörfler <axeld@pinc-software.de>

* The last month was computed by setting a possibly invalid date (ie. the
February only has 28 to 29 days, so setting the current day may fail).
* This caused bug #7421.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41155 a95241bf-73f2-0310-859d-f6bbb57e9c96

560ff447 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Use resource definition files instead of DoCatalogs rule. Rename B_TRANSLATE_APP_NAME and related macros to the more generic B_TRANSLATE_SYSTEM_NAME, to also fits add-ons, folders, etc, and make 'System name' its standard context. Change CodyCam and PoorMan's app signatures to match the overall x-vnd.Haiku-App pattern. Some clean-up. Make SlideShowSaver build again.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41103 a95241bf-73f2-0310-859d-f6bbb57e9c96

ddc9530b 19-Mar-2011 Stephan Aßmus <superstippi@gmx.de>

The frame that the bitmap is centered in has already
an appropriate offset when the button is drawn in
pressed look. Fixes the bitmap being drawn with a
much too big offset.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41056 a95241bf-73f2-0310-859d-f6bbb57e9c96

d7f342e8 15-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Simplifying the BAboutMenuItem and adding it properly to the locale kit's DoCatalogs list.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40967 a95241bf-73f2-0310-859d-f6bbb57e9c96

c53bd10c 15-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Remove ellipsis. The about-window is not a dialog requiring additional information from the user.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40959 a95241bf-73f2-0310-859d-f6bbb57e9c96

12d8a9f8 14-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Introducing BAboutMenuItem.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40956 a95241bf-73f2-0310-859d-f6bbb57e9c96

4153964a 25-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

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

804c69ca 20-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

Moved IconButton from LaunchBox (actually the updated version from WebPositive)
into libshared.a as BPrivate::BIconButton. Removed some outdated functionality
as well (now only uses BControlLook for drawing, cleaned up custom drawing).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40587 a95241bf-73f2-0310-859d-f6bbb57e9c96

bc1bd8ba 01-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* updated copyright section for NaturalCompare according to commit
logs (the OpenTracker license doesn't apply since NaturalCompare
was never part of OpenTracker).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40341 a95241bf-73f2-0310-859d-f6bbb57e9c96

9daff332 28-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* moved NaturalCompare() from libtracker.so to libshared.a, in order
to make it available elsewhere

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40307 a95241bf-73f2-0310-859d-f6bbb57e9c96

ea3e07b3 22-Jan-2011 Rene Gollent <anevilyak@gmail.com>

CID 10360: Remove incorrectly placed return.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40267 a95241bf-73f2-0310-859d-f6bbb57e9c96

cd715563 26-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

CID 8115: Fix wrong size parameter to memcmp() which lead to a broken equality

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39957 a95241bf-73f2-0310-859d-f6bbb57e9c96

1e9af051 19-Dec-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by jscipione: Check valid input value range
for some MAPM functions, since they will otherwise
just return 0, instead of indicating an error.
Thanks! Fixes ticket #6398.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39889 a95241bf-73f2-0310-859d-f6bbb57e9c96

d1cf4099 17-Dec-2010 Philippe Houdoin <philippe.houdoin@gmail.com>

Enforced the newlines.
Localized alert "title" and close button label.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39879 a95241bf-73f2-0310-859d-f6bbb57e9c96

5ae52982 17-Dec-2010 Philippe Houdoin <philippe.houdoin@gmail.com>

Made BAboutWindow class localized.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39878 a95241bf-73f2-0310-859d-f6bbb57e9c96

24b218c5 21-Sep-2010 Axel Dörfler <axeld@pinc-software.de>

* Implemented a class that can handle Tracker's query files. Only read support
for now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38767 a95241bf-73f2-0310-859d-f6bbb57e9c96

44628746 07-Aug-2010 Jérôme Duval <korli@users.berlios.de>

CID 1463: Delete an array with delete[]

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37960 a95241bf-73f2-0310-859d-f6bbb57e9c96

f700bfd5 26-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* FixStringForSize : without context, the locale kit was in trouble finding the right string.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37753 a95241bf-73f2-0310-859d-f6bbb57e9c96

68018dbe 25-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fix lost translation strings of StringForSize

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37745 a95241bf-73f2-0310-859d-f6bbb57e9c96

7a0dca5c 23-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved SHA256 code to libshared.a.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37235 a95241bf-73f2-0310-859d-f6bbb57e9c96

6a49b9e8 25-Apr-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by John Scipione: Rename the log and log10 functions in DeskCalc to
ln and log, which is hopefully more in line with expectations of users.
Thanks a lot!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36463 a95241bf-73f2-0310-859d-f6bbb57e9c96

7fd4194e 25-Apr-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by John Scipione: Allow pi and e constants to have full MAPM precision.
Thanks a bunch!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36462 a95241bf-73f2-0310-859d-f6bbb57e9c96

b19e758b 21-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* The Keymap::IsDeadKey() of the Keymap preferences which was the main source
of BKeymap was not compatible with IsDeadKey() of the other Keymap
* Now, I've renamed IsDeadKey() to DeadKey(), and introduced a new
ActiveDeadKey() method that works like the other former IsDeadKey().
* This fixes the dead key problems my earlier BKeymap work introduced.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36400 a95241bf-73f2-0310-859d-f6bbb57e9c96

a41cc8a7 20-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed build on the Haiku platform.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36375 a95241bf-73f2-0310-859d-f6bbb57e9c96

4dfce2e4 19-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* We cannot include the SystemKeymap.h with the tool that is supposed to
generate it.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36370 a95241bf-73f2-0310-859d-f6bbb57e9c96

910f10f2 20-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Added libshared_build.a, currently only contains Keymap.cpp.
* keymap and <build>keymap are now using the BKeymap class as a base as well.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36368 a95241bf-73f2-0310-859d-f6bbb57e9c96

697e17ff 20-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* The scroll_lock also counts as a modifier; this was obviously not present
in all Keymap variations.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36366 a95241bf-73f2-0310-859d-f6bbb57e9c96

b44c25de 16-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Factored out a single base class out of the three Keymap implementations we
had in our tree.
* Adapted Keymap, <input>keyboard, and consoled to use it - the additional
functionality is implemented via a subclass in the first two cases.
* "keymap" will come next.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36328 a95241bf-73f2-0310-859d-f6bbb57e9c96

8f2d34d9 12-Apr-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Fix test_app_server again due to Coding Sprint changes

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36195 a95241bf-73f2-0310-859d-f6bbb57e9c96

e9024a3b 11-Apr-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Build tools : allow to run DoCatalogs with a custom regexp for special cases
* Introduce a system-wide localization catalog used for strings hidden deep in some libraries. Add special API to get it.
* string_for_size is the first to make use of this system wide catalog. This allows to have a fully localized DriveSetup.
* As a side effect, tracker also uses it. It now requires liblocale.so.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36175 a95241bf-73f2-0310-859d-f6bbb57e9c96

abb02bc4 26-Mar-2010 Stephan Aßmus <superstippi@gmx.de>

Moved BAffineTransform from shared kit into interface kit. Still in BPrivate
namespace. Applied 80 char/line limit.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35955 a95241bf-73f2-0310-859d-f6bbb57e9c96

48d79657 23-Mar-2010 Stephan Aßmus <superstippi@gmx.de>

* Moved the duplicate "string_for_size()" implementations into libshared.a.
* Adapted libtracker.so, DriveSetup and Installer to use the shared version.
* The new version uses the correct units (KiB instead of KB and so on).
* Use the correct units in a few other prominent places, where
string_for_size() could not be used.

Should resolve a major part of #5378.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35935 a95241bf-73f2-0310-859d-f6bbb57e9c96

a070cf53 06-Mar-2010 Stephan Aßmus <superstippi@gmx.de>

* Indentation update in DateTime.h
* Extended BTime, BDate and BDateTime with archiving functionality.
* Adjusted code which uses these classes, since including DateTime.h
already imports the classes from the BPrivate namespace.
* Moved DateTime.h into Support Kit. It is still in the BPrivate namespace,
as I am uncertain what to do with time_type and diff_type. I'd favor
moving the constants into the classes itself. Possibly removing the B_
prefix from them. Feedback welcome.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35772 a95241bf-73f2-0310-859d-f6bbb57e9c96

100dd0cf 23-Jan-2010 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Fixed number with exponent scanner (and simplified that code).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35249 a95241bf-73f2-0310-859d-f6bbb57e9c96

86a0da42 22-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Fixed spelling mistake.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35245 a95241bf-73f2-0310-859d-f6bbb57e9c96

f88faf25 22-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Fix parsing scientific notation in the form of 1E+6 or 1E-6.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35244 a95241bf-73f2-0310-859d-f6bbb57e9c96

be350af3 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added methods AddToMessage() and SetFromMessage() to add the value of the
variant as a field to a message, respectively initialize the variant from

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33901 a95241bf-73f2-0310-859d-f6bbb57e9c96

417f4460 12-Oct-2009 Michael Lotz <mmlr@mlotz.ch>

The parameter to toFixPtString() only controls the decimal places, not the
actual digits. Therefore the buffer was always too small leading to memory
corruption. Use the version that allocates the string for us instead, then trim
it and assign it to the result.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33566 a95241bf-73f2-0310-859d-f6bbb57e9c96

7dde9c1d 26-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added operators == and !=.
* Added "bool* _isSigned" parameter to IsInteger().
* Added static TypeIs{Number,Integer,Float}() operating on type codes.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33308 a95241bf-73f2-0310-859d-f6bbb57e9c96

032631e5 06-Sep-2009 Stephan Aßmus <superstippi@gmx.de>

Make the base class destructor of BCommandPipe::LineReader virtual, since
that will fix the problem fixed in r32926 for all derived classes.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32957 a95241bf-73f2-0310-859d-f6bbb57e9c96

86e78dfa 03-Sep-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

- Classes with virtual methods should have virtual destructors.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32926 a95241bf-73f2-0310-859d-f6bbb57e9c96

8dadca32 02-Sep-2009 Stephan Aßmus <superstippi@gmx.de>

Refactoring and cleanup. The progress report mechanism should now be much
more flexible. May need this in the alphabranch...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32903 a95241bf-73f2-0310-859d-f6bbb57e9c96

569634e9 22-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* Style fix

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32617 a95241bf-73f2-0310-859d-f6bbb57e9c96

abd3d52b 22-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* Forgot to save that file.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32605 a95241bf-73f2-0310-859d-f6bbb57e9c96

8e43b9e3 22-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* A mouse shake detecting BMessageFilter that's easily integrated in any app.
* A test app for it. I added a src/test/kits/shared folder as i found it was the
most logical place for it. Shake it up.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32602 a95241bf-73f2-0310-859d-f6bbb57e9c96

04e24ee5 13-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Made some char* params const to fix a GCC4 warning in ShowImage (the only
current client of this AFAIK.) They should have been const to begin with...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32297 a95241bf-73f2-0310-859d-f6bbb57e9c96

cdcacd7f 29-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added missing ToReferenceable().
* _SetTo(const BVariant&): Acquire a reference for the wrong object.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31959 a95241bf-73f2-0310-859d-f6bbb57e9c96

d8c41ef3 24-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for containing BReferenceables of arbitrary actual type.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31744 a95241bf-73f2-0310-859d-f6bbb57e9c96

b5d6fc71 18-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added missing bool type support.
* Added Bytes(), returning a pointer to the "raw" data, and Size(), returning
the data size.
* Added SetToTypedData(), which initializes the object from a data buffer and a
type code.
* Added SwapEndianess() to swap the endianess of the contained data (if

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31627 a95241bf-73f2-0310-859d-f6bbb57e9c96

3b859de2 13-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added handy static method SizeOfType().

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31538 a95241bf-73f2-0310-859d-f6bbb57e9c96

1b3303e7 02-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31375 a95241bf-73f2-0310-859d-f6bbb57e9c96

59d799da 28-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the mapm library from src/apps/deskcalc to src/libs and headers/libs.
* Moved the ExpressionParser class to shared. It's now built into its own
static library.
* Added hexadecimal number support to the expression parser as well as
Evaluation*() methods to get a number instead of a string.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96

b7c5bd63 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed Variant to BVariant and moved it to libshared.a.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31127 a95241bf-73f2-0310-859d-f6bbb57e9c96

c51d0337 06-Apr-2009 Alexandre Deckner <alex@zappotek.com>

* Rewrote BDragger's mouse tracking to be asynchronous using a message filter. Placed the filter in
kits/shared since i plan to use it in other places like Tracker. Animated replicants like
ActivityMonitor wont stall anymore when initiating the drag. (On the desktop, Tracker's mouse
tracking still busy loops sometimes, that's next on my list).

I had asynchronous long click detection (one button mouse support) in it but decided to get rid of
it, it adds unneeded complexity in the code and is even getting in your way sometimes (ex: now you can
take your time to drag the dragger, you wont be interrupted). If we want to reimplement that
someday it should be done system wide anyway (only Tracker and replicants have that 'feature'

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29972 a95241bf-73f2-0310-859d-f6bbb57e9c96

420a34c4 29-Mar-2009 Karsten Heimrich <host.haiku@gmx.de>

* add documentation
* add some more operator
* adjust some functions to behave properly an invalid values

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29792 a95241bf-73f2-0310-859d-f6bbb57e9c96

ea1bae88 25-Mar-2009 Karsten Heimrich <host.haiku@gmx.de>

* fix wrong date diff calculation

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29717 a95241bf-73f2-0310-859d-f6bbb57e9c96

c26731ec 25-Mar-2009 Karsten Heimrich <host.haiku@gmx.de>

* add default constructor
* fix broken Time_t function
* take the missing days into account when adding months

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29713 a95241bf-73f2-0310-859d-f6bbb57e9c96

09fde55c 25-Mar-2009 Karsten Heimrich <host.haiku@gmx.de>

* revert r29708, need to change some more stuff

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29709 a95241bf-73f2-0310-859d-f6bbb57e9c96

6d585c1c 25-Mar-2009 Karsten Heimrich <host.haiku@gmx.de>

* fixed broken Time_t since i changed BDate to be able to go back before 1970

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29708 a95241bf-73f2-0310-859d-f6bbb57e9c96

474d27da 24-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added RWLockable and RWLockManager classes. The former is basically a
light-weight read-write lock, that doesn't use a semaphore itself. Locking
and unlocking has to be done via methods of RWLockManager. This combo allows
lots of locks without risking to hit the semaphore limit.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29686 a95241bf-73f2-0310-859d-f6bbb57e9c96

18cd67c7 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Add missing headers (malloc/free, string functions, memcpy, etc. undeclared).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28982 a95241bf-73f2-0310-859d-f6bbb57e9c96

9e692e67 26-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Removed svn:executable property.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28822 a95241bf-73f2-0310-859d-f6bbb57e9c96

ff693eba 05-Nov-2008 Karsten Heimrich <host.haiku@gmx.de>

* fix wrong cast in Minute()
* fix _SetTime(), was using the wrong * operator, resulting in
an overflow at some point that lead to the mentioned jumping

fixes 2878 and 3057

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28524 a95241bf-73f2-0310-859d-f6bbb57e9c96

11c5023a 16-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

Applied patch by Stephen Deken:
* Added a new class BAffineTransform, currently in the BPrivate namespace
and the inofficial "shared kit".
* Extended BPolygon to be transformable by a BAffineTransform.

Thanks a lot!

Minor fixes by myself:
* The class accidentally still derived from agg::trans_affine.
* Added then missing comparator operators.
* Swapped the BPoint* and count arguments of Apply(), since that seems
to be the more common order in the other Be API.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28176 a95241bf-73f2-0310-859d-f6bbb57e9c96

fe93c7b3 10-Oct-2008 Karsten Heimrich <host.haiku@gmx.de>

* rewrote BTime to operate entirely on microseconds
* added some convenient functions, operator etc...
* reused parts of the patch by Stephen Deken, thanks

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27954 a95241bf-73f2-0310-859d-f6bbb57e9c96

1e8da5fd 12-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

fAppName was leaked (CID 6). Also moved the initialization of fText to the end of the function, so that we avoid a BString::Adopt() call

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27447 a95241bf-73f2-0310-859d-f6bbb57e9c96

9bee8e93 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* use the new get function

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27292 a95241bf-73f2-0310-859d-f6bbb57e9c96

01401662 01-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* Month and Day should be used from the passed date

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27266 a95241bf-73f2-0310-859d-f6bbb57e9c96

de13e4c0 01-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* implement julian day handling
* more get/ set functions, operators
* date until 1582 are handled in julian calendar
* date above 1582 are handled in gregorian calendar

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27264 a95241bf-73f2-0310-859d-f6bbb57e9c96

870f6b19 31-Aug-2008 Karsten Heimrich <host.haiku@gmx.de>

* implement AddMonths(...) and AddYears(...) functions

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27255 a95241bf-73f2-0310-859d-f6bbb57e9c96

4352fc91 30-Aug-2008 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Bug fix: The calculated day of week is based on a week that starts on Sunday, in a calendar with Monday as week start this number has to be adjusted in case of a Sunday. It would be 0 but should be 7.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27244 a95241bf-73f2-0310-859d-f6bbb57e9c96

f0932941 30-Aug-2008 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Simplified initialization of week days for a month.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27243 a95241bf-73f2-0310-859d-f6bbb57e9c96

c1ed5d75 29-Aug-2008 Karsten Heimrich <host.haiku@gmx.de>

* special case only the end of the year

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27238 a95241bf-73f2-0310-859d-f6bbb57e9c96

b5e8c134 29-Aug-2008 Karsten Heimrich <host.haiku@gmx.de>

* hrmm, March 2009 was week 0 ...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27237 a95241bf-73f2-0310-859d-f6bbb57e9c96

78092ae7 29-Aug-2008 Karsten Heimrich <host.haiku@gmx.de>

* move DateTime and CalendarView into shared
* adjust Time preflet to take that into account

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27235 a95241bf-73f2-0310-859d-f6bbb57e9c96

70bf426b 28-Aug-2008 Karsten Heimrich <host.haiku@gmx.de>

* gcc4 build fix

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27227 a95241bf-73f2-0310-859d-f6bbb57e9c96

e2bc2744 28-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Could have been part of r27221. Added BColorQuantizer to libshared.so. Should
be useful for the GIF Translator for example, maybe even for PNG.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27222 a95241bf-73f2-0310-859d-f6bbb57e9c96

740fe892 28-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Added a BColorQuantizer class to the "shared kit" based on a patch by David
Powel. The functionality was written by Jeff Prosise and Davide Pizzolato and
has been cleaned up and adopted to the Haiku coding style by David Powell and
myself. The class can perform a color quantization for generating the optimal
color index palette (with given maximum size) from a given RGBA image.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27221 a95241bf-73f2-0310-859d-f6bbb57e9c96

e6b421a9 29-Apr-2008 Jérôme Duval <korli@users.berlios.de>

fix misuse of ... with B_UTF8_ELLIPSIS

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25261 a95241bf-73f2-0310-859d-f6bbb57e9c96

fc1ca2da 25-Apr-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25177 a95241bf-73f2-0310-859d-f6bbb57e9c96

075430fa 02-Aug-2007 Stephan Aßmus <superstippi@gmx.de>

* put some more useful utility classes into "shared". I tried to make sure
that OpenHashTable.h does not collide with all the other places that this
is used, it seems everything still builds fine. Most problematic could be
the OpenHashTable.h at kernel/util, but it seems it the target using
that are not affected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21792 a95241bf-73f2-0310-859d-f6bbb57e9c96

45f929b4 18-Jun-2007 Stephan Aßmus <superstippi@gmx.de>

* added BCommandPipe class (currently private API) kindly provided by
* adopted to Haiku coding style

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21463 a95241bf-73f2-0310-859d-f6bbb57e9c96

48295d4b 15-Jun-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

libshared.a doesn't deserve a src/ subdirectory. Moved to

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21419 a95241bf-73f2-0310-859d-f6bbb57e9c96