History log of /haiku/src/apps/deskbar/BarApp.cpp
Revision Date Author Comments
# fb885767 04-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: Use hvif window icons & scale with font

Add vector rdefs for shown, hidden, shown switch
and hidden switch icons. Remove unused bitmap
resources. Add window switch vector icons to
artwork.

Create window icon cache in TBarApp and cache the
window icons based on font size.
Fixes memory leak in #18357.

Don't draw off-workspace lines in Switcher, use
switch icon for that instead. Fixes crash reported
in #18359. Position icon and window name better in
Switcher.

Put BarTeamInfo icon parameter last and make it
optional, the icon gets set by caching.

Enable team icon cache and window icon cache.

Fixes #14694

Deskbar: Scale Twitcher icons based on font size

Remove the point ctor parameter and deprecate the
switcherLoc setting by not using or setting it and
leaving it at its default value.

Center window on screen resolution change and
workspace change (as resolution may not match).

Fixes #17924

Change-Id: Ib63cc307f14cda397ffb66ea74091be59e6e5535
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6335
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 9da3977c 05-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: Rename IconSize() to TeamIconSize()

Change-Id: Id536bacd60334cd167051a785e7fff819359aacf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6412
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 69bbd7ad 05-May-2023 John Scipione <jscipione@gmail.com>

Deskbar: style fixes only

Change-Id: Ia5a94ded518a9b55aac94a69bcd393338bf90ebc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6411
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 6781d35f 31-Mar-2023 John Scipione <jscipione@gmail.com>

Deskbar: Removed Utilities.h include from BarApp

There is no Utilities.h in Deskbar

Change-Id: If31a8eb0d36a62c9402c9d46e16891874e2d1aa2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6268
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Tested-by: Automation <automation@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# fac73deb 29-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Deskbar: Compute basic metrics earlier, in TBarApp::InitSettings().

This way we know the minimum and maximum window width earlier
and consumers of them do not come up with "0" incorrectly.

Fixes #17890.


# 1e0308a8 25-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Deskbar: Use BControlLook::ComposeIconSize() and other metrics routines.

This gets Deskbar looking somewhat more like its usual self in HiDPI
environments. There are still some hardcoded sizes which need to be
refactored, however.


# 4ba0a2f8 12-Apr-2020 Augustin Cavalier <waddlesplash@gmail.com>

Deskbar: Enable "Tracker always first" by default.

This received 84% on the forums, so it seems pretty uncontroversial
to enable it by default.

No other option received 70% or more, so I'll leave Humdinger to
decide what the other changes to the defaults should be based
on whatever threshold is decided upon...


# efafab64 02-Nov-2018 Axel Dörfler <axeld@pinc-software.de>

Deskbar: Resizable tray

* Adds max width and height arguments to
instantiate_deskbar_(item|entry).
* Old applications just stay with a 16x16 scaled icon, though.
* All used apps within the repository are converted to the new call
besides the input_server input method icon (that will need further
API changes in the input_server).

Change-Id: I29cc439396917be2c24135888459d31364997dff
Reviewed-on: https://review.haiku-os.org/656
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 5fd3bc6d 03-Nov-2018 Axel Dörfler <axeld@pinc-software.de>

BDeskbar: Moved constants to shared header

* Instead of duplicating them in different files.


# fc23c097 26-Nov-2017 John Scipione <jscipione@gmail.com>

BDeskbar & Deskbar: export window bool settings to BDeskbar

Add methods to get and set "Always on top", "Auto raise", and "auto hide"
which are all booleans which control aspects of the Deskbar window to
BDeskbar.

Set the bool to the default value initially. Check if sending the
message succeeds, if so check the reply which also fills out the bool.
Don't check to see if reply succeeded because the bool will only be
overwritten if it did.

Follow the BDeskbar convention Is...() for getter, Set...() for setter
e.g IsAlwaysOnTop() is the getter, SetAlwaysOnTop() is the setter.

Define new message constants to call the newly created methods.
Follow BDeskbar convention: 'gtla' is used for getter, 'stla' for setter.
g/s for getter/setter, tla is an all-lowercase code unique to each
getter/setter pair.

Copy/paste these message constants into BarApp.h unchanged. Replace four
letter codes with imported message constants in BarApp.cpp and
BarWindow.cpp. Much nicer than using bare codes.

The new BDeskbar methods are all handled by TBarApp. The getters send
back a reply message containing the bool while the setters fall through
to existing setter cases.


# c0dc265c 19-Oct-2017 John Scipione <jscipione@gmail.com>

Deskbar & PowerStatus: Realign Replicants

Added a new message constant to Deskbar kRealignReplicants which
is called to realign replicant icons. Add routing so that if you knock on
Deskbar's front door (Application) it will get routed to the right view, in
this case the repliant tray that knows how to realign replicants.

Send a message with this newly created constant in PowerStatus when
the width changes because you turned the label on or off. This makes
it so that when you show or hide the battery percentage it will not overrun
the clock.

Realign Replicants is a common case.

Fixes the rest of #8641


# c3c3360f 19-Oct-2017 John Scipione <jscipione@gmail.com>

Deskbar and PowerStatus: style updates

80 char limit in BarApp.cpp
2 newlines and remove unnecessary curly braces in StatusView.cpp

Replicant: tiny whitespace style fix and remove trailing tab chars


# ff8f17e7 12-Sep-2017 John Scipione <jscipione@gmail.com>

Deskbar: minor style fix

minor whitespace fix in ExpandoMenuBar


# e4cb43d5 11-Sep-2017 John Scipione <jscipione@gmail.com>

Deskbar: constrain width setting within limits

... on settings load. This will prevent 0 in the width setting from setting
Deskbar's width to 0.

This should make the Desktop appear again.


# 1bb2e623 01-Mar-2013 John Scipione <jscipione@gmail.com>

Deskbar: variable width Deskbar in vertical mode

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.


# b1967b10 09-Jan-2017 John Scipione <jscipione@gmail.com>

Revert "Deskbar: Scale cut-off leaf icon in horizontal mode"

This reverts commit 066137eb05fc965261d6e50f24e41b9dcf79a5a7.

Reverting while I figure out what is causing Deskbar to crash.


# 066137eb 07-Jan-2017 John Scipione <jscipione@gmail.com>

Deskbar: Scale cut-off leaf icon in horizontal mode

Fixes #8505 restoring the aesthetic integrity of the cut-off leaf.

Add vertically & horizontally centered, whole vector icon to rdef.

Reformat BarMenuTitle.h rename header guard from BARMENUTITLEH to
BAR_MENU_TITLE_H.

Created TDeskbarMenuTitle subclass which deals with Deskbar menu
item stuff like getting the icon from vector data and pushing the
leaf down a few pixels to cut off the leaf (maintaining its aesthetic
integrity).

Made TBarMenuTitle methods virtual. Remove unused expando constructor
parameter and private variable.

Add a TODO to scale the bitmap if we can't find any vector icon data.
With non-vector bitmap it behaves same as before this commit in
horizontal mode.

Adjust kMinimumTrayWidth to restore Deskbar's minimum width to its
classic value since days of yore, 143px. This, perhaps not coincidently,
is exactly the amount fit 7 replicant icons. Update constants in the
code to reflect this reality. Adjustable width coming soon.

replace dynamic_cast<TBarApp*>(be_app) with a static_cast in 1 place.


# c2507fb8 22-Aug-2016 John Scipione <jscipione@gmail.com>

Deskbar: get default collator from BLocale

...using BLocale::Default()->GetCollator(&collator)

Thanks waddlesplash


# bd6dcb36 22-Aug-2016 0xffea <0xffea@gmail.com>

Deskbar: item sorting is not locale-sensitive

Fix using a global BCollator defined in BarApp.

Called static CompareByName() method in TTeamMenu instead of
duplicating code, made method public.

This comes from a patch by 0xffea for GSoC 2014.

A locale aware version of NaturalCompare in WindowMenuItem.cpp
is still needed.

Fixes #7712

Signed-off-by: John Scipione <jscipione@gmail.com>


# 4f39c588 11-Jan-2016 Augustin Cavalier <waddlesplash@gmail.com>

Deskbar: Get rid of the "Restart Tracker" menu item.

Now that launch_daemon automatically restarts Tracker and Deskbar
when they crash, this is not needed anymore.


# 4e8fc451 19-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

Deskbar: converted to BServer.


# 039f5926 03-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker, Deskbar, ShowImage: move public commands

... to tracker_private.h so they may be used by external apps
such as Deskbar and ShowImage. Remove PublicCommands.h


# deaae5fc 07-Jan-2014 John Scipione <jscipione@gmail.com>

Deskbar: Persist ExpandoMenuBar

Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar
as a friend class in BMenu to call this method. A little hacky,
but, this keeps SetMenuLayout() from being exposed as part of
the public API.

Don't destroy and rebuild the ExpandoMenuBar when switching from
horizontal to vertical mode. Instead build the TExpandoMenuBar
when the application starts and then switch it from B_ITEMS_IN_ROW
to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout()
method.

