Add a generic FileSender interface, which XModemSender implements. Add a
new RawSender which implements the same interface.
The RawSender currently blocks the application thread while sending,
which is not a good idea. Will rework this when I allow cancelling
transfers before they complete.
We had everything in place, except we never actually sent the command to
the device.
Note that the other drivers (prolific, etc) as well as pc_serial need to
be updated as well (might do it when I get access to hardware where I
can test the changes).
* Issue: A time_t value of say '12345678' results into different timestamps
in different timezones. So the expected output will not match the result of
BDateFormat::Format() if the calendar's timezone is different from the
timezone of the expected output, and the tests 'TestFormat' and
'TestCustomFormat' will fail.
* Fix: Add timezone information in the test cases and pass the timezone
while calling BDateFormat::Format() in order to set the calendar's
timezone same as that of the expected output.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
It can give results such as "in 2 hours", "2 days ago", etc.
This is different from BDurationFormat which will just say "1 hour, 2
minute and 36 seconds"
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.