When using BAffineTransform, the update rect is not in the same
coordinate space as the drawing rectangle. Hence, testing them for
intersection does not work, and leads to not drawing buttons which are
in fact visible.
Moreover, the code in BControlLook does not perform only drawing, it is
also expected to update the drawing rect, so other functions may reuse
it later (for example, drawing a button border also computes the
rectangle for the button background). Because of this, it is not
possible to skip the drawing completely, or we could break the layout of
the client.
Fixes#13664
Interaction between ConstrainClippingRegion and transforms leads to
button frames and background not being drawn at all.
Also shows another problem with rounded corner buttons when mixed with
transforms.
ConstrainClippingRegion was used in BControlLook to limit drawing to
inside the update rect. There are two problems with that:
- It would ignore any other clipping set by the application, as calls to
ConstrainClippingRegion are not cumulative,
- ConstrainClippingRegion ignores transforms on the view, so on a
transformed view, we would not draw anything in most cases.
If constrained clipping is needed here, it should be achieved using
ClipToPicture instead.
Expanded window items are listed right under the team item. So, it is
not needed (and a waste of space) to repeat the team name there.
Detect two common patterns for adding the application name to windows:
AppName: Window
and
Window - AppName
Remove both from the item labels, leaving a little more space for useful
information in DeskBar.
A '&' (reference) was missing on a specific line, causing
font information to never be updated. Also removed extra padding
dependent on a constant variable - if it is used, the label will
be render too far down.
Fixes#12981.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
* Sentence casing for the examples of menus etc.
* Use elipses instead of "..."
* As originally proposed in ticket #5010 [1], we went with removing
dynamic menu item labels, e.g. "Show grid" <-> "Hide grid" from
our apps (ProcessController, Magnify, etc.)
[1] https://dev.haiku-os.org/ticket/5010
Among other fixes and more translations, there's now an "Import"
feature to merge in another catkeys file.
Handy when the en.catkeys changed and you want to import the translated
catkeys file for the previous version, which already contains the
translations for the strings that haven't changed.
Hmm... hope what I wrote there is decipherable...
An interface that fail to configure due to link lost will be
reported to have "No Link" instead of to be still "Configuring...",
which was not the actual state.
For readers waiting in select() or simply in read(),
B_SELECT_DISCONNECTED notification didn't wake them anymore.
Now, cascade notifications to be sure to wake them, either
on POLLHUP, POOLERR/B_SELECT_ERROR or, at worst, from read().
See #7859 for details.
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.