When we resize from vertical to horizontal, recalc the max
menu item widths, this resizes the application menu items so
that they take up the right amount of space.

Since we no longer destroy the menu bar we no longer have to
save whether menu items are expanded or not in a separate list.
Instead we can store that information in directly in
TExpandoMenuBar. This removes a lot of code.

Fixes #9350


# 9f339a00 06-Jan-2014 John Scipione <jscipione@gmail.com>

Deskbar: Style fixes only


# 3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# ba03d61b 02-Aug-2013 Philippe Saint-Pierre <stpere@gmail.com>

DeskBar: use the prepared transparent icon when necessary

In the odd case where there is no icon for an app, and the generic
3 boxes icon is also unavailable/removed, Deskbar now properly draws
the transparent icon that was prepared, but not used (and leaked).


# 26ea7066 29-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Deskbar: use a virtual directory for the user-configurable menu

* Deskbar now uses ~/config/settings/deskbar/menu_entries for its menu,
falling back to /system/data/deskbar/menu_entries, when the former
doesn't exist. The latter always exists and is a virtual directory
merging the deskbar/menu subdirectories of ~/config/settings/ and
<any installation location>/data/. So, if a package provides a
deskbar menu symlink, it is added automatically when the package is
activated. The user can add own menu items by putting stuff into
~/config/settings/deskbar/menu/, only use their own organization by
symlinking it to menu_entries, or do fun stuff by making menu_entries
a customized virtual directory.
* HaikuImage: No longer create any deskbar menu symlinks in the user's
settings directory. Instead add them to the Haiku package.
* OptionalPackages: At least for the optional packages that do have
hpkgs, no longer create deskbar menu symlinks in the user's settings
directory.
* Move all Deskbar settings files to ~/config/settings/deskbar/ and
drop the "Deskbar_" prefix.


# 807ea4da 17-Apr-2013 John Scipione <jscipione@gmail.com>

Rename sig variable to signature in BarApp


# ab37997c 17-Apr-2013 John Scipione <jscipione@gmail.com>

Style fix and comment update


# 753d86ac 14-Apr-2013 John Scipione <jscipione@gmail.com>

Need to SaveExpandedState() before rebuilding items.

Also, if mini-mode we can skip updating the view because it doesn't get drawn
until you click the TeamMenu expander.


# 5d6f247b 14-Apr-2013 John Scipione <jscipione@gmail.com>

Reverse loop to eliminate checking count each iteration


# 9439677a 14-Apr-2013 John Scipione <jscipione@gmail.com>

Check if icon size is the same, if so, don't resize


# ee78e4de 13-Apr-2013 John Scipione <jscipione@gmail.com>

Convert state variable from a uint32 to an int32


# b54536b2 13-Apr-2013 John Scipione <jscipione@gmail.com>

Don't need to check if Lock() succeeded here, I don't anywhere else.


# fe624b39 13-Apr-2013 John Scipione <jscipione@gmail.com>

Style fixes only

Most indentation and newlines with a few comment updates


# 10a5b694 13-Apr-2013 John Scipione <jscipione@gmail.com>

Remove unneeded includes


# 542de916 06-Apr-2013 John Scipione <jscipione@gmail.com>

Add and use an _Init() method for BarTeamInfo


# e13f5676 27-Mar-2013 John Scipione <jscipione@gmail.com>

Cache app icons in BarInfo to make them load faster.

This turns an IO bound problem into a CPU bound problem. In my testing this
speeds up icon resizing dramatically although the CPU is quickly pegged at
100% trying to redraw the Deskbar if you whip the icon size slider back and
forth with a dozen or so apps open and soon the CPU can't keep up and Deskbar
lags behind.


# 53ec5d1f 11-Mar-2013 John Scipione <jscipione@gmail.com>

Rebuild application menu bar less. Fixes #8539 (I hope)

Instead of destroying and rebuilding the application menu bar each time we
change state, create it at startup and then only update it from there on. This
means that bugs that rely on the app bar being constantly destroyed and rebuilt
will be much less likely to occur.

Unfortunatly, there is still one case where the application menu bar is being
destroyed and recreated and that is when you are switching between horizontal
and vertical mode, and that is because a menu bar cannot be altered from
B_ITEMS_IN_ROWS to B_ITEMS_IN_COLUMNS anywhere but in the constructor.

* Renamed fExpando to fExpandoMenuBar
* Updated TExpandoMenuBar to be more flexible after construction, the menu
items are built in the new BuildItems() method. Also, don't pass the BarView
object in at contruction, that can happen in AttachedToWindow(). Also, set
fDeskbarMenuWidth just once at constructor, no reason to keep setting it over and over again.


# cf7c89ff 18-Mar-2013 John Scipione <jscipione@gmail.com>

Use the new Get* BMessage methods to simplify code.

Thanks Axel!


# c0778509 16-Mar-2013 John Scipione <jscipione@gmail.com>

Copy pasta error, double checked this time


# 4c45b1d9 16-Mar-2013 John Scipione <jscipione@gmail.com>

Perform settings checking again partially reverting 43917ef.

Also storedSettings to prefs as it is shorter, easier to read the code.


# 5bfc9c70 12-Mar-2013 John Scipione <jscipione@gmail.com>

Save and load prefs window position to and from a file.


# 43917ef2 08-Mar-2013 John Scipione <jscipione@gmail.com>

Refactor settings so that defaults get set in 1 place.

* Move desk_settings and clock_settings struct to a new header entitled
'BarSettings.h' so it can be included in BarApp.h and PreferencesWindow.h.
* Refactor desk_settings to only include used, or at least relevant settings,
some cruft had built up over time.
* Refactor the InitSettings() method, all the B_OK checking wasn't working so
I removed it. Defaults get set up to and if the corresponding setting is
found in the settings file it is replaced, else, it is not.
* Reorder the struct and code so it goes in the order that the settings appear:
applications, then recent items, then window settings.
* Simplify the preferences window revert and defaults code based on using the
prebuild desk_settings structs in BarApp instead of creating our own and
copying. All initial setup is in the constructor.


# cb422386 08-Mar-2013 John Scipione <jscipione@gmail.com>

Destroy prefs window on close once again


# cb0602cf 06-Mar-2013 John Scipione <jscipione@gmail.com>

Implement Revert and Default buttons in Deskbar prefs


# 3722e640 13-Feb-2013 John Scipione <jscipione@gmail.com>

Store and read show/hide clock setting on disk.

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


# eed38dfa 31-Dec-2012 Murai Takashi <tmurai01@gmail.com>

Fix initializing fClockSettingFile.

Signed-off-by: Rene Gollent <anevilyak@gmail.com>


# 7ff146fd 21-Dec-2012 John Scipione <jscipione@gmail.com>

On second thought, don't delete fPreferenecesWindow here


# 879fe42c 21-Dec-2012 John Scipione <jscipione@gmail.com>

Refactor Deskbar preferences window.

* Remove locking from Prefs window QuitRequested(), thanks Axel.
* Remove kConfigClose message, no longer needed since window sticks
around and is hidden on close instead of being deleted.
* delete fPreferencesWindow on BarApp QuitRequested() so it will
remove the memory used by preference window when Deskbar quits.


# ee70bd8b 20-Dec-2012 John Scipione <jscipione@gmail.com>

Hide and show Deskbar preference window

... instead of destroying and creating it each time.

This is taking another page from Tracker's book. It allows the prefs
window to maintain it's current state as long as the application
remains open. Since both Tracker and Deskbar are meant to always be
open this means that the state is kept all the time unless the app
crashes, quite useful.


# 31c0024d 07-Nov-2012 John Scipione <jscipione@gmail.com>

Add Deskbar clock settings to Time Preferences

* Added a new Clock tab to the Time preflet. Added Clock related
controls there. They all function by communicating with Deskbar.
* Put controls in a BBox controlled by the Show clock checkbox.
This more clearly shows that all the clock settings are dependent
on the show clock setting since it doesn't matter what your clock
settings are if you don't show the clock.
* Make revert work.
* Split clock settings into it's own file and struct.
* Re-add the time zone setting.
* Remove the clock settings from the Deskbar preference window, they
are in Time now.
* Make Locale preferences accepts B_LOCALE_CHANGED message, although
not used.


# eb89cc6b 19-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Deskbar: You know, we should actually use the translated name.

If this ever worked before, I don't know how.


# e9632898 09-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Added Tracker and Deskbar to x86_64 build.


# 1510ac00 28-Jul-2012 John Scipione <jscipione@gmail.com>

Refactor icon scaling, fix off-by-one error.

Refactor the icon scaling code in IconUtils.cpp to avoid code
duplication. Basically create and delete the temp bitmap to
convert from B_CMAP8 to B_RGBA32 for scale2x/scale3x/scale4x
just one time instead of 3.

There was an off-by-one error in Deskbar which was causing
it to scale up the 16x16 Bitmap icon to 32x32 instead of just
using the 32x32 icon. This only affected BeOS bitmap-based
icons, not Haiku HVIF icons.


# a663e905 16-Jun-2012 Rene Gollent <anevilyak@gmail.com>

