Commit Graph

9267 Commits

Author SHA1 Message Date
Murai Takashi
58dbf89d71 Locale Kit: Fix PVS V773
Fix BTimeUnitFormat::Formatunction() was exited
without releasing 'timeUnitAmount' pointer.

Change-Id: I1d3cedd3ca376a7874ce5305b31194ae054e1a0c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2911
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-13 18:21:58 +00:00
Murai Takashi
022f01ea4d Debugger Kit: Fix PVS V773
Fix ThreadHandler::_HandleBreakpointConditionIfNeeded() was exited
without releasing 'listener' pointer.

Change-Id: I79b72701b5bcf9a8faeacc6d37eb39ce4bd5cc68
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2910
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-13 18:21:58 +00:00
waddlesplash
9ab0dec545 Revert "PackageKit: HPKR BMessage Format Fix"
This reverts commit 82f985c036.

Reason for revert: Broke the build with this message:
/packages/groff-1.22.3-1-x86_64.hpkg: Scheme missing.

Change-Id: I9dea4986238cedfdc33c84739e69a331add09cdf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2896
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-10 00:20:21 +00:00
Andrew Lindesay
82f985c036 PackageKit: HPKR BMessage Format Fix
Some older repositories are having problems because
they are configured with a `url` (identifier) form
that is not actually a well-formed URL.  This caused
problems when it was then interpreted as the
base-url because it did not start with "http".  I
have changed this so that the base-url is not
derived from the url and can be missing.

Resolves #16149

Change-Id: Ic972fde43f99466db9d5ea2325c0e77cf7d4aad5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2886
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-09 08:32:30 +00:00
X512
1d22b1ae63 PicturePlayer: use BStackOrHeapArray
Change-Id: I7908d8304276d14782bde5c2b8c089f3ca0138e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2894
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-08 14:19:18 +00:00
X512
c47cb94a5e BOutlineListView: fix keyboard navigation
* On left arrow key select parent item when selected item is collapsed.
* Scroll to selected item when expanding/collapsing.

Change-Id: Ia404abb970376d4168efd8bba4d8817712a885a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2873
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-03 14:00:17 +00:00
Adrien Destugues
c1cd7f0633 Tracker InfoWindow: improve layout
Fixes #16053

Change-Id: I4ab2321d5e6f1b63d39cad6acd35b75cda43b89f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2732
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-03 11:23:55 +00:00
Adrien Destugues
6b0e92ebd4 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>
2020-06-02 06:51:58 +00:00
Adrien Destugues
1ed08f5856 Speed up BResource loading
The code to parse the resource table reads one entry at a time because
the table size isn't known. This resulted in a lot of read syscalls,
each reading just 12 bytes. Use a BBufferIO to buffer these and reduce
the number of syscalls. This helps especially when there are lot of
resources, for example in libbe with all the country flags.

It also removes some spam from strace output for all these read calls.

Change-Id: Ib165a0eacc2bc5f3d319c22c2fac4f439efbdef2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2858
Reviewed-by: Rene Gollent <rene@gollent.com>
2020-06-01 14:09:54 +00:00
Michael Lotz
4986a9a3fd Revert "kernel: Remove the B_KERNEL_AREA protection flag."
This reverts parts of hrev52546 that removed the B_KERNEL_AREA
protection flag and replaced it with an address space comparison.

Checking for areas in the kernel address space inside a user address
space does not work, as areas can only ever belong to one address space.
This rendered these checks ineffective and allowed to unmap, delete or
resize kernel managed areas from their respective userland teams.

That protection was meant to be applied to the team user data area which
was introduced to reduce the kernel to userland overhead by directly
sharing some data between the two. It was intended to be set up in such
a manner that this is safe on the kernel side and the B_KERNEL_AREA flag
was introduced specifically for this purpose.

Incidentally the actual application of the B_KERNEL_AREA flag on the
team user data area was apparently forgotten in the original commit.

The absence of that protection allowed applications to induce KDLs by
modifying the user area and generating a signal for example.

This change restores the B_KERNEL_AREA flag and also applies it to the
team user data area.

Change-Id: I993bb1cf7c6ae10085100db7df7cc23fe66f4edd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2836
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-30 01:47:40 +00:00
Kyle Ambroff-Kao
38963e7596 SecureSocket: Handle interrupted reads and writes
If a system call performed by SSL_read is interrupted by a signal, it
seems to set its error to SSL_ERROR_WANT_READ. This triggers logic
added in hrev53853 which assumes the caller is doing async reads and
returns B_WOULD_BLOCK.

