Attempting to read data from direct blocks and single indirect
blocks even if the data stored is not in continous blocks and
DirectoryIterator now uses ReadAt to iterate through directories.
Change-Id: I8156aba53782da8c2bb4481db611ae26d8881b35
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3088
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Update BTab::DrawTab() to pass the current index, the index of the
selected tab, and the index of the first and last tabs into
BControlLook::DrawActiveTab() and BControlLook::DrawInactiveTab().
This allows you to draw tabs differently in your BTab or BControlLook
subclass in many different circumstances.
Modify BControlLook API to add indexes to DrawActiveTab() and
DrawInactiveTab() like so:
void DrawActiveTab(..., int32 index = 0, int32 selected = -1,
int32 first = 0, int32 last = 0);
void DrawInactiveTab(..., int32 index = 0, int32 selected = -1,
int32 first = 0, int32 last = 0);
These extra indexes are not used by HaikuControlLook which relies only
on if the tab is active or inactive to draw.
Add IndexOf(BTab* tab) method to BTabView and document it to get the
index of the current tab in BTab::DrawTab(). Also add a warning in the
BTabView::DrawTab() method not to use the position and full parameters
anymore, use BTabView::IndexOf(), BTabView::Selection(), and
BTabView::TabCount() to get the info you need.
Using a dynamic_cast to a BTabView in BeControlLook to determine if the
view is derived from a BTabView didn't work in the case of WebPositive.
Furthermore, WebPositive does custom tab drawing which needed to be
updated for alternative control look. These index parameters passed from
BTab to BeControlLook allow us to draw the tab like BeOS without relying
on a dynamic_cast to BTabView to get the info.
Reproduce the functionality described above for BTab in WebPositive's
custom tabs. Eliminate no longer needed code in favor of using indexes.
Update WebPositive custom tabs to use BControlLook::DrawTabFrame()
instead of BControlLook::DrawInactiveTab() matching the update made in
BTabView.
In BeControlLook::DrawTabFrame() fill rect with base color, WebPositive
doesn't draw any tab background, so it expects this work to be done for
it.
Eliminate hasFrames variable from WebPositive.
Rename TabSelected(index) to UpdateSelection(index) in WebPositive to
better reflect its purpose.
Adjusted HaikuControlLook::DrawInactiveTab() to draw the tab borders more
selectively. Only draw border if left border is set for top and bottom tabs
or top border is set for left and right tabs. Undo no longer needed frame
manipulation border drawing workaround in HaikuControlLook::DrawTabFrame().
Draw scroll bar triangle without using DrawArrowShape().
Unlike in HaikuControlLook, DrawArrowShape() is used to draw arrows in
BOutlineListView and menus distinctly from how it draws arrows in scroll
bars. Draw our distinct arrows in DrawSrollBarButtons() instead.
This fixes overflow of time edit up-down arrows in Clock prefs and the
collapse-expand arrow in Deskbar not being vertically centered.
In DrawBorders() only inset if we actually draw the border.
Fix alignment issues with DrawSliderThumb dots for example in
MediaPlayer volume knobs.
Draw using line arrays calling AddLine instead of StrokeLine in
several places.
DrawMenuBar() extends to draw final pixel which eliminates an extra
lines at the end of menu bars.
Truncate button labels better fixing a few issues for example keymap
keyboard layout button labels. Button insets has been updated a bit
to fix drawing issues with buttons missing a border.
Using a dynamic_cast to a BButton to determine if a view is a button
in BeControlLook didn't work in the case of the keymap label. Look for
B_FLAT, B_HOVER, or B_DEFAULT_BUTTON flag in BeControlLook::DrawLabel()
to draw the label inverted on click. Pass the B_FLAT flag from Keymap
keys when drawing using BControlLook so that the label is inverted.
Change-Id: I07631f4b006bdb9aeca2adc9cbdf2da54dae8e92
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2866
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Change-Id: I08ecdfdc82f89c56081a8873d6263c30bad129b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3302
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Still lots more to do, but it is a start.
Change-Id: Ia83e7f4b751a860b3005d34841b58f31450613ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3309
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
These are marked internal for now.
Change-Id: I09859060021e4b35c355c9a0400da6f8bc6653e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3307
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
These two classes are not yet in the public API, as such they are hidden behind
the INTERNAL conditional variable.
Change-Id: I4ac204a600715937ef99d8ff56c4026d06abec3f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3305
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
I use the develop configuration to generate a warnings file, which is useful to
find undocumented members. The default configuration hides the undocumented
members and does not warn about them.
Change-Id: I09248c95bd51ea21118ff4f7ce57427d033981d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3304
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* This looks wrong, but is functionally equal.
* Supposed to return a MouseSettings*, but returned
a B_OK (0) on a seemingly error result (NULL).
Change-Id: Id6c50369790b90e38fd6ec037c466c5fb314edf5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3303
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
We received permission from the original author and all relevant contributors
(see the mailing list) to do this. (As best as can be established, BeUnited
did not modify the source code after importing besides adding their copyright.)
Jam comparison logic is string-based, and so was detecting GCC >= 10
as being < 2. This rectifies that by removing the GCC version parsing
from Jam logic entirely, and setting various BuildConfig variables
instead.
Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Change-Id: I00ab55ae2549e3d91ff4dc23106db3ebe45478d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3296
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Change-Id: I449f22ef0babededbd64bc00c6c14e3bb495138e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3295
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
pretending to be in kernel mode
Change-Id: Ib396f9aae0b6d8ebff0edc332a583c66c59f1067
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3283
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
this is used by userlandfs
Change-Id: I2f7971be819c36fcab78eca2d18b45bb0b1a5fad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3277
Reviewed-by: Rene Gollent <rene@gollent.com>
Previously the 'book.css' file was applied as the sole stylesheet for the
Doxygen generated documentation. This stylesheet now applies it as a secondary
stylesheet to override Doxygen's defaults. The main advantage is that when
Doxygen adds new features, they will now be styled by default.
I did my best to clean up the book.css file, though it is not unlikely that
there still is a lot of duplicate CSS. For now though, the output looks mostly
the same, the code blocks no longer have an empty line between each of the lines
and the tooltip text - while not working - are no longer visible on the bottom
of the page.
Change-Id: Ia50915245ecd981843d0d8ec42e362b538187920
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3269
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Thanks to mmlr for pointing out element could not be NULL.
Change-Id: I89d85fdd2cc30efd54c81f6c50a5497208bab5d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3259
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>