Fix #8640.

- Automatic whitespace cleanup.
- Remove no longer exposed show/hide time setting. The methodology for
saving it on exit was broken anyways, since it relied on the current
show/hide state of the time view, which would be hidden if the deskbar
was currently in Autohide mode.


# 22812ba2 05-May-2012 Rene Gollent <anevilyak@gmail.com>

Fix ticket #8497.

- Rework Deskbar's handling for the autoraise/autohide cases to not
need event masks. This prevents various problems that would occur
if one happened to be working in another window that overlapped part
of Deskbar, as reported in #8497. Instead, we now use a message filter
to redirect the messages as needed.


# 9ac6fee1 18-Apr-2012 John Scipione <jscipione@gmail.com>

Rename "deskbar_rt_" back to "Status".

Siarzhuk Zharski informed me that KeymapSwitcher depends on this
view being named "Status" to work, so, renamed it back to that.

Instead of sending the message by name to the replicant tray view,
since the view name "Status" is not very unique and I fear that
there could be collisions, resend the message to BarView which
then passes the message on to the replicant tray which updates the
clock and reflows the icons.

This being said, KeymapSwitcher should probably not send a message
hardcoded to the name of the replicant tray view and instead send
the message to Deskbar and allow it to pass the message on to the
appropriate view.


# f5be13ec 17-Apr-2012 John Scipione <jscipione@gmail.com>

Remove time zone clock option and Time preferences button.

* Nobody thought time zone was a particularly useful option to have
in the clock.
* You can still open Time preferences from Deskbar by right clicking
on the clock, but, since there isn't a big connection between
the clock settings in Deskbar and Time preferences anymore
this button isn't needed here.
* There are still 2 clock options, Show seconds, and Show day of week
and day of week is localized as well so this wasn't a total wash.


# 0d2ac94c 17-Apr-2012 John Scipione <jscipione@gmail.com>

Rename the TReplicantTray view "_deskbar_rt_"

instead of "_replicant_tray_". That follows the convention a bit
better and is less likely to cause name collisions. While I am at
it put the BView line below the : as is our usual convention.


# 30a55802 17-Apr-2012 John Scipione <jscipione@gmail.com>

Remove Time Interval radio buttons from Deskbar Prefs.

* 12/24 hour clock is set from the Locale prefs only.
* Redirect B_LOCALE_CHANGED message to the replicant tray instead
of the time view and tell the replicant tray to update the time
instead of updating the time view directly. This is because there
was a bug where if the AM/PM marker grew the time view over the
replicant tray icons when switching from 24 hour to 12 hour clock
it wouldn't reflow the replicant tray icons like it should.
* Rename the replicant tray view from "Status" to "_replicant_tray_"
because BarApp uses FindView() to get the view by name and I'm
assuming that this method can have conflicts. Following the example
of the "_deskbar_tv_" naming convention.


# b932a5a4 15-Apr-2012 John Scipione <jscipione@gmail.com>

Fix bug #8004

Dragging the Deskbar with CTRL+ALT+mouse not possible with
Auto-raise and Auto-hide disabled.

The reason this only worked with auto-raise or auto-hide enabled
is because the EventMask on BarView was only set to received mouse
events when those were settings were enabled. Apparently someone
figured this out. So, to fix this bug I set BarView to always
accept mouse events. Doesn't appear to have any obvious negative
consequences. Auto-hide and auto-raise still work.

I also added a comment in BarWindow::MenusBeginning(). It is
setting the EventMask of BarView to 0 and then back again in
TBarWindow::MenusEnded() to get around a bug in BeOS (according
to the comment anyway). I took out those lines and didn't notice
anything different so I assume that whatever the bug was it is
fixed and now and we can take those lines out permenantly.


# 3cf2d117 14-Apr-2012 John Scipione <jscipione@gmail.com>

Change Time Format Options in Deskbar preferences.

Added two new methods to the Locale Kit in order to create a custom time
formats from a format string. One method is outputs into a char* array,
the other into a BString() and you can set the timezone.

These methods should be cleaned up, we only need 2, one to get
the time in a predefined style, the other to get a custom time format.
Also should probably do the same for dates and datetimes. But I'll let
this go for now.

I added myself to the Locale.cpp file. I retained the copyright instead
of assigning it to Haiku, Inc. because the file is under the OpenBeOS
license and I don't know what the concequences of copyright sharing are
for that license, unlike MIT.

These new methods are used to generate custom time formats in Deskbar.
Instead of using a set of Radio Buttons to choose between the predefined
time options I build my own by creating a format string and passing it
to the Locale Kit. The format string is generated from 3 checkboxes,
show seconds, show day of week, and show time zone. You can mix and match
between them choose any that you like. By default they are all off.

There are 3 new deskbar settings associated with these new options:
showSeconds, showDayOfWeek, and showTimeZone. timeFormat has gone away.

The time format string gets cached and updated only when Update() gets called
on the TimeView class.

In order to fit all the options in (there is 1 more than before) I had to
reduce the font size of the clock to 11pt when all options are turned on in
12 hour mode. For those with no imagination it looks like this:

http://imagebin.org/208162

Renamed "Open time preferences..." menuitem to "Time preferences...".
Renamed "Show Time" and "Hide Time" to "Show time" and "Hide time".

Other changes include refactoring the header files a bit. There were a lot
of headers included by header files uneccessarily. For instance BarWindow.h
now only includes <Window.h> and <Deskbar.h>. This change is mainly to
to speed up the compile time since it takes a while right now.

I copy the fBarView pointer from BarWindow in the BarApp constructor and then
use that throughout the file rather than getting the pointer from the window
each time by calling BarView(). BarView() is still available in the header
for other classes though.

I moved some message constants around since it was getting a bit jumbled.
Most of the messages related to settings are in PreferenceWindow.h.
fChangeState is moved to BarView.h since that is where the ChangeState()
function is and BarView.cpp uses that constant.

The time interval and format constants are in TimeView.h.

Make some methods public in their respective classes where it made sense.
The preference window methods to update dependent items are public, that
might get called from BarWindow when a message gets received at some point.

Also made ShowHideTime() and Time() public in StatusView.h. These methods
activate showing and hiding the clock and return the fTime clock object.
No reason they should be private.

I reindented the StatusView.h and PreferenceWindow.h headers to the standard
style. Question here, are the public: protected: and private: lines inside
of classes suppose to get indented 1 tab or not? I've seen both, the style
guide says no indent but 1 indent seems reasonable and looks pretty good.

Style fixes here and there. That's enough for one commit I think.


# e5c6459e 11-Apr-2012 John Scipione <jscipione@gmail.com>

Refactor the FetchAppIcon() method.

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.


# a4d1d8cc 11-Apr-2012 John Scipione <jscipione@gmail.com>

Another tiny style fix, sorry guys.


# 20f438f9 11-Apr-2012 John Scipione <jscipione@gmail.com>

Tiny style fix


# 1a9e9599 11-Apr-2012 John Scipione <jscipione@gmail.com>

If can't find generic 3 boxes icon, fill with transparent.

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


# b97545d7 11-Apr-2012 John Scipione <jscipione@gmail.com>

If you can't find an app's icon, get the generic 3 boxes icon.

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.


# e6cafb1a 11-Apr-2012 John Scipione <jscipione@gmail.com>

Fix a few more style issues.


# 25dba9f1 11-Apr-2012 John Scipione <jscipione@gmail.com>

Fix another instance of < B_OK vs != B_OK


# f454574f 11-Apr-2012 John Scipione <jscipione@gmail.com>

Fix style issues Axel brought up.


# 573f748c 09-Apr-2012 John Scipione <jscipione@gmail.com>

Add 12/24 hour and time formatting options to Deskbar.

* 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.


# d0a49328 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fix a few more bugs in Deskbar, find a new one too.

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.


# 8ff49ae3 07-Apr-2012 John Scipione <jscipione@gmail.com>

Use != B_OK, not < B_OK to indicate an error.

Apparently error codes are allowed to be positive.


# c7bb0d08 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fix the rest of the settings


# e73a0370 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fixes a bug in Deskbar not using default icon size

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.


# 363a49a6 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fix memory leak and an optimization in Deskbar

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.


# 2ce9bab8 27-Jun-2011 John Scipione <jscipione@gmail.com>

Fisher Price Deskbar icon support

Implements the feature described in #7132
Also fixes #2387 (menu items too big in horizontal mode when font size > 12)

Adds a slider to Deskbar preferences which allows you to resize your Deskbar
team icons from 16x16 to 96x96. The default is 16x16. This works both in vertical
and horizontal mode.

In vertical mode when icon sizes are greater than 32x32 the label moves
underneath the icon where there is more room. In horizontal mode the width of
the menu item increases to make room for the icon while keeping room for the
label the same. As many applications are added the labels are truncated as usual.

This patch also adds a checkbox to the Deskbar preferences to hide application
names to make more room for icons if you wish. It doesn't make a lot of sense
at 16x16 but does >32x32.

If the kResizeTeamIcons message gets dropped, don't resize to current value,
just do nothing. This fixes a bug where sometimes the slider wouldn't trigger
a resize. Fix a spelling error in a comment. Take out a redundant paren pair.