This breaks uses of BSecureSocket that do blocking reads.

* Detect interrupted signal by checking for EINTR in errno.
* Adding this retry loop to BScureSocket::Write as well since it can
  have the same problem.

Resolves issue #15853.

Change-Id: I8198a8496fa3a2ccee00bda87375a482a0d4ba3d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2825
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-29 14:35:14 +00:00
Augustin Cavalier
f51ea162ef Locale: Enable folder/application translation by default.
Should fix #16076.

Change-Id: Ibf109453c11a83e840774c079c7878cc10f2dad4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2811
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-25 22:26:25 +00:00
Adrien Destugues
dc92c471b9 Fix translation of InfoWindow title.
Fixes #16118.
2020-05-24 19:30:19 +02:00
Andrew Lindesay
9d8d114499 Packages: Local Repo Config Formats
The local storage of the various repositories' config
needs to cater for different generations of storage
formats and also needs to be able to swap out legacy
repository identifiers.

Change-Id: Ib4b3857254b7b703858eff6815e2d6c54d69da3c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1963
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-22 10:04:51 +00:00
Adrien Destugues
d9ef4f90bb 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.
2020-05-17 19:06:59 +02:00
X512
ec43e4f4c2 AutoDeleter: do not allow copy
Change-Id: Ieab0fea46fc23c446bbaca407e3e80a4a7901896
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2704
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-16 18:23:09 +00:00
Adrien Destugues
8ba6597509 Build fix 2020-05-16 20:13:59 +02:00
Adrien Destugues
56788ad98b Tracker: tweak FindPanel layout again
- Remove the "more options" latch
- Put the icon back on the left.

Fixes #16015
2020-05-16 20:01:10 +02:00
Adrien Destugues
872240af5f Missing file in catalog rule for libbe.
Fixes #16018.
2020-05-16 18:03:06 +02:00
John Scipione
bf207efc2b Tracker: ContainerWindow style fixes only
Change-Id: Ica388cf727cb9cffe03c948a64344be7f462e25a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2330
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-15 01:52:12 +00:00
Adrien Destugues
d5a3eb04ef BCardLayout: make the first item visible.
Change-Id: I7b836a22bc5c281bec9b44859c42fec56af45574
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2683
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
2020-05-13 02:05:46 +00:00
X512
451cf86feb Tracker: fix debug build
Change-Id: I8a31802366b3dcbadc9ce1ba903161fa3fcad60d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2679
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-13 02:05:29 +00:00
Augustin Cavalier
9585fabd61 BColumnListView: Consider current, not preferred, column width for overall preferred with.
Otherwise, the entire list will be scanned for row widths, which
is extremely slow with thousands of items, and may not be what
the user wants anyway, if they have set specific column sizes
which are larger/smaller than that.

Helps with #16012 and #15889 considerably.
2020-05-12 21:57:37 -04:00
Augustin Cavalier
9cfe144326 BCardLayout: Do not recompute size limits on visible item switch.
The size limits are already the minimum/maximum for all views,
not just the current one, so we do not need to recompute them
when the layout is invalidated due to an item switch.

Fixes #14675, and other performance issues on switching tabs
in layouted BTabViews, among other things.

Change-Id: I55bfe4ddb8c8a79c634634cfc27113205a790c42
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2677
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
2020-05-11 00:41:52 +00:00
X512
db3a94141a SeparatorItem: support horizontal layout
This is required for BMenuBar based toolbars.

Fixes #15785.

Change-Id: I8d108694b481e408e5c56e23a697c8e7829343dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2316
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-10 15:45:27 +00:00
Adrien Destugues
aa272ca35c Package Kit: reduce identifer/base-url confusion
For historical reasons, the package kit has an "url" field that is not
actually meant to be used as an URL. Rename it in the API and user
facing output as "identifier" to make it clear what the file is used
for. This change preserves the "url" key in on-disk and online storage
(hpkr files, stored settings, etc) in an attempt to not break anything.

Fix one remaining misuse of the "url" field as an URL in
get_package_dependencies.

Add an unit test showing that BUrl does parse "tab" URIs properly (there
is just a protocol and a path segment).

