History log of /haiku-fatelf/src/apps/deskbar/BarApp.cpp
Revision Date Author Comments
# 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


# 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


# 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


# 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