* 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?
* Remove docs from Resources.cpp (leaving the brief description).
* Reformat Resources.h to style it like so many other header files.
* There is one not-entirely style based change. I renamed the outSize
parameter or the LoadResource method to _size as is our convention for out
parameters.
So that the setting will persist across reboots. This is a Deskbar
setting, not a "clock" setting. Theoretically someday if we make
it so you can replace the clock with a different clock widget we
still want to store whether or not to show the clock widget as a
Deskbar setting.
Fixes#9456
* %T placeholder added into the set, available for customizing main
Terminal window title. It should be typically replaced by the
application name localized for the currect system locale.
* Use B_TRANSLATE instead of B_TRANSLATE_SYSTEM_NAME for the first
menu entry in the main TermWindow menu. The meaning of "Terminal"
term in this menu is the "Terminal session" but not the "Terminal
Application" so using separate catkeys entry for this menu item
avoids this inconsistency in Terminal UI localization;
* Fixes#7586
* Does not seem to work yet, though. The intel disk system should support it
now, but apparently the partition's delegate is not yet fully initialized
for whatever reason.
* additional check for empty attribute values introduced;
* implemented copy-ctor and assignment operator for MimeAttribute;
* added missed initialization of parameters in the "UserArgs"
MimeAttribute ctor;
* Fixes#9444.
Basically make the Tracker preferences window work like most other
windows do as far as workspaces go.
Opens on your current workspace. If you switch workspaces then go
into Deskbar and select Tracker Preferences it will switch to
the workspace that already has the window open. If you close the
window, switch workspaces and then select preferences it will move
the window to your current workspace and show it.
This is similar to the fix for the same problem on the Deskbar
preferences window and for the same reason: the window gets hidden
when you close it, not actually deleted so we need to do a bit more
work to get the window to behave with workspaces. Hiding instead of
deleting the window allows us to remember where you were when you
closed the window, what tab you were on, what control had focus, etc.
Fixes#8000
* Put the button on the left and label it with × to indicate close.
* Make the button just wide enough to fit the label. Tested with
font sizes 8pt to 18pt.
* Localized Label of the colors menu entry was used as the key
during loading corresponding color value from the preferences file.
It was obviously observed only on non-English locales;
* Fixes#7209#8256.
* Organize interface classes into directories
* Long term this will assist in the multi-head
interface / accelerant changes.
* local draws to the local hw accelerant
* remote draws to a remote connection (???)
* html5 draws to... an html5 canvas?
And clean it up a bit. Kept brief description in source.
* Also added Axel to authors in Path.dox and Path.cpp because his name
appears in git blame as working on the docs and code for the file.
I hope he doesn't mind.
* Delete the docs from NodeInfo.cpp and NodeInfo.h
* I snuck a couple of style fixes into NodeInfo.cpp
* I had to make a small modification to MimeType.dox to prevent it
from overriding the docs of one of the methods in NodeInfo.dox.
* The normal mouse mode now only uses the window that had focus last if that
window is one that does not support to be the front window (such as the
desktop).
* This should keep the logic of r41264 without the drawbacks (see #7280 for
more information).
* Added _WindowCanHaveFocus() method.
* This should fix#7630.
* Fixed headers including:
- All rights reserved not All Rights Reserved.
- name, email@domain.com not name <email@domain.com>
- tabs and spaces
- Authors: not Documented by:
* Renamed string.dox to String.dox
* Renamed midixxx.dox files to MidiXxx.dox
* Moved images into images subdirectories and updated Doxfile.
* Re-format all files with tabs instead of spaces.
* Fix many spelling mistakes.
* Added all files, classes, structs, and enums to libbe group.
* It uses size_for_string() to display all sizes which also fixes
using MiB for one, and MB for the other size string.
* It is no longer limited to 1M granularity by itself, but can have
arbitrary granularity as long as the number of possible values
remain smaller than 2^31.
* This means it can also handle values beyond 4TB now.
* The sizes that are set programmatically retain their full resolution.
* CreateParametersPanel still uses 1M granularity for now, though,
as we would otherwise need to be able to parse a size string with
a unit.
* Changed order of calling Init() vs. _CreateViewControls(). This
fixes bug #9422.
* The panel now hides (instead of disabling) the name or type control
if those aren't supported, anyway.
Resolves#6654. To note, AFAICT, this code block should never be executed.
However, I did feel comfortable removing it, in case the location of Trash
is relocated in the future.
* The user of an editor needed knowledge about the editor in order to make
use of it.
* Furthermore, the BPartitionParameterEditor exposed type specific
functionality that it shouldn't know anything about, either.
* We may now define a number of known parameters per editor type; right now
there is only "type" as it's needed by DriveSetup.
* Adapted all disk systems, and DriveSetup to the new API.
* Renamed CreateParamsPanel, and InitializeParamsPanel to *ParametersPanel
in DriveSetup.
* They now share a common base class AbstractParametersPanel.
* The default width will no longer make the parameters and partition type
columns visible.
* Fixed default size of those two columns -- I did not notice that the column
state was being restored before, and thought it would just be another oddity
of BColumnListView :-)
* Since MainWindow maintains its size pretty much itself, the constructor no
longer gets a BRect.
* The window will now also be resized vertically to make space for all the
partitions (only affects first launch without settings file).
* Also made the window a bit higher by default.
This fixes problem with B_MOUSE_DOWN messages produced by Thinkpad
TrackPoint buttons. Those messages have 'clicks' parameter always
equal to zero. Solution was suggested by korli. Thanks!
Fixes#8978
Signed-off-by: Siarzhuk Zharski <zharik@gmx.li>
...instead of the current workspace screen mode that we are switching from.
Fixes#9415
Also don't ignore the returned the status code when updating the screen mode.
key.first is a pointer, so we shouldn't use the & operator here.
CID 610870 and 610871.
Should also fix ticket #9184. At least I cannot reproduce it anymore.
* Original changes by Bill Randle
* Includes a large number of modifications
and cleanups.
* Add a "currentMode" to the gDisplay to
enable easier checking of intended changes.
(we pass the display_mode around quite a
bit, adding a "currentMode" allows code
to know the intended display mode being set
without passing the mode pointer around as
much)
* Instead of guessing whether or not to show the InitParamsPanel, the panel
will now no longer show itself if the disk system does not have an editor,
and silently succeed.
* This also fixed a potential crash if the editor could not be created for
some reason.
* Minor cleanup.