Once we've found the icon bail out with return. This is functionally
equivalent but is cleaner, decreases the indent level, and doesn't
require an extra variable.
If we can't find the generic 3 boxes icon we are really in trouble.
But, showing garbage is not the right answer. Instead, fill the
icon with transparent pixels. Tested all code paths. Hopefully this
code will never need to be executed.
* Rename kIconFormat to kIconColorSpace
Well this is embarrasing. If the app icon could not be found I wasn't
filling out anything so the bitmap was displaying random garbage.
Instead, if I can't find the icon, fill with the generic 3 boxes icon.
No reason to call GetTrackerIcon because I know that it is an
application and not some other MIME type.
AutoConfigLooper now remembers the last media state it received from the device,
and compares both to see if the active state actually changed. Should help with
quality changes where the link didn't actually drop. May also help on ethernet
if the chipset sends spurious link status change notifications.
* Rename RenderQueue to RingQueue to be more generic
* We will need two Ring Buffer types, one for
host -> gpu (render/cp data) and one gpu -> host (irq)
* Add header guard to ringqueue.h
* Things still may change as I work up to a bigger picture.
Change "Change time..." menu item in Deskbar clock contextual
menu to "Open time preferences..." because you can do a lot more
than just change the current time there.
* Add the gears_64.png resource to GLRendering.rdef
* Add GearsView.cpp and header
* Add to Jamfile
* Add a GearsView to the OpenGLView
* Make the default window width wider to fit the gears
This should be useful for SAM440 and SAM460 boards for example.
The generic U-Boot code still has some ARM-specific parts that must be moved out though.
* 12/24 hour settings come from and alter BLocale
* Time formats are short, medium, long. Short is default. Come from
Locale kit.
* Don't delete fClock (now fTime) when hiding, just hide and show
the view.
* BarView now has nothing to do with setting or keeping track of
time settings. This is all handled in TTimeView. TReplicantTray
is responsible for updating the replicant tray and doing showing
and hiding. TTimeView is responsible for drawing according to the
clock settings.
* Remove fShowInterval and fShowSeconds from BarView
* Remove ampmMode setting and replace it with timeFormat.
* Reset targets in DeskbarMenu.
Originally I was trying to solve a bug where the TTimeView
was relying on the Deskbar settings too much. The settings
should only by set on quit and accessed on startup or a crash can
cause Deskbar to be in an unusual state.
I realize that the timezone is not very helpful. I'd like to provide
the day of week in a short format instead, i.e. Wed for Wednesday or
similar based on your locale. Blame the Locale Kit for now allowing
me to be able to use a custom TimeFormat. Once a custom TimeFormats
becomes possible from the Locale Kit Deskbar can be updated to use
them.
Introduces a commandline option to specify the filename of the
temp_struct_filename, allowing the buildsystem to place it on the same volume
as HAIKU_OUTPUT_DIR. Fixes#6746.
Hiding in horizontal mode was leaving behind a white bar because the
window was getting hidden but the view not resized. Now fixed.
Moved simple state and member access function implementations from
BarView.cpp to BarView.h. Always use the local variable in BarView.cpp
to avoid a function call.
Rename Expando() to ExpandoState() and add FullState() and MiniState()
methods to BarView.h.
Call just PlaceApplicationBar() in vertical expando mode when resizing
icons. Call the full UpdatePlacement() in horizontal mode because I need
to update the height of the status tray when icons resize. Do not call
any method in MiniState because the icons will get resized when the
menu gets opened later.
The new bug I found is a little subtle. If you hide the clock by right
clicking on the clock and selecting Hide clock then quit deskbar with
'hey Deskbar QUIT' and restart Deskbar with 'Deskbar' the Show seconds
checkbox in the preference is disabled correctly, however, right clicking
Show Clock doesn't undisable the checkbox so you can no longer hide
seconds anymore. I'll fix this in a bit.
My recent changes to Deskbar to support different icon sizes
checks your settings file for an icon size setting and resizes
to that. Unfortunately if your existing settings file doesn't
have that setting it sets the icon size to 0. I followed the example
of other integer settings when I wrote the code, unfortunately
they were broken too so I copied an error. I have fixed that setting
and a couple others to use the reset back to default if the setting
is not found in your settings file.
When resizing Deskbar icons, delete the icon bitmap before rebuilding
it with a new icon, was leaking the bitmap.
For several actions including:
- Sorting running apps
- Setting Tracker first
- Showing/hiding application expander
- Expanding new applications
- Resizing icons
- Hiding and showing application names
It is not necessary to rebuild all of Deskbar, just rebuild the
application bar. Should also help but not complete fix Ticket #532.