Check if both strings are NULL before passing to strcmp().
It would be bad if view->Name() were NULL and we tried to dereference it.
Thanks Jérôme for noticing this.
Feature to make Deskbar width variable via a dragger.
Resize Deskbar by clicking and dragging the mouse on the
horizontal side of Deskbar opposite the screen's edge.
(left side for default top right).
The resize dragger is hidden in horizontal mode.
Details below:
* ExpandoMenuBar is resized with rest of window.
* Rename where to whereScreen to make it clear that the variable
is in screen coordinates.
* Lock focus on window while resizing
* Resize via TResizeControl class which is based on TDragRegion
* Set default width to minimum so everything stays the same.
- don't set the width setting to 0 on quit, use the new setting.
* Set max tray width based on setting
* Make clock area a bit wider preventing replicant icons from
overrunning the clock area.
* Leave more room left of clock makes replicants wrap earlier,
leaving icon gap width between replicants and clock. Before it
would butt flush against the clock before moving down a row.
* Remove FrameMoved from TDragRegion, we are already doing this
in BarView -- no reason to do it twice.
* Need to redraw the drag region after moving or it will be half
drawn.
* Hide resize control in horizontal mode
* Add room for resize dragger when placing replicants
* Update width setting unless window is hidden
- This prevents Deskbar from being set to minimum width after it
is hidden.
Also, constrain width setting within limits but not width of the
BarView which we want to track the window width. In practice they
should be the same but it is possible for them to get out of sync
and that's okay. Obvious example of the setting and actual width
of the window being out of sync is in the hidden case.
unify dragger width and kDragWidth vars
Make drag regions pixel perfect:
* Vertical mode status tray reduced in height by 1px to match height
in horizontal mode exactly.
* move icons over by 2px in horizontal mode so that there is a bit more space
on the left and so that it matches pixel perfect with vertical mode.
- to see this quickly switch between bottom right vertical at the minimum width
and horizontal mode then notice how the icons don't move
Draw drag background then menu color when not active to get rid of drawing
glitches in horizontal mode on the top pixel.
Add some more room between last icon and clock in horizontal mode.
* This also includes the package tool for easy use of installing
dependencies in a container.
* Pre-built docker images are also available at
https://hub.docker.com/r/haiku/cross-compiler/
Tool tip reads tab name or "New tab" for new tab, making it sometimes
appear that the close button would produce a new tab instead. Removing
the tooltip over the close button eliminates this confusion.
An alternative suggested in hrev45298 was to make the tool tip say
"Close tab" instead but some felt it unneccessary and so was reverted.
"A tool-tip for the close buttons is completely unnecessary. The
prevailing thought for items where the action is easy to grasp (or easy to
grasp upon clicking the first time), is that a tool tip is not necessary."
This method fixes the confusion w/o adding uneccessary clutter.
... to make variables available in outer scope,
eliminate now redundant nested if and reorder condition
variables to avoid function call in common case.
all prep for next commit...
* Bug fix around pll_external_set. We prepared all the args,
but never actually executed the AtomBIOS table.
* Add new AtomBIOS methods in Polaris to set external PLL
clock frequencies.
* Implement new 1.7 PLL set table on Polaris.
- Delete the introduction from the kits list page, as it is already
under locale_intro.
- Update the description in locale_intro.
- Since the locale kit now lives in libbe, delete the paragraph about
libraries from the intro, and move the still relevant part about
liblocalestub to the catalog translation macros description in
Catalog.dox.
* Previously, the cross-compiler would generate code that doesn't
run on Haiku, particularly where TLS is concerned. It also ended
up with a c++config.h header incompatible with the version in
the native compiler.
* Now possible to correctly cross-compile rust for Haiku.
* 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>