* Add reading/writing a yet unprotected flat BMessage as the storage
backend for the keys.
* Factor out the identifier based lookup logic into _FindKey() and use
that from _AddKey() to detect duplicates.
* Add _FindKey() variant that does the lookup based on given type and
purpose constraints.
* The keystore backend will (at least for the time being) reside in a
separate server. This one can be reached via normal messaging, so use
a BMessenger for sending key messages.
* Move the message constants from RegistrarDefs.h into a new
KeyStoreDefs.h that also contains the server signature.
* Update the message constants to reflect the new situation.
* Add all relevant message constants.
* Implement the messaging to send/retrieve key info.
* Implement _Flatten/_Unflatten for sending flat BKey objects.
* Remove application list from BKey, the key can't only differ by
allowed applications as the identifiers would still collide, so the
comparison isn't needed to uniquely identify the key. The applications
can be enumerated via the BKeyStore instead.
* Modified the API greatly to be based on BKey* instead of BPassword*.
* Added BKeyPurpose and used it instead of BKeyType. It is supposed to
indicate the purpose of a key so that an app can look up keys on a
more granular level. The BKeyType on the other hand actually
identifies the type (i.e. subclass of BKey) so an app knows how to
handle a given key or may only enumerate/use keys it is compatible
with.
* Made everything based on a raw data buffer for now, only BPasswordKey
is implemented yet which stores the (0 terminated) string into that
data buffer.
* Removed the additional data BMessage as I don't yet see where it fits
in. While I could imagine adding meta data to a key may be nice it
might be an interoperability concern when keys are shared by
different apps.
* Moved the app functions to the keystore as per the TODO, but not sure
how to actually implement them.
* Support downscaling icons to a size smaller than the source.
* For > 4x icon scaling do a scale4x followed by a bilinear scale.
Note that I tried to do a combination of scale2x/scale3x with bilinear scaling
and the results were worse than scale2x/scale3x with down scaling.
The 24x24 icon case looks pretty bad either using bilinear or scale2x followed
by a downscale because I am currently upscaling the 16x16 icon in Deskbar (we
didn't up until now support bitmap icon downscaling so I had no choice). It
might be a better idea to downscale the 32x32 version instead.
Note that all of the above has to do with bitmap icons ONLY and none of it
applies to HVIF icons that scale beautifully without these tricks.
Implemented a simple down sampling algorithm in the scale_down() function. For
non-integer scaling first scale up using the scale2x, scale3x, or scale4x
algorithm doubling, tripling, or quadrupling the icon then use the downscaling
algorithm to shrink to the desired size. This produces nicer looking results
than bilinear scaling alone.
Note that this only applies to bitmap-based BeOS icons and not vector-based
HVIF icons.
Removing this did not affect scrollbar arrow buttons, but made the
arrows disappear on the Deskbar.
Clearly, BControlLook cannot be changed without extensive testing.
Remove all code which checks for be_control_look being NULL.
Also fix the DrawArrowShape method in be_control_look so the arrow is aligned,
as per the previous commit. In addition the code to offset the arrow when the
scroll button is pressed was unnecessary.
There is still some room for improvement, and I am not happy with the
BControlLook behavior here, as noted in some TODOs.
The arrow symbol on the right and down buttons was off by one pixel.
Because of the resurrected FakeScrollbar in the Appearance preflet I had to
change this code in two places, which makes me unhappy. This needs to be pulled
into BControlLook.
Fixes#9104.
This allows MacDecorator to build once again.
Due to other errors, BeDecorator and WinDecorator do not (yet) fail on the
missing FreeType header -- hence it being only a comment for now.
* Centrino Advanced-N 6235
* Originally introduced in hrev44579
* Likely removed in last wlan driver sync
* Confirmed working 100%
* Upstream bug:
http://www.freebsd.org/cgi/query-pr.cgi?pr=173898
* Causes a regression in proper UNIPHY
mode setting.
* These encoder setup routines do not
get performed by any dpms stuff and
are required to put the encoder in the
correct state for programming.
* Resolves#8913 and maybe others
* Thanks Justin for testing!
Pass fTime into the IsHidden() method to check the hidden state from
the point of view of fTime which will ignore the hidden state. of the
window. Remove the Hide(), Show(), and IsHidden() overrides in
TimeView as they are no longer needed.
Thanks Stippi and Axel.
If the window is locked by the menu_tracking thread Deskbar will wait
on the sMonThread thread to exit forever so we have to kill it to
prevent a deadlock.
This is a workaround of a bigger problem, which is that fExpando gets
created and destroyed on each change which is slow allowing these kinds
of bugs to exist. The real solution is to live update fExpando but that
is a fair amount of work.
No functional change intended.
* Check for NULL fields in the beginning and return decreasing the
indent level of the rest of the method.
* Move some comments to next line indented
* Reduced the logic down and only use it where
possible.
* Remove the duplicate gpio pin check. While this
is a determining factor... i'd rather get it
right while detecting displays vs relying on
connector order in the ASIC. This gpio pin check
was also severely bugged (missing {}'s)
* Should fix#8913 and maybe others
No functional change intended.
I'd like to use the name "ColorWell" for a different type of
class eventually so I'm making room for it. ColorPreview is
arguably a better name for the class anyway.
Also did a style cleanup of the ColorWell => ColorPreview class at
the same time.
Bug #9469 happens because I set the showClock checkbox or not based on whether
or not the clock is currently hidden. This works most of the time, but if
Deskbar is hidden the clock is also considered to be hidden and that isn't what
I want in this case.
The solution is to override BView's Show(), Hide(), and IsHidden() methods
in TimeView to ignore whether or not the window is hidden when considering if
the clock is hidden.
The commit also deletes some no-longer-used private member variables of
TimeView.
Fixes#9469
With this commit every class in the storage kit is now documented
in the Haiku book!
Thanks to Ingo, Axel, Vincent Dominguez, Tyler Dauwalder, and
everyone who helped document these classes.
The size variable at this point is actually a page count.
The test should never be true anyway though. Maybe we should use a
pages variable for clarity?