Change-Id: I339ce526e5798d42d78ae650855d7e988dbb4a1a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2542
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-09 20:04:50 +00:00
Adrien Destugues
24337d5342 DecorInfo missing from libbe catalog.
Fixes #15971
2020-05-09 13:56:43 +02:00
Augustin Cavalier
a20a26e264 Versioning: Add BETA_2 and PRE_BETA_3 constants.
* PRE_BETA_3 is now the default in master.
2020-05-08 23:30:15 -04:00
Adrien Destugues
09af7c139b Tracker: fix layout of find panel.
A minimal layout cleanup for beta2. Further changes were proposed in a
separate ticket, #9781, maybe for later.

Fixes #9780.

Change-Id: I1f66d808bd2cea683aa9f3a905cdf5717f1824ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2607
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 22:07:55 +00:00
Adrien Destugues
9670db20dd Tracker: add some time_t overflow checks in StatusWindow
Don't pretend file copies will end in 1901, that's obviously wrong.

Helps with #11176, but we should really not use time_t here, or make it
64bit.

Fun fact: we're now closer to the end of the UNIX epoch than to the creation
of Haiku!

Change-Id: I64acc5ab29fb778fe3034c65b5a8418951d30505
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2608
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 22:07:08 +00:00
Adrien Destugues
1826e60db5 Do not locate DeskBar window by its name
The name changes when translations are enabled. Use the index instead.

Fixes #8982.

Thanks to X512 for catching the problem!

Change-Id: I3c4e943f8476e46e7378a50e83a7758f694a8dc0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2606
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 14:03:03 +00:00
Adrien Destugues
20f2ebae4b Remove MouseDownThread and its usages
This code comes from an old Be Newsletter and since then the API
received the addition of SetMouseEventMask. In several places the
MouseDownThread was misused: it would spawn a new thread on every mouse
click and not clear the previous one. This could for example lead to
BSpinner skipping values if you clicked it at the right speed.

There are functional changes in BSpinner, before it updated for the
first time 100ms after mouse down, and then as you moved the mouse
around the button, now it activates immediately on first click and then
every 200ms (which may be a bit short). In other places, no functional
changes intended.

Change-Id: Ie600dc68cbb87d1e237633953e5189918bf36575
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2599
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-07 22:08:23 +00:00
Emir SARI
ffd6da1724 Enable accept first click by default
Change initial setting as well.

Change-Id: I8dadde139f9c38ee7fa74ce99f0e616c42d9eb81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2563
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:54:47 +00:00
John Scipione
494e256474 BScrollBar: Redraw scroll bar button on click
DrawScrollBarButton passes B_ACTIVATED flag to HaikuControlLook which
draws the button as down.

This regression was introduced in hrev54032.

Fixes #15960

Change-Id: I87dbaa9e8c9169c67dd7cb463d3604d9727ae28f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2577
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:49:13 +00:00
X512
b7c0f682e4 BListView: fix ScrollToSelection
When selection moves down, BListView was sometimes scroll to upper item,
not lower.

Change-Id: I8f3cf87d43e93c3d2cabfd7ca76f44f1575525e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2311
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 19:38:57 +00:00
Niels Sascha Reedijk
765a734ad4 Add signature to libmedia.so.
Also remove superflous data from libpackage.rdef

This should fix #15958

Change-Id: I76991030541dca12a2dfdd9282f02274a461ed2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2561
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 18:55:57 +00:00
Adrien Destugues
5c2709cdd5 Firstbootprompt: remove flags from languages.
http://www.flagsarenotlanguages.com

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

Change-Id: I859cefc7f5cb99f9a5465902c9d471f0b9857b71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2527
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:53:01 +00:00
Adrien Destugues
e6aa214527 libbe.so catalogs are not included in image
Media Kit catalog was incorrectly using "libbe.so" as a catalog name
and overwriting the catalogs for libbe.

Fixes #15904

Change-Id: Ib56045bbcf127c23ac5229981ce92d298ffd6fe5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2536
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2020-05-01 13:49:49 +00:00
Kyle Ambroff-Kao
e1b7c1c7ac storage/SymLink: Fix Be API regression in ReadLink
After this patch, "UnitTester BSymLink" passes.

BSymLink::ReadLink() in BeOS would always return the length of the
link unless an error occurred. Before this patch, Haiku instead seemed
to emulate posix readlink() behavior, returning the number of bytes
copied into the output buffer.