# e1aba792 23-Feb-2012 Oliver Tappe <zooey@hirschkaefer.de>

Activate locale settings in Deskbar & Time preflet.

* Both Deskbar and Time are using BCalendarView, which in turn uses
DateTime, which uses strftime() to generate month/day names. Of
course, this doesn't work as intended unless the locale has been
initialized.


# 323b6546 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 001f3799 01-Nov-2011 John Scipione <jscipione@gmail.com>

This commit fixes a bug described in ticket #7051 where Deskbar forgets expanded
items when you switch away from expando mode. It does this by keeping a list of
expanded item signatures in a fExpandedItems BList on the BarView class. I
can't use team_id because there can be more than one team per application.

If you have checked the 'Expand new applications' option in the Deskbar
preferences then the signatures of new applications will be added to the
fExpandedItems list expanding the item. If you open a new application while
not in expando mode then the app will be expanded upon returning to expando
mode.

Since 'Expand new applications' automatically adds any new item's signature
to the fExpandedItems list Tracker is expanded on startup since it is 'new'.
Also if Deskbar is restarted all applications will be considered 'new' so they
are expanded. This fixes ticket #4830

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43092 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3dfd9cb9 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# e2700599 06-Jul-2011 Axel Dörfler <axeld@pinc-software.de>

* Applied a patch of x-ist that implements auto hide functionality with minor
coding style changes by myself.
* Thanks, and sorry for the long delay!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42383 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ee6a2e55 27-Mar-2011 Jonas Sundström <jonas@kirilla.com>

