Commit Graph

238 Commits

Author SHA1 Message Date
Augustin Cavalier
e54f86aa6a 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.
2018-09-02 00:10:30 -04:00
Augustin Cavalier
7457ccb4b2 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.
2018-08-13 20:49:00 -04:00
Andrew Lindesay
b45e8b1ef9 HaikuDepot : additional debugging for json-rpc invocations 2018-03-25 05:44:19 +00:00
John Scipione
a75fc8a7ab Keymap: simplification
Call already existing Offset() method instead of reproducing it.

Set fCharsSize in BKeymap::SetToCurrent()
2017-11-21 14:48:54 -08:00
Augustin Cavalier
6aff37d1c7 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.
2017-10-03 20:18:26 -04:00
Humdinger
9d30b95ab3 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),
* use B_LIST_SELECTED_BACKGROUND_COLOR and B_LIST_SELECTED_ITEM_TEXT_COLOR
  for the selected day,
* keyboard navigation colour only for the frame and text when doing keyboard
  navigation

Fixes #13714
2017-09-22 18:27:43 +02:00
Akshay Agarwal
22d88eb415 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>
2017-09-01 20:20:06 +02:00
Andrew Lindesay
a1c3daa638 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.
2017-08-01 23:19:27 +02:00
Akshay Agarwal
b32b6a8633 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
2017-07-16 08:12:50 +02:00
Akshay Agarwal
8013f2e07d 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
2017-07-14 09:44:26 +02:00
Adrien Destugues
3ec7701779 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
2017-05-29 14:04:44 +02:00
Andrew Lindesay
55f5f25940 JSON Parser : code style corrections 2017-05-16 00:21:15 +12:00
Andrew Lindesay
1f6b57a5d2 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.
2017-05-13 18:50:39 +12:00
Augustin Cavalier
6c9415e3ca 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.
2017-02-09 13:43:26 -05:00
Augustin Cavalier
aae431375e 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.
2017-02-08 21:35:42 -05:00
Murai Takashi
682adeb3aa IconButton.cpp: fix memory leak.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Ticket : #13127
2016-12-29 11:48:28 +01:00
John Scipione
fad740e391 DeskCalc: Estimate n! using 9 term Stirling's
Approximation for n >= 1000

Factorial
Actual Value (truncated)
Approximation

1000!
4.0238726007709377354370243392300398571937E2567
4.0238726007709377354370243392307         E2567

10000!
2.8462596809170545189064132121198688901480E35659
2.8462596809170545189064132121197         E35659

100000!
2.824229407960347874293421578024535518477E456573
2.824229407960347874293421578024         E456573

Close enough!
2016-03-03 12:03:49 -08:00
John Scipione
261bdbab6d Use 5 factor Stirling's Series 2016-03-03 10:07:25 -08:00
John Scipione
fb4dcb4965 Use Stirling's approximation for n! 2016-03-03 10:07:25 -08:00
Rene Gollent
8028ede7db 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.
2016-01-15 21:12:24 -05:00
Axel Dörfler
618cc43b64 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.
2016-01-14 21:00:38 +01:00
looncraz
f696e88a2c Convert various more things to using Set*UIColor.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0038, 0040, 0042-0044 from looncraz, unmodified.
2016-01-04 07:29:14 -05:00
looncraz
f56d45ced4 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.
2016-01-04 07:27:25 -05:00
Augustin Cavalier
485f533935 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.
2015-12-15 21:15:06 -05:00
Axel Dörfler
6b8712663a BToolBar: made FindButton() public. 2015-09-04 17:33:46 +02:00
Augustin Cavalier
3e50787c0e 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.
2015-08-04 10:59:05 -04:00
Augustin Cavalier
58ee42e9df 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...
2015-07-22 17:37:56 -04:00
Axel Dörfler
c4b6278c02 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
  need.
2015-07-22 20:42:22 +02:00
Philippe Saint-Pierre
24b1f931b3 LongAndDragTrackingFilter: Unitialized member
CID 611005
2015-07-01 22:01:57 -04:00
Janus
99e015b439 BCalendarView: Use system color.
* This widget is used in Time and Deskbar.
* Partialy fixes #10840.
2015-05-02 17:33:08 +02:00
Axel Dörfler
687d0bc272 DriverSettingsMessageAdapter: fixed converter signature.
* The ConvertFromDriverSettings() method missed the current value
  index.
* Completed unit tests, and enabled them all.
2015-03-27 13:25:28 +01:00
Axel Dörfler
9f218b4e2d 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.
2015-03-27 13:25:28 +01:00
Axel Dörfler
18811c71ae DriverSettingsMessageAdapter: hide empty message.
* Empty messages no longer end up as empty section - instead, they are
  just empty.
2015-03-27 13:21:51 +01:00
Axel Dörfler
3211cbcd15 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.
2015-03-27 13:21:50 +01:00
Augustin Cavalier
7d226266e6 BToolBar: misc. fixes.
* Move common init. code to an _Init() function.
 * Create a layout constructor.
 * Make _AddView public and rename it to AddView.
2015-02-11 23:06:21 -05:00
Augustin Cavalier
94a4c1c456 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).
2015-02-11 22:54:48 -05:00
Adrien Destugues
eca5549602 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.
2015-02-04 08:26:26 +01:00
Adrien Destugues
23873c705c Missing braces in BMessageFormat format string.
Fixes #11678.
2014-12-30 22:32:51 +01:00
Adrien Destugues
03ad73fc87 More uses of BMessageFormat
ZipOMatic, DiskUsage, MediaConverter, MediaPlayer, ShowImage,
WebPositive, Screen preferences, Tracker, string_for_size.

Thanks to KapiX for reporting those!
2014-11-24 15:42:52 +01:00
Augustin Cavalier
0a74147e1d 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>
2014-11-10 13:21:13 +13:00
Jessica Hamilton
9f8197a872 BToolbar: move into BPrivate namespace, as it's not public yet 2014-11-06 16:44:02 +13:00
Augustin Cavalier
6d93638b37 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>
2014-11-04 12:45:47 +13:00
Oliver Tappe
d0fe638dbd Look for private key of default geolocation service.
* 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.
2014-10-02 00:32:48 +02:00
Oliver Tappe
3006031ac2 Move Geolocation to kits/shared and make it private. 2014-10-02 00:32:48 +02:00
Adrien Destugues
0a925409bc Adjust all BDateFormat callers again. 2014-10-01 16:35:34 +02:00
Adrien Destugues
afd5ec11d2 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.
2014-09-30 15:38:24 +02:00
Adrien Destugues
2a5e33a980 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.
2014-09-26 18:31:11 +02:00
Adrien Destugues
e94bd4810e Fix "strict aliasing rules" warnings
Treated as errors when trying to build the test_app_server for x86_64.
2014-09-02 10:16:01 +02:00
Ithamar R. Adema
c144d33901 Json: use B_PRI* constants
This fixes the x86_64 build.
2014-09-01 13:12:59 +02:00
Stephan Aßmus
e9c77bd249 JSON parser: Added TODOs. 2014-08-30 23:42:04 +02:00