BeOS also did not guarantee that the string written into the output
buffer is NULL terminated if the output buffer cannot contain the
entire link contents, but the Haiku implementation does since it is is
a basic safety issue.

This patch fixes this and updates the Haiku API docs to describe the
behavior explicitly.

Fixing this required changing behavior in bfs_read_link, which
required changes in many more places.

docs/user/storage/SymLink.dox:
src/kits/storage/SymLink.cpp:
* Don't return B_BUFFER_OVERFLOW if the provided buffer is not large
  enough to hold the link contents.
* Update documentation to clearly describe behavior.

src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp:
* Change bfs_read_link() to always return the link length. This is
  called by common_read_link in the VFS, which is called by
  _kern_read_link().

src/add-ons/kernel/file_systems/btrfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/exfat/kernel_interface.cpp:
src/add-ons/kernel/file_systems/ext2/kernel_interface.cpp:
src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp:
src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
src/add-ons/kernel/file_systems/nfs/nfs_add_on.c:
src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.h:
src/add-ons/kernel/file_systems/reiserfs/Volume.cpp:
src/add-ons/kernel/file_systems/reiserfs/Volume.h:
* Update the implementation of read_link for these filesystems. Some
  of them were incorrect, and some had just copied the posix behavior of
  bfs from before this patch.
* Use user_memcpy in ext2_read_link()
* Use user_memcpy in nfs fs_read_link()
* Use user_memcpy in reiserfs StreamReader::_ReadIndirectItem and
  StreamReader::_ReadDirectItem
* Remove unused method Volume::ReadObject in reiserfs.

src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp:
src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkSymlink.cpp:
* Update UnpackingLeafNode::ReadSymlink and
  PackageSymLink::ReadSymLink() to set the bufferSize out parameter to
  the symlink length. Both of these are called by
  packagefs_read_symlink.
* Use user_memcpy

src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
* netfs seems mostly unimplemented. Added a FIXME note for future
  implementers so that they know to implement the correct behavior.

src/system/libroot/posix/unistd/link.c:
* readlinkat() was just wrapping _kern_read_link() because before this
  patch it had expected posix behavior. But now it does not, so we
  need to return the number of bytes written to the output
  buffer.

src/build/libroot/fs.cpp:
* Update _kern_read_link() in the compatibility code to emulate the
  Haiku behavior on the host system. This is done by using an
  intermediate buffer that is guaranteed to fit the link contents and
  returning its length. The intermediate buffer is copied into the
  output buffer until there is no more room.

src/tests/kits/storage/SymLinkTest.cpp:
* This patch also resolves some test failures similar to those
  resolved in ee8cf35f0 which fixed tests for BNode. The tests were
  failing because Haiku's error checking is just better.

  BeOS allowed constructing a BSymLink with BSymLink(BDirectory*,
  const char*) with the entry name of "". The same is true of the
  equivilant SetTo() method. The BSymLink object will appear valid
  until you attempt to use it by, for example, calling the ReadLink
  method, which will return B_BAD_VALUE.

  Haiku does a more appropriate thing and returns B_ENTRY_NOT_FOUND,
  for this constructor and the equivilant SetTo(BDirectory*, const
  char*) method. This patch fixes these test assertions to match Haiku
  behavior.

docs/develop/file_systems/overview.txt:
* Add notes for future filesystem driver implementers to call this
  mistake when implementing fs_vnode_ops::read_symlink.

docs/user/drivers/fs_interface.dox:
* Fix documentation for fs_vnode_ops::read_symlink

Change-Id: I8bcb8b2a0c9333059c84ace15844c32d4efeed9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2502
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-04-30 10:13:41 +00:00
Adrien Destugues
5fd6feed3e Tracker: fix checkbox positions in InfoWindow.
Fixes #15914.
2020-04-27 20:17:51 +02:00
Augustin Cavalier
b8aadcd2df libnetapi: Adapt to OpenSSL 1.1 API changes.
Surprisingly easy: X509 was made opaque, and SSL_CTX_set_ecdh_auto
was removed (it is now the default internally.)
2020-04-19 17:58:00 -04:00
Adrien Destugues
c2895bebdf Build fix. 2020-04-19 17:00:02 +02:00
Adrien Destugues
8a397b0541 BTabView: use the back/forward buttons to switch tabs
Note that for this to work well, the child views in the tabs must
propagate MouseDown events up for these buttons.
2020-04-19 11:30:16 +02:00
waddlesplash
47e83a42b0 Revert "BTabView: use the back/forward buttons to switch tabs"
This reverts commit 7ba52abdd3.