* Extend the Model class with a method bool HasLocalizedName().
* Disallow renaming of entries with localized names for now - this is meant to be temporary - and so far only in Tracker's Info window. Renames do not result in a change, visually, as the localized name hides the real name, and results in a bad user experience. One could possibly allow renames of the localized name, writing it back to the catalog. I've experimented with using BCatalogAddOn::SetString() but haven't been able to make it stick yet.
* Disallow renaming Trash in Tracker's Info window via Command-E.
* Adjust the argument order of BLocaleRoster::GetLocalizedFileName().
* Add a BLocaleRoster::GetLocalizedFileName() variant to look up another app's name given its signature and unlocalized, canonical name.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f477364 21-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Make BLocaleRoster::GetLocalizedFileName() take a const entry_ref& rather than a non-const entry_ref&. Remove private GetLocalizedFileName() from libtracker and make Tracker and Deskbar use the one in BLocaleRoster.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41075 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ed7ee7a4 11-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Localization support for filesystem entries in Tracker and Deskbar (leaf menu). (It appears to work, but is likely incomplete and quite possibly incorrect.) Fix issue with RosterData::Refresh() resulting in a B_LOCALE_CHANGED broadcast, and Deskbar looping. Add a global boolean gLocalizedNamePreferred to avoid calling BLocaleRoster::Default()->IsFilesystemTranslationPreferred() too often from Model instances. Following Tracker code style in libtracker, so as to not mix in too much clean-up.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40922 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07cffb47 11-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Introducing a Locale option to display localized filesystem entries (primarily apps and folders) in Deskbar, Tracker, etc. Making use of this in Deskbar's list of apps. The option currently defaults to off, to avoid exposing everyone to unfinished work.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40918 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62a78b35 05-Mar-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Style cleanup patches by John Scipione from bug 7052. (Modified header to have consistent style).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40814 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f5c0a997 03-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Support for showing localized app entries in Deskbar. Just the app entries so far, and not yet the items in the leaf menu. Please review.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40796 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 38bda653 30-Jan-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Patch by John Scipione:
"Show Application Expander" and "Expand New Applications" in the Deskbar preferences only work in Expando mode, however, this is not communicated to the user. This ticket contains a patch which disables these options in the preference window when not in expando mode and re-enables them in expando mode.
This fixes ticket #7177.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40326 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25dc253d 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 38ac8def 01-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Largish cleanup sweep concerning the Locale Kit (sorry it got so big):
* refactored private/mutable stuff out of LocaleRoster into MutableLocaleRoster
* moved management of Locale/Time settings file and broadcasting of any changes
out of preflets and into MutableLocaleRoster
* added proper sorting to the listviews of the Locale preflet
* the Time preflet no longer overlaps long timezone names into the actual time
* several fixes with respect to leaking ICU objects, esp. in BCountry
* the locale roster no longer passes out references to its own BCountry object,
but uses copies, instead - this makes locking superfluous, as the clients'
BCountry objects can no longer be changed by the setting a new default
country in the locale roster
* removed pretty useless POSIX-style symbol fetching from BCountry - if we
need that at all, it should live in the dedicated formatter classes
* adjusted readonlybootprompt, dstcheck and Deskbar to the changed Locale API
* refactored existing Time-formatter into TimeUnitFormat and DurationFormat
(the latter of which is now used by AboutSystem)
* added stubs for Date, DateTime and Time formatters
* lots of coding style fixes throughout the Locale Kit and the Locale and Time
preflets
This will probably break most external apps making use of the Locale Kit - it
does break WebPositive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37831 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab58e877 22-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Notify the TimeView in Deskbar when a locale change occurs, so it can update its size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37677 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9a78a691 21-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Locale Roster : add a function to update the settings from a BMessage
* Locale preference : send such a message broadcast to all applications when the settings are changed
* Deskbar : receive the message and forward it to the locale roster. This way the time display on the deskbar changes as
soon as you close the locale preflet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37663 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4191361 07-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Deskbar now uses a BMessage for storing its settings, instead of the old
raw file. Sorry, but You'll have to reconfigure your deskar to
accomodate this!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37420 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f0eb7b1 02-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Introduce a new method in BCountry to get the first day of week (monday or sunday)
* Localize date in deskbar properly, and use the new API to show the calendar. The "show european date" checkbox is now gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8fa2fb 02-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
* readonlybootprompt will no longer update the locale settings : the
method used messed with internal undocumented things
* external localized apps (webpositive for example) will not run
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3fc995d1 24-Jun-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Deskbar now uses localized time from locale kit. Thus the "24 hour
clock" setting is not needed anymore.
* The locale kit now provide a less complete 'full' time format : hour
minutes seconds, I don't think anyone cares much about the "UTC + 1" or
other similar stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37243 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae7a6e3a 10-Apr-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Patch by mt (ticket #5573) : localize deskbar. Thanks !


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2a68969 10-Mar-2010 Jonas Sundström <jonas@kirilla.com>

Adding menu item Restart Tracker, to be shown when Tracker isn't running.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35805 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0599fd4 05-Feb-2010 Rene Gollent <anevilyak@gmail.com>

Use synchronous launch. This isn't generally an issue in Deskbar since we only launch one thing at a time anyways. Fixes being unable to launch things from Deskbar if Tracker wasn't running.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35417 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 481a903a 30-Jan-2010 Philippe Saint-Pierre <stpere@gmail.com>

DeskBar: Adds a new setting (called ...Enabled) to determine if we show a particular Recent Menu.

* the previous behaviour was to consider it enabled if the count was above 0, and disabled otherwise.
* the new behaviour is to consider it disabled if the count is 0, but also allows to disable it by unchecking the box in the pref window, without setting the count to 0 (losing its value).

Fixes ticket #5007.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35355 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 71bd3ba5 30-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Removing ifdefs and code for non-Haiku build targets. Partial clean-up. Enforcing the 80-char limit, renaming constants, newline at end of file.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33377 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cb2cbf1 30-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Clean-up.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33372 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 290c9039 29-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Partial clean-up. Asterisks and k-prefix constants.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33366 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21f3e082 29-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Moving Deskbar options to a dedicated preferences window. Adding a preference application that simply tells Deskbar to open that window. Adjusting default settings Recent Folders from off to 10, and Auto-raise from on to off.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33363 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 010647e6 10-Aug-2009 Joachim Seemer <humdingerb@googlemail.com>

Renamed 'Configure Leaf Menu...' to 'Configure Deskbar Menu...'

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32220 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 277ddffe 12-May-2009 Axel Dörfler <axeld@pinc-software.de>

* When activating the "Shutdown" menu (instead of one of its items), we now
get the old shutdown dialog back, but with the additional option to reboot
instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb048d75 30-Apr-2009 Jonas Sundström <jonas@kirilla.com>

Move Deskbar Restart and Shutdown options into a submenu and ask Registrar not to question the user's intent.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30512 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3534ce57 18-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

malloc.h ain't no standard header. Small style change.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27610 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c2831e44 18-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use GetTrackerIcon() in case getting the specific app icon fails, instead of using the (outdated) icon in the resource. Fixes bug #984. Thanks to Stephan for the hint.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27609 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b0a63e7a 17-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

implemented BarTeamInfo copy constructor and used it in TBarApp::Subscribe(). Also cleaned up a bit the code in TBarApp destructor.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27596 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc69d5e2 14-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

Added an auto-raise feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21954 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22abf791 02-Jan-2007 DarkWyrm <darkwyrm@gmail.com>

Tweaked a couple of menu labels to make more sense under Haiiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19679 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a675fc28 04-Dec-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Let go what I said about bug #890. This was the real problem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19420 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59deaf10 11-Sep-2006 Stephan Aßmus <superstippi@gmx.de>

various changes to improve integration of vector icons
* Deskbar uses 32 bit icons now
* vector icons are now correctly converted to B_CMAP8 bitmaps
if no B_CMAP8 icon is available
* small fixes in Tracker (window mode menu)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18803 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59cd24b7 05-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

__HAIKU__ is now also defined for the test environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4a73641 03-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Imported current OpenTracker Deskbar: it can now start apps (and show the
"About Haiku" window) without having Tracker running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15803 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7da06231 01-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Imported Deskbar from OpenTracker-current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d61d305 31-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

Some minor fixes and cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15765 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2fd4a041 17-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fb214d4 17-Jul-2005 Stephan Aßmus <superstippi@gmx.de>

The Deskbar can now shutdown or reboot Haiku, but we should have a way to shutdown asynchronously, see TODO

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13712 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79482d63 07-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Now listens to team messages under Haiku - apparently, the BeOS registrar detects
the Deskbar, and sends messages to it automatically.
For Haiku, though, we don't want this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13550 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41281cf3 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added Tracker and Deskbar from OpenTracker-current to the repository.
They both build fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12773 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 039f59262a5e56d1a577b183b3ad712c9f690f96 03-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker, Deskbar, ShowImage: move public commands

... to tracker_private.h so they may be used by external apps
such as Deskbar and ShowImage. Remove PublicCommands.h


# deaae5fc20b5cf44115441d34a1e33436df885b2 07-Jan-2014 John Scipione <jscipione@gmail.com>

Deskbar: Persist ExpandoMenuBar

Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar
as a friend class in BMenu to call this method. A little hacky,
but, this keeps SetMenuLayout() from being exposed as part of
the public API.

Don't destroy and rebuild the ExpandoMenuBar when switching from
horizontal to vertical mode. Instead build the TExpandoMenuBar
when the application starts and then switch it from B_ITEMS_IN_ROW
to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout()
method.

When we resize from vertical to horizontal, recalc the max
menu item widths, this resizes the application menu items so
that they take up the right amount of space.

Since we no longer destroy the menu bar we no longer have to
save whether menu items are expanded or not in a separate list.
Instead we can store that information in directly in
TExpandoMenuBar. This removes a lot of code.

Fixes #9350


# 9f339a005bd0f5ffd8d6f49ae26cc498417e36fa 06-Jan-2014 John Scipione <jscipione@gmail.com>

Deskbar: Style fixes only


# 3aeed6607cd07762c0e709633c012b3a632dbad9 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# ba03d61b4f5d03da428b1afa054c9c74f4a4e2c6 02-Aug-2013 Philippe Saint-Pierre <stpere@gmail.com>

DeskBar: use the prepared transparent icon when necessary

In the odd case where there is no icon for an app, and the generic
3 boxes icon is also unavailable/removed, Deskbar now properly draws
the transparent icon that was prepared, but not used (and leaked).


# 26ea70667a0c3c6274e6bbe91646a74b59a9e8b1 29-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Deskbar: use a virtual directory for the user-configurable menu

* Deskbar now uses ~/config/settings/deskbar/menu_entries for its menu,
falling back to /system/data/deskbar/menu_entries, when the former
doesn't exist. The latter always exists and is a virtual directory
merging the deskbar/menu subdirectories of ~/config/settings/ and
<any installation location>/data/. So, if a package provides a
deskbar menu symlink, it is added automatically when the package is
activated. The user can add own menu items by putting stuff into
~/config/settings/deskbar/menu/, only use their own organization by
symlinking it to menu_entries, or do fun stuff by making menu_entries
a customized virtual directory.
* HaikuImage: No longer create any deskbar menu symlinks in the user's
settings directory. Instead add them to the Haiku package.
* OptionalPackages: At least for the optional packages that do have
hpkgs, no longer create deskbar menu symlinks in the user's settings
directory.
* Move all Deskbar settings files to ~/config/settings/deskbar/ and
drop the "Deskbar_" prefix.


# 807ea4dad0131bf3a50f669df1df00c8d2f0612a 17-Apr-2013 John Scipione <jscipione@gmail.com>

Rename sig variable to signature in BarApp


# ab37997c98996620ae166cb9a9c48d26ec7cb0f3 17-Apr-2013 John Scipione <jscipione@gmail.com>

Style fix and comment update


# 753d86ac8426919d5eefc9dc0e35b2cfbfe12735 14-Apr-2013 John Scipione <jscipione@gmail.com>

Need to SaveExpandedState() before rebuilding items.

Also, if mini-mode we can skip updating the view because it doesn't get drawn
until you click the TeamMenu expander.


# 5d6f247bb30ca8cd6b6a1170402db7d1c7300528 14-Apr-2013 John Scipione <jscipione@gmail.com>

Reverse loop to eliminate checking count each iteration


# 9439677a9c21d7ccb9b07898f988e0090812331a 14-Apr-2013 John Scipione <jscipione@gmail.com>

Check if icon size is the same, if so, don't resize


# ee78e4de9f1ee2293d9e1c4b8b44db1bcf981530 13-Apr-2013 John Scipione <jscipione@gmail.com>

Convert state variable from a uint32 to an int32


# b54536b20d58ea1795e0cf9de1a925670e51c4b9 13-Apr-2013 John Scipione <jscipione@gmail.com>

Don't need to check if Lock() succeeded here, I don't anywhere else.


# fe624b3937dc8b7a4551dbc66b5e5c81dfb468d6 13-Apr-2013 John Scipione <jscipione@gmail.com>

Style fixes only

Most indentation and newlines with a few comment updates


# 10a5b6946c0c2871b280b06b2d491bf218dacdc5 13-Apr-2013 John Scipione <jscipione@gmail.com>

Remove unneeded includes


# 542de916c4beea64afae32c5bb1501223ea5bb4f 06-Apr-2013 John Scipione <jscipione@gmail.com>

Add and use an _Init() method for BarTeamInfo


# e13f5676a08f505497aafbd491f398760b237e87 27-Mar-2013 John Scipione <jscipione@gmail.com>

Cache app icons in BarInfo to make them load faster.

This turns an IO bound problem into a CPU bound problem. In my testing this
speeds up icon resizing dramatically although the CPU is quickly pegged at
100% trying to redraw the Deskbar if you whip the icon size slider back and
forth with a dozen or so apps open and soon the CPU can't keep up and Deskbar
lags behind.


# 53ec5d1f33912441da3ad5786dfd300282cdfcf0 11-Mar-2013 John Scipione <jscipione@gmail.com>

Rebuild application menu bar less. Fixes #8539 (I hope)

Instead of destroying and rebuilding the application menu bar each time we
change state, create it at startup and then only update it from there on. This
means that bugs that rely on the app bar being constantly destroyed and rebuilt
will be much less likely to occur.

Unfortunatly, there is still one case where the application menu bar is being
destroyed and recreated and that is when you are switching between horizontal
and vertical mode, and that is because a menu bar cannot be altered from
B_ITEMS_IN_ROWS to B_ITEMS_IN_COLUMNS anywhere but in the constructor.

* Renamed fExpando to fExpandoMenuBar
* Updated TExpandoMenuBar to be more flexible after construction, the menu
items are built in the new BuildItems() method. Also, don't pass the BarView
object in at contruction, that can happen in AttachedToWindow(). Also, set
fDeskbarMenuWidth just once at constructor, no reason to keep setting it over and over again.


# cf7c89ff4a8e0beccc0ff9ed6c8ae0745770418d 18-Mar-2013 John Scipione <jscipione@gmail.com>

Use the new Get* BMessage methods to simplify code.

Thanks Axel!


# c0778509d2443c271b669de72ed041c184cd297b 16-Mar-2013 John Scipione <jscipione@gmail.com>

Copy pasta error, double checked this time


# 4c45b1d99efba4e5bfb529a90c45c4011d253957 16-Mar-2013 John Scipione <jscipione@gmail.com>

Perform settings checking again partially reverting 43917ef.

Also storedSettings to prefs as it is shorter, easier to read the code.


# 5bfc9c7091f3b728bb6a7083e82fac4d21682f7f 12-Mar-2013 John Scipione <jscipione@gmail.com>

Save and load prefs window position to and from a file.


# 43917ef2e0654197d1d98dc0ed50095f6c813d7a 08-Mar-2013 John Scipione <jscipione@gmail.com>

Refactor settings so that defaults get set in 1 place.

* Move desk_settings and clock_settings struct to a new header entitled
'BarSettings.h' so it can be included in BarApp.h and PreferencesWindow.h.
* Refactor desk_settings to only include used, or at least relevant settings,
some cruft had built up over time.
* Refactor the InitSettings() method, all the B_OK checking wasn't working so
I removed it. Defaults get set up to and if the corresponding setting is
found in the settings file it is replaced, else, it is not.
* Reorder the struct and code so it goes in the order that the settings appear:
applications, then recent items, then window settings.
* Simplify the preferences window revert and defaults code based on using the
prebuild desk_settings structs in BarApp instead of creating our own and
copying. All initial setup is in the constructor.


# cb42238603639d60d3775a92b765715ef41edb97 08-Mar-2013 John Scipione <jscipione@gmail.com>

Destroy prefs window on close once again


# cb0602cf812bf04a72f60e4c4c76f6d8ca8b2f11 06-Mar-2013 John Scipione <jscipione@gmail.com>

Implement Revert and Default buttons in Deskbar prefs


# 3722e6400443ac3a57b255188898dab89a5a9aa4 13-Feb-2013 John Scipione <jscipione@gmail.com>

Store and read show/hide clock setting on disk.

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


# eed38dfa96a8fcfdd4d01c15ff6840272f924f73 31-Dec-2012 Murai Takashi <tmurai01@gmail.com>

Fix initializing fClockSettingFile.

Signed-off-by: Rene Gollent <anevilyak@gmail.com>


# 7ff146fdc0b3acf460b93d4b606d2be9b301e7a5 21-Dec-2012 John Scipione <jscipione@gmail.com>

On second thought, don't delete fPreferenecesWindow here


# 879fe42c09783f977ac60bc4a8e0a6fc9aec1150 21-Dec-2012 John Scipione <jscipione@gmail.com>

Refactor Deskbar preferences window.

* Remove locking from Prefs window QuitRequested(), thanks Axel.
* Remove kConfigClose message, no longer needed since window sticks
around and is hidden on close instead of being deleted.
* delete fPreferencesWindow on BarApp QuitRequested() so it will
remove the memory used by preference window when Deskbar quits.


# ee70bd8b1fefb372682051ff5d0778df99757944 20-Dec-2012 John Scipione <jscipione@gmail.com>

Hide and show Deskbar preference window

... instead of destroying and creating it each time.

This is taking another page from Tracker's book. It allows the prefs
window to maintain it's current state as long as the application
remains open. Since both Tracker and Deskbar are meant to always be
open this means that the state is kept all the time unless the app
crashes, quite useful.


# 31c0024d1b271b0b671c77432cce0be483b366f0 07-Nov-2012 John Scipione <jscipione@gmail.com>

Add Deskbar clock settings to Time Preferences

* Added a new Clock tab to the Time preflet. Added Clock related
controls there. They all function by communicating with Deskbar.
* Put controls in a BBox controlled by the Show clock checkbox.
This more clearly shows that all the clock settings are dependent
on the show clock setting since it doesn't matter what your clock
settings are if you don't show the clock.
* Make revert work.
* Split clock settings into it's own file and struct.
* Re-add the time zone setting.
* Remove the clock settings from the Deskbar preference window, they
are in Time now.
* Make Locale preferences accepts B_LOCALE_CHANGED message, although
not used.


# eb89cc6b0b676d270e15b84dee3eadd65e1cc658 19-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Deskbar: You know, we should actually use the translated name.

If this ever worked before, I don't know how.


# e963289800007e623f4a120b27e7bd476230f57f 09-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Added Tracker and Deskbar to x86_64 build.


# 1510ac00817ec2679621f9579bb25a71400f6c8b 28-Jul-2012 John Scipione <jscipione@gmail.com>

Refactor icon scaling, fix off-by-one error.

Refactor the icon scaling code in IconUtils.cpp to avoid code
duplication. Basically create and delete the temp bitmap to
convert from B_CMAP8 to B_RGBA32 for scale2x/scale3x/scale4x
just one time instead of 3.

There was an off-by-one error in Deskbar which was causing
it to scale up the 16x16 Bitmap icon to 32x32 instead of just
using the 32x32 icon. This only affected BeOS bitmap-based
icons, not Haiku HVIF icons.


# a663e9050638c7470918bda00c4f260c30513990 16-Jun-2012 Rene Gollent <anevilyak@gmail.com>

Fix #8640.

- Automatic whitespace cleanup.
- Remove no longer exposed show/hide time setting. The methodology for
saving it on exit was broken anyways, since it relied on the current
show/hide state of the time view, which would be hidden if the deskbar
was currently in Autohide mode.


# 22812ba24ffdc5c1a1f30257bc01ce9b4b211d47 05-May-2012 Rene Gollent <anevilyak@gmail.com>

Fix ticket #8497.

- Rework Deskbar's handling for the autoraise/autohide cases to not
need event masks. This prevents various problems that would occur
if one happened to be working in another window that overlapped part
of Deskbar, as reported in #8497. Instead, we now use a message filter
to redirect the messages as needed.


# 9ac6fee13ad6aa1638f058d8791ac7bc1c64ae89 18-Apr-2012 John Scipione <jscipione@gmail.com>

Rename "deskbar_rt_" back to "Status".

Siarzhuk Zharski informed me that KeymapSwitcher depends on this
view being named "Status" to work, so, renamed it back to that.

Instead of sending the message by name to the replicant tray view,
since the view name "Status" is not very unique and I fear that
there could be collisions, resend the message to BarView which
then passes the message on to the replicant tray which updates the
clock and reflows the icons.

This being said, KeymapSwitcher should probably not send a message
hardcoded to the name of the replicant tray view and instead send
the message to Deskbar and allow it to pass the message on to the
appropriate view.


# f5be13ecc7503a48a32b87995a78a2d0247ab401 17-Apr-2012 John Scipione <jscipione@gmail.com>

Remove time zone clock option and Time preferences button.

* Nobody thought time zone was a particularly useful option to have
in the clock.
* You can still open Time preferences from Deskbar by right clicking
on the clock, but, since there isn't a big connection between
the clock settings in Deskbar and Time preferences anymore
this button isn't needed here.
* There are still 2 clock options, Show seconds, and Show day of week
and day of week is localized as well so this wasn't a total wash.


# 0d2ac94c4df1061e1f2b835703f018553c929744 17-Apr-2012 John Scipione <jscipione@gmail.com>

Rename the TReplicantTray view "_deskbar_rt_"

instead of "_replicant_tray_". That follows the convention a bit
better and is less likely to cause name collisions. While I am at
it put the BView line below the : as is our usual convention.


# 30a5580244604caad54b5314c1a23d88c1d58fa8 17-Apr-2012 John Scipione <jscipione@gmail.com>

Remove Time Interval radio buttons from Deskbar Prefs.

* 12/24 hour clock is set from the Locale prefs only.
* Redirect B_LOCALE_CHANGED message to the replicant tray instead
of the time view and tell the replicant tray to update the time
instead of updating the time view directly. This is because there
was a bug where if the AM/PM marker grew the time view over the
replicant tray icons when switching from 24 hour to 12 hour clock
it wouldn't reflow the replicant tray icons like it should.
* Rename the replicant tray view from "Status" to "_replicant_tray_"
because BarApp uses FindView() to get the view by name and I'm
assuming that this method can have conflicts. Following the example
of the "_deskbar_tv_" naming convention.


# b932a5a45f86add0cdfca66be71bba585b338588 15-Apr-2012 John Scipione <jscipione@gmail.com>

Fix bug #8004

Dragging the Deskbar with CTRL+ALT+mouse not possible with
Auto-raise and Auto-hide disabled.

The reason this only worked with auto-raise or auto-hide enabled
is because the EventMask on BarView was only set to received mouse
events when those were settings were enabled. Apparently someone
figured this out. So, to fix this bug I set BarView to always
accept mouse events. Doesn't appear to have any obvious negative
consequences. Auto-hide and auto-raise still work.

I also added a comment in BarWindow::MenusBeginning(). It is
setting the EventMask of BarView to 0 and then back again in
TBarWindow::MenusEnded() to get around a bug in BeOS (according
to the comment anyway). I took out those lines and didn't notice
anything different so I assume that whatever the bug was it is
fixed and now and we can take those lines out permenantly.


# 3cf2d117e570356c8487e67a0e38b09b1639ab6c 14-Apr-2012 John Scipione <jscipione@gmail.com>

Change Time Format Options in Deskbar preferences.

Added two new methods to the Locale Kit in order to create a custom time
formats from a format string. One method is outputs into a char* array,
the other into a BString() and you can set the timezone.

These methods should be cleaned up, we only need 2, one to get
the time in a predefined style, the other to get a custom time format.
Also should probably do the same for dates and datetimes. But I'll let
this go for now.

I added myself to the Locale.cpp file. I retained the copyright instead
of assigning it to Haiku, Inc. because the file is under the OpenBeOS
license and I don't know what the concequences of copyright sharing are
for that license, unlike MIT.

These new methods are used to generate custom time formats in Deskbar.
Instead of using a set of Radio Buttons to choose between the predefined
time options I build my own by creating a format string and passing it
to the Locale Kit. The format string is generated from 3 checkboxes,
show seconds, show day of week, and show time zone. You can mix and match
between them choose any that you like. By default they are all off.

There are 3 new deskbar settings associated with these new options:
showSeconds, showDayOfWeek, and showTimeZone. timeFormat has gone away.

The time format string gets cached and updated only when Update() gets called
on the TimeView class.

In order to fit all the options in (there is 1 more than before) I had to
reduce the font size of the clock to 11pt when all options are turned on in
12 hour mode. For those with no imagination it looks like this:

http://imagebin.org/208162

Renamed "Open time preferences..." menuitem to "Time preferences...".
Renamed "Show Time" and "Hide Time" to "Show time" and "Hide time".

Other changes include refactoring the header files a bit. There were a lot
of headers included by header files uneccessarily. For instance BarWindow.h
now only includes <Window.h> and <Deskbar.h>. This change is mainly to
to speed up the compile time since it takes a while right now.

I copy the fBarView pointer from BarWindow in the BarApp constructor and then
use that throughout the file rather than getting the pointer from the window
each time by calling BarView(). BarView() is still available in the header
for other classes though.

I moved some message constants around since it was getting a bit jumbled.
Most of the messages related to settings are in PreferenceWindow.h.
fChangeState is moved to BarView.h since that is where the ChangeState()
function is and BarView.cpp uses that constant.

The time interval and format constants are in TimeView.h.

Make some methods public in their respective classes where it made sense.
The preference window methods to update dependent items are public, that
might get called from BarWindow when a message gets received at some point.

Also made ShowHideTime() and Time() public in StatusView.h. These methods
activate showing and hiding the clock and return the fTime clock object.
No reason they should be private.

I reindented the StatusView.h and PreferenceWindow.h headers to the standard
style. Question here, are the public: protected: and private: lines inside
of classes suppose to get indented 1 tab or not? I've seen both, the style
guide says no indent but 1 indent seems reasonable and looks pretty good.

Style fixes here and there. That's enough for one commit I think.


# e5c6459e603517f8378052c018ebe9f91adcb10b 11-Apr-2012 John Scipione <jscipione@gmail.com>

Refactor the FetchAppIcon() method.

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.


# a4d1d8cc8c4dbb066805ebe38220b8d55b1fe493 11-Apr-2012 John Scipione <jscipione@gmail.com>

Another tiny style fix, sorry guys.


# 20f438f9de9463e36415f76813659093891a5e27 11-Apr-2012 John Scipione <jscipione@gmail.com>

Tiny style fix


# 1a9e95993234f1419123bfa89c1ff40c3b76aa71 11-Apr-2012 John Scipione <jscipione@gmail.com>

If can't find generic 3 boxes icon, fill with transparent.

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


# b97545d7ab75350992fc786512a9cc4b1eeeb16e 11-Apr-2012 John Scipione <jscipione@gmail.com>

If you can't find an app's icon, get the generic 3 boxes icon.

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.


# e6cafb1a4882d34d99708e1641668f4480104472 11-Apr-2012 John Scipione <jscipione@gmail.com>

Fix a few more style issues.


# 25dba9f11ae0f98fb8786bac163b0129a17e6ada 11-Apr-2012 John Scipione <jscipione@gmail.com>

Fix another instance of < B_OK vs != B_OK


# f454574fca347ea87e13555338d6bc52dd9247be 11-Apr-2012 John Scipione <jscipione@gmail.com>

Fix style issues Axel brought up.


# 573f748c5f8fb7ed75beb0ceb7eb097d3ab0c038 09-Apr-2012 John Scipione <jscipione@gmail.com>

Add 12/24 hour and time formatting options to Deskbar.

* 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.


# d0a49328634b3702d647e27b8704a3ce706074b8 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fix a few more bugs in Deskbar, find a new one too.

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.


# 8ff49ae3169d6ccceb17ade6f1dc8037ab9e5e78 07-Apr-2012 John Scipione <jscipione@gmail.com>

Use != B_OK, not < B_OK to indicate an error.

Apparently error codes are allowed to be positive.


# c7bb0d08da9d923d4a2020ab36727230d1e00edf 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fix the rest of the settings


# e73a037077ef815bb35249dae6ba80e3e822ae58 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fixes a bug in Deskbar not using default icon size

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.


# 363a49a64e0c4a009b2b9549c117782f2080e39c 07-Apr-2012 John Scipione <jscipione@gmail.com>

Fix memory leak and an optimization in Deskbar

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.


# 2ce9bab873e024bb515a95faf384df62b88bbb8c 27-Jun-2011 John Scipione <jscipione@gmail.com>

Fisher Price Deskbar icon support

Implements the feature described in #7132
Also fixes #2387 (menu items too big in horizontal mode when font size > 12)

Adds a slider to Deskbar preferences which allows you to resize your Deskbar
team icons from 16x16 to 96x96. The default is 16x16. This works both in vertical
and horizontal mode.

In vertical mode when icon sizes are greater than 32x32 the label moves
underneath the icon where there is more room. In horizontal mode the width of
the menu item increases to make room for the icon while keeping room for the
label the same. As many applications are added the labels are truncated as usual.

This patch also adds a checkbox to the Deskbar preferences to hide application
names to make more room for icons if you wish. It doesn't make a lot of sense
at 16x16 but does >32x32.

If the kResizeTeamIcons message gets dropped, don't resize to current value,
just do nothing. This fixes a bug where sometimes the slider wouldn't trigger
a resize. Fix a spelling error in a comment. Take out a redundant paren pair.


# e1aba79288a3324acc5d4383a5c811ff56322256 23-Feb-2012 Oliver Tappe <zooey@hirschkaefer.de>

Activate locale settings in Deskbar & Time preflet.

* Both Deskbar and Time are using BCalendarView, which in turn uses
DateTime, which uses strftime() to generate month/day names. Of
course, this doesn't work as intended unless the locale has been
initialized.


# 323b65468e5836bb27a5e373b14027d902349437 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 001f379993c2a6b597c9469b9de66d372ee3ef8a 01-Nov-2011 John Scipione <jscipione@gmail.com>

This commit fixes a bug described in ticket #7051 where Deskbar forgets expanded
items when you switch away from expando mode. It does this by keeping a list of
expanded item signatures in a fExpandedItems BList on the BarView class. I
can't use team_id because there can be more than one team per application.

If you have checked the 'Expand new applications' option in the Deskbar
preferences then the signatures of new applications will be added to the
fExpandedItems list expanding the item. If you open a new application while
not in expando mode then the app will be expanded upon returning to expando
mode.

Since 'Expand new applications' automatically adds any new item's signature
to the fExpandedItems list Tracker is expanded on startup since it is 'new'.
Also if Deskbar is restarted all applications will be considered 'new' so they
are expanded. This fixes ticket #4830

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43092 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3dfd9cb95ce45f59160d50975210bc55e3fc0709 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# e27005998f2cb3d61a7a95e97ff9b5bcbd3eadd6 06-Jul-2011 Axel Dörfler <axeld@pinc-software.de>

* Applied a patch of x-ist that implements auto hide functionality with minor
coding style changes by myself.
* Thanks, and sorry for the long delay!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42383 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ee6a2e5589a8ff169bb64870650b8f194aa9da14 27-Mar-2011 Jonas Sundström <jonas@kirilla.com>

* Extend the Model class with a method bool HasLocalizedName().
* Disallow renaming of entries with localized names for now - this is meant to be temporary - and so far only in Tracker's Info window. Renames do not result in a change, visually, as the localized name hides the real name, and results in a bad user experience. One could possibly allow renames of the localized name, writing it back to the catalog. I've experimented with using BCatalogAddOn::SetString() but haven't been able to make it stick yet.
* Disallow renaming Trash in Tracker's Info window via Command-E.
* Adjust the argument order of BLocaleRoster::GetLocalizedFileName().
* Add a BLocaleRoster::GetLocalizedFileName() variant to look up another app's name given its signature and unlocalized, canonical name.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f477364cc55e3d6d26880c79cada179d9f93f76 21-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Make BLocaleRoster::GetLocalizedFileName() take a const entry_ref& rather than a non-const entry_ref&. Remove private GetLocalizedFileName() from libtracker and make Tracker and Deskbar use the one in BLocaleRoster.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41075 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ed7ee7a43256baac60e2345f42fc28897cf5585e 11-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Localization support for filesystem entries in Tracker and Deskbar (leaf menu). (It appears to work, but is likely incomplete and quite possibly incorrect.) Fix issue with RosterData::Refresh() resulting in a B_LOCALE_CHANGED broadcast, and Deskbar looping. Add a global boolean gLocalizedNamePreferred to avoid calling BLocaleRoster::Default()->IsFilesystemTranslationPreferred() too often from Model instances. Following Tracker code style in libtracker, so as to not mix in too much clean-up.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40922 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07cffb4786d1ad91631b60045e9f85c611380d27 11-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Introducing a Locale option to display localized filesystem entries (primarily apps and folders) in Deskbar, Tracker, etc. Making use of this in Deskbar's list of apps. The option currently defaults to off, to avoid exposing everyone to unfinished work.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40918 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62a78b3566dd7a8b72f48494f29447992958acef 05-Mar-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Style cleanup patches by John Scipione from bug 7052. (Modified header to have consistent style).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40814 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f5c0a9970a3acbabb2289a20fdedcc9d1c7b6b7a 03-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Support for showing localized app entries in Deskbar. Just the app entries so far, and not yet the items in the leaf menu. Please review.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40796 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 38bda6536f13f9aff0d31e6d922bf9bcbebd8b03 30-Jan-2011 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Patch by John Scipione:
"Show Application Expander" and "Expand New Applications" in the Deskbar preferences only work in Expando mode, however, this is not communicated to the user. This ticket contains a patch which disables these options in the preference window when not in expando mode and re-enables them in expando mode.
This fixes ticket #7177.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40326 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25dc253d6ab28ce204fa4de2d3e7a27d167fc817 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 38ac8def5a72de58d6ae4e82d8c4a6be1021e67e 01-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Largish cleanup sweep concerning the Locale Kit (sorry it got so big):
* refactored private/mutable stuff out of LocaleRoster into MutableLocaleRoster
* moved management of Locale/Time settings file and broadcasting of any changes
out of preflets and into MutableLocaleRoster
* added proper sorting to the listviews of the Locale preflet
* the Time preflet no longer overlaps long timezone names into the actual time
* several fixes with respect to leaking ICU objects, esp. in BCountry
* the locale roster no longer passes out references to its own BCountry object,
but uses copies, instead - this makes locking superfluous, as the clients'
BCountry objects can no longer be changed by the setting a new default
country in the locale roster
* removed pretty useless POSIX-style symbol fetching from BCountry - if we
need that at all, it should live in the dedicated formatter classes
* adjusted readonlybootprompt, dstcheck and Deskbar to the changed Locale API
* refactored existing Time-formatter into TimeUnitFormat and DurationFormat
(the latter of which is now used by AboutSystem)
* added stubs for Date, DateTime and Time formatters
* lots of coding style fixes throughout the Locale Kit and the Locale and Time
preflets
This will probably break most external apps making use of the Locale Kit - it
does break WebPositive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37831 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab58e877e865ab3c955ccd77d23d9ba735622c18 22-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Notify the TimeView in Deskbar when a locale change occurs, so it can update its size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37677 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9a78a691f88e84fe08d1832695792c00f5ecff14 21-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Locale Roster : add a function to update the settings from a BMessage
* Locale preference : send such a message broadcast to all applications when the settings are changed
* Deskbar : receive the message and forward it to the locale roster. This way the time display on the deskbar changes as
soon as you close the locale preflet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37663 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f419136130da65fc3502ef7a889fa346b936593f 07-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Deskbar now uses a BMessage for storing its settings, instead of the old
raw file. Sorry, but You'll have to reconfigure your deskar to
accomodate this!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37420 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f0eb7b11e9cdb428b2da5bfaac25c9998b02e03 02-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Introduce a new method in BCountry to get the first day of week (monday or sunday)
* Localize date in deskbar properly, and use the new API to show the calendar. The "show european date" checkbox is now gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8fa2fb3088ab1921612b60f352dd9334b40b3d 02-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
* readonlybootprompt will no longer update the locale settings : the
method used messed with internal undocumented things
* external localized apps (webpositive for example) will not run
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3fc995d101cdc6b31f12bb35f9681f4f16b8a408 24-Jun-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Deskbar now uses localized time from locale kit. Thus the "24 hour
clock" setting is not needed anymore.
* The locale kit now provide a less complete 'full' time format : hour
minutes seconds, I don't think anyone cares much about the "UTC + 1" or
other similar stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37243 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae7a6e3a6ffcfb7ad151d684822cd0f2f5bc77af 10-Apr-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Patch by mt (ticket #5573) : localize deskbar. Thanks !


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2a68969a4a34d01f240d60c00e330f365d7f927 10-Mar-2010 Jonas Sundström <jonas@kirilla.com>

Adding menu item Restart Tracker, to be shown when Tracker isn't running.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35805 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0599fd4e4538f9ac906c30aa9cc64887a5390c0 05-Feb-2010 Rene Gollent <anevilyak@gmail.com>

Use synchronous launch. This isn't generally an issue in Deskbar since we only launch one thing at a time anyways. Fixes being unable to launch things from Deskbar if Tracker wasn't running.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35417 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 481a903a81b32b77e6cc60c31c6b0e13b065c3fc 30-Jan-2010 Philippe Saint-Pierre <stpere@gmail.com>

DeskBar: Adds a new setting (called ...Enabled) to determine if we show a particular Recent Menu.

* the previous behaviour was to consider it enabled if the count was above 0, and disabled otherwise.
* the new behaviour is to consider it disabled if the count is 0, but also allows to disable it by unchecking the box in the pref window, without setting the count to 0 (losing its value).

Fixes ticket #5007.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35355 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 71bd3ba59c06b130115c3ddd44457d8f9dd78997 30-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Removing ifdefs and code for non-Haiku build targets. Partial clean-up. Enforcing the 80-char limit, renaming constants, newline at end of file.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33377 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cb2cbf17b7bfc8036d5d93af0451d8668b889a9 30-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Clean-up.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33372 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 290c903985a449fa86c501366b6fcddf7f55b46a 29-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Partial clean-up. Asterisks and k-prefix constants.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33366 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21f3e082b187190910950714d14427b71e91e72c 29-Sep-2009 Jonas Sundström <jonas@kirilla.com>

Moving Deskbar options to a dedicated preferences window. Adding a preference application that simply tells Deskbar to open that window. Adjusting default settings Recent Folders from off to 10, and Auto-raise from on to off.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33363 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 010647e68ca8dee5349637ce2503509d8afe6889 10-Aug-2009 Joachim Seemer <humdingerb@googlemail.com>

Renamed 'Configure Leaf Menu...' to 'Configure Deskbar Menu...'

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32220 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 277ddffee443d63a2b7498a7168666f851a1a67f 12-May-2009 Axel Dörfler <axeld@pinc-software.de>

* When activating the "Shutdown" menu (instead of one of its items), we now
get the old shutdown dialog back, but with the additional option to reboot
instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb048d75be673605fc1b110903b88b13fd49bb65 30-Apr-2009 Jonas Sundström <jonas@kirilla.com>

Move Deskbar Restart and Shutdown options into a submenu and ask Registrar not to question the user's intent.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30512 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3534ce57f0061890f838d115bcec39e9e4d7abd0 18-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

malloc.h ain't no standard header. Small style change.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27610 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c2831e444a3e7c68c3e74a33449057e62d1e674e 18-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use GetTrackerIcon() in case getting the specific app icon fails, instead of using the (outdated) icon in the resource. Fixes bug #984. Thanks to Stephan for the hint.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27609 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b0a63e7a2aa97a9fe2898761d335ebee8ab6b34b 17-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

implemented BarTeamInfo copy constructor and used it in TBarApp::Subscribe(). Also cleaned up a bit the code in TBarApp destructor.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27596 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc69d5e23365ca14b8e8e2354a52dcae8b91f1c8 14-Aug-2007 Axel Dörfler <axeld@pinc-software.de>

Added an auto-raise feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21954 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22abf79105eb5986e9debff4e5ff8890dc611038 02-Jan-2007 DarkWyrm <darkwyrm@gmail.com>

Tweaked a couple of menu labels to make more sense under Haiiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19679 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a675fc2864b795510f6ee1559120d1bf7e9cd078 04-Dec-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Let go what I said about bug #890. This was the real problem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19420 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59deaf10bcbd8e27fd028f1757e62b27e09e385f 11-Sep-2006 Stephan Aßmus <superstippi@gmx.de>

various changes to improve integration of vector icons
* Deskbar uses 32 bit icons now
* vector icons are now correctly converted to B_CMAP8 bitmaps
if no B_CMAP8 icon is available
* small fixes in Tracker (window mode menu)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18803 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59cd24b7dbeea44c84050e8a70a6758febaa7f49 05-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

__HAIKU__ is now also defined for the test environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f4a73641e0bec45c55d16f2e86845be99d37cb8f 03-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Imported current OpenTracker Deskbar: it can now start apps (and show the
"About Haiku" window) without having Tracker running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15803 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7da062312a13b77ed1aac63bdd67c44c44ad5824 01-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Imported Deskbar from OpenTracker-current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d61d305c6f020e1462b0873056a5009610bc08b 31-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

Some minor fixes and cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15765 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2fd4a0411b7a0a98d8099ef3ec8e52ee75a1d3a1 17-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fb214d470602f7e5cddea0675b36a0ecd5b97af 17-Jul-2005 Stephan Aßmus <superstippi@gmx.de>

The Deskbar can now shutdown or reboot Haiku, but we should have a way to shutdown asynchronously, see TODO

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13712 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79482d638368bfebaf90649034ff12a4d53ff7d4 07-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Now listens to team messages under Haiku - apparently, the BeOS registrar detects
the Deskbar, and sends messages to it automatically.
For Haiku, though, we don't want this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13550 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41281cf362916855e6eb9ad1d728d919863a1e81 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added Tracker and Deskbar from OpenTracker-current to the repository.
They both build fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12773 a95241bf-73f2-0310-859d-f6bbb57e9c96