Reason for revert: Broke the build due to undeclared symbols.

Change-Id: If726d1f71a336f98428037dad2acfdaf961f1a84
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2497
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-18 18:40:02 +00:00
Adrien Destugues
7ba52abdd3 BTabView: use the back/forward buttons to switch tabs
Note that for this to work well, the child views in the tabs must
propagate MouseDown events up for these buttons.

Change-Id: I503d7203cb20e6ba85bd0d7e1cfaed988e3cf17b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2207
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-18 18:20:37 +00:00
X512
47102c0742 Interface Kit: introduce B_TRANSPARENT_BACKGROUND flag
BeOS didn't support transparent views. As documented in the Be Book,
SetViewColor(B_TRANSPARENT_COLOR) only effect is to not fill the
invalidated areas with the view color before calling Draw() (it avoids
flickering, especially when combined with B_FULL_UPDATE_ON_RESIZE).

A previous change made B_TRANSPARENT_COLOR actually make the view
transparent (that is, additionally to the above, the underlying view is
drawn before the transparent children), but it creates compatibility
issues.

In order to keep the API compatible with BeOS, the new behavior is now
enabled explicitly using the B_TRANSPARENT_VIEW flag. This also opens
for future developments like allowing a view color with an alpha
channel (not supported yet).

Adjust programs that require transparent views.

Fixes #15744, #15745.
Helps with #15645.

Change-Id: I529574ea23db0a23579521b263bc8d572775e35a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2275
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-04-16 00:59:37 +00:00
Niels Sascha Reedijk
5cfca119fb HaikuBook: Add documentation for BCardLayout
This adds documentation for BCardView, BCardLayout and BLayoutBuilder::Cards.
There is also a bit of cleanup for the BSplitView documentation.

It also makes explicit when a developer passes an invalid argument to
BCardLayout::SetVisibleItem(), by making that a debugger() call.

Change-Id: I17ac52cc773bb76c4f81beaa76f72af62a9e10f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2460
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-14 08:00:13 +00:00
Niels Sascha Reedijk
4b918abdb0 Package Kit: internationalize strings that may be displayed to the user
This fixes #14525.

Change-Id: I25810a4e12caed7aa47717e278591b1716b6198c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2329
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2020-04-13 09:00:10 +00:00
Alexander von Gluck IV
19733b44fa kits/bluetooth: Style cleanup, add additional vendors
Change-Id: I33ac709fe1dc759bf9b98fe94bd1820278ef33d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2471
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-12 19:41:57 +00:00
John Scipione
1482b250a7 IK: Update scroll bars for alternative control look
Scroll bars should look and work identically to before on
HaikuControlLook.

Add DrawScrollBarButton() and DrawScrollBarThumb() and
DrawScrollBarBorder() methods. These methods are used to draw scroll
bars in a generic way so that they can be drawn differently by alternative
control look's (e.g. BeControlLook). Also it gives us back drawing of
scroll bar knobs.  However the knob setting is not exposed in the
interface in this commit.

These methods are in addition to the 2 existing DrawScrollBarBackground()
methods that draw the scroll bar background. One draws the area above and
below the thumb and the other is called by the first to actually draw the
area.

The rest of the drawing besides the backgrounds was being done in
BScrollBar before. To draw the scroll bar arrows and thumb we were recyling
other ControlLook methods, while this worked well enough on HaikuControlLook
it wasn't flexible enough for alternative control looks.

DrawScrollBarButton() is used to draw the four scroll buttons and is
typically (so far) used in combination with DrawArrowShape().

DrawScrollBarThumb() draws the scroll bar thumb.

DrawScrollBarBorder() draws a 1px border around the entire scroll bar,
potentially B_KEYBOARD_NAVIGATION_COLOR if focused (although this is
feature not currently used.)

Draw unscrollable scroll bars as if they were disabled including the
buttons with their arrow shapes, background, and thumb.

Add FBC backwords compatibility macros in ControlLook.cpp

Change-Id: I9237c5ce45d17d674785111d51de951e5686306b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/351
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-04-11 16:57:54 +00:00