History log of /haiku/src/kits/tracker/Navigator.cpp
Revision Date Author Comments
# 3efde1bf 25-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Use BControlLook::ComposeIconSize.

One computation was functionally equivalent to the new method,
other places were not scaling icons at all.

Fixes #13177.


# e01bbf95 14-Oct-2015 John Scipione <jscipione@gmail.com>

Tracker: Fix issue with vertical scroll bar border

This issue only manifested itself when the navigation toolbar was shown.

The scrollbar appeared to have no border while the rest did. This issue
manifested when the scrollbar insets were adjusted in hrev49654. The
scroll bar insets were really hiding the bug underlying bug though.

I'll try to explain what was happening and how I fixed it. The PoseView
container, called BorderedView, was showing its top border when the
navigation bar was hidden, and hiding its top border when the navigation
bar was shown. This (almost) worked because the menu bar provided a
bottom border while the navigation toolbar didn't. However hiding
BorderedView's top border also hid the scroll bar border.

My solution was to draw a bottom border on the navigation toolbar and
then remove the top border from BorderedView unconditionally. So either
the menu bar or the navigation toolbar provides a bottom border and the
BorderedView has no top border.

Fixes #12392


# a1fc016c 29-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: allow opening the desktop as a window in navigator mode.

Fixes #9610.


# 9e78efbb 27-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: delete un-needed #includes.

All of these header files are already included by the .h file that
corresponds to the .cpp file.


# 33858486 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: take advantage of BToolBar changes from the previous commit.


# 94a4c1c4 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolbar: rename to BToolBar.

"BToolBar" matches the current convention ("BStatusBar", "BMenuBar", etc.)
I've no idea what I was thinking when I renamed this before...

Also adjust all users of BToolBar (Tracker and ShowImage).


# e7803cf1 26-Jan-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: use the Layout API wherever possible.

Sorry this commit is so big, but I couldn't figure out how to do this
incrementally without breaking things.

I wasn't able to just merge Aldeck's branch, as it was a partial refactor
of Tracker and didn't just rewrite the UI creation code to use layouts,
and the changes for PM (e.g. addon loading, virtual directories) made it
very hard to merge (it doesn't even compile after an automerge) so rather
than spending time on that, I decided it'd be better to recreate his work.

Miscellaneous notes:
- This partially cleans up BPoseView & subclasses and BContainerWindow &
subclasses -- none of the subclasses and child views abuse the parent's
state, child views, or layout now.
- BFilePanel and BDeskWindow are not on layouts, because:
* BFilePanel docs in the Be Book instructed developers that wanted to
modify BFilePanel's layout to just use FindView() and then move the
views around. Obviously making it use layouts will break all BeOS
apps that do this, and there are a lot of them (Pe, WonderBrush are
just two examples.) I've added a note to the TODO list for R2 to create
a layout-compatible API for this.
* Some replicants (Workspaces, for example) rely on manipulating
BDeskWindow's drawing state. This is incompatible with layouts, as
at least in the case of Workspaces, it breaks a layouted version
of BDeskWindow entirely.
- I noticed a lot of #ifdef BEOS_VERSION ... gunk in the code. Tracker
probably didn't build on BeOS just before this commit, and now it
won't for sure, so I intend to go through and clean that out in the
near future.

This commit also fixes:
- enhancement #4996 (make Tracker's navigator use vector icons)
- bug #3039 (resizing OpenWithWindow flashes the blue border)
- bug #3889 (OpenWithWindow redraw errors)
- a regression that was a side effect of "dynamic_cast<BDeskWindow*>(this)"
always returning NULL when run in the constructor. I just added a "bool
isDeskWindow" to BContainerWindow's constructor that is only set to true
by BDeskWindow.
- a copy&paste error in VirtualDirectoryPoseView that was passing "uint32
resizeMode" as "uint32 viewMode".

Thanks to Alexandre for his original branch (it was a very useful
reference), Axel (for some miscellaneous advice & encouragement),
Adrien & Humdinger (for user interface review), and Diver (for user
interface review & testing).


# ee196640 22-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Update Tracker nav bitmaps and layout


# b77cc939 22-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Style fix, move headers down in Navigator.cpp


# f97ab85b 20-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: make sure dynamic_cast succeeded

CID something or other I'll bet.


# 808af41c 20-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes to Navigator


# fdc8f5b8 19-Nov-2013 Puck Meerburg <puck@puckipedia.nl>

Tracker: Use Alt-L to set focus on Navigator's location

* Alt-L shortcut sets the focus to location input view in single navigation mode;
* Fixes #9602.

- GCI2013


# b939c391 07-Aug-2013 Rene Gollent <anevilyak@gmail.com>

Tracker: Fix #8388.

BNavigator shouldn't update its location until AllAttached(). Otherwise,
it might immediately trigger a redraw, and in such a case, the
navigation buttons wouldn't yet have had a chance to load their icon
resources, leading to a debug assert in BPictureButton due to said
images not being present, but required.


# db416834 02-Jan-2013 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.


# a51764c5 27-Jul-2012 John Scipione <jscipione@gmail.com>

WIP: Yet more style fixes, mostly 80 char violations.


# caaec019 27-Jul-2012 John Scipione <jscipione@gmail.com>

A for loop with just an end condition is better as a while loop.


# b05aa8b5 27-Jul-2012 John Scipione <jscipione@gmail.com>

Style changes in Tracker, no functional change.

Manual whitespace cleanup
Change instances of const char * to const char*
Convert /* */ C style comments to // C++ style comments


# aa61ee48 17-Jan-2010 Rene Gollent <anevilyak@gmail.com>

Cleaned up legacy icon mappings and add some missing resource definitions to
TrackerIcons.h. Also removed the setup for the folder icon mimetype in
TrackerInitialState, as it was using a non-existent resource ID to do so with.



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


# c8ae58fd 02-Mar-2008 Rene Gollent <anevilyak@gmail.com>

Made Navigator color-sensitive. More to come.



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


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

Added libtracker.so to the repository and the build.


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


# a1fc016c141761ae663e0264c2d926a3032ceab1 29-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: allow opening the desktop as a window in navigator mode.

Fixes #9610.


# 9e78efbb4d21a6821be64e5053defd99ed364aea 27-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: delete un-needed #includes.

All of these header files are already included by the .h file that
corresponds to the .cpp file.


# 3385848679b50ba198341c7ba156b618590be9f6 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: take advantage of BToolBar changes from the previous commit.


# 94a4c1c4561945d4b8d682cf1fc6d8b6abe3a86e 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolbar: rename to BToolBar.

"BToolBar" matches the current convention ("BStatusBar", "BMenuBar", etc.)
I've no idea what I was thinking when I renamed this before...

Also adjust all users of BToolBar (Tracker and ShowImage).


# e7803cf1f69a81b1c77880518ba16b6708c1efdb 26-Jan-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: use the Layout API wherever possible.

Sorry this commit is so big, but I couldn't figure out how to do this
incrementally without breaking things.

I wasn't able to just merge Aldeck's branch, as it was a partial refactor
of Tracker and didn't just rewrite the UI creation code to use layouts,
and the changes for PM (e.g. addon loading, virtual directories) made it
very hard to merge (it doesn't even compile after an automerge) so rather
than spending time on that, I decided it'd be better to recreate his work.

Miscellaneous notes:
- This partially cleans up BPoseView & subclasses and BContainerWindow &
subclasses -- none of the subclasses and child views abuse the parent's
state, child views, or layout now.
- BFilePanel and BDeskWindow are not on layouts, because:
* BFilePanel docs in the Be Book instructed developers that wanted to
modify BFilePanel's layout to just use FindView() and then move the
views around. Obviously making it use layouts will break all BeOS
apps that do this, and there are a lot of them (Pe, WonderBrush are
just two examples.) I've added a note to the TODO list for R2 to create
a layout-compatible API for this.
* Some replicants (Workspaces, for example) rely on manipulating
BDeskWindow's drawing state. This is incompatible with layouts, as
at least in the case of Workspaces, it breaks a layouted version
of BDeskWindow entirely.
- I noticed a lot of #ifdef BEOS_VERSION ... gunk in the code. Tracker
probably didn't build on BeOS just before this commit, and now it
won't for sure, so I intend to go through and clean that out in the
near future.

This commit also fixes:
- enhancement #4996 (make Tracker's navigator use vector icons)
- bug #3039 (resizing OpenWithWindow flashes the blue border)
- bug #3889 (OpenWithWindow redraw errors)
- a regression that was a side effect of "dynamic_cast<BDeskWindow*>(this)"
always returning NULL when run in the constructor. I just added a "bool
isDeskWindow" to BContainerWindow's constructor that is only set to true
by BDeskWindow.
- a copy&paste error in VirtualDirectoryPoseView that was passing "uint32
resizeMode" as "uint32 viewMode".

Thanks to Alexandre for his original branch (it was a very useful
reference), Axel (for some miscellaneous advice & encouragement),
Adrien & Humdinger (for user interface review), and Diver (for user
interface review & testing).


# ee196640fb39b13fb872c3abe3347b2e994fde44 22-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Update Tracker nav bitmaps and layout


# b77cc9391a77d737f5359f724835586c4d882bb4 22-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Style fix, move headers down in Navigator.cpp


# f97ab85b35e112b081774e295e3477ab660e7973 20-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: make sure dynamic_cast succeeded

CID something or other I'll bet.


# 808af41c2a2868640440f85acecca76a453e9f7d 20-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes to Navigator


# fdc8f5b8c200400f0b31abc790b47ead8edff918 19-Nov-2013 Puck Meerburg <puck@puckipedia.nl>

Tracker: Use Alt-L to set focus on Navigator's location

* Alt-L shortcut sets the focus to location input view in single navigation mode;
* Fixes #9602.

- GCI2013


# b939c391670d1327defbd89a5668a0ae4497d337 07-Aug-2013 Rene Gollent <anevilyak@gmail.com>

Tracker: Fix #8388.

BNavigator shouldn't update its location until AllAttached(). Otherwise,
it might immediately trigger a redraw, and in such a case, the
navigation buttons wouldn't yet have had a chance to load their icon
resources, leading to a debug assert in BPictureButton due to said
images not being present, but required.


# db41683495bfde817554415d14ae6f9cc91e77eb 02-Jan-2013 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.


# a51764c53eecd8ca5f6312b92d8baccda89d5b1d 27-Jul-2012 John Scipione <jscipione@gmail.com>

WIP: Yet more style fixes, mostly 80 char violations.


# caaec0198e99172abb5b06af3bfb229712e687da 27-Jul-2012 John Scipione <jscipione@gmail.com>

A for loop with just an end condition is better as a while loop.


# b05aa8b5b16e5b4f420a35c37805c6387df98737 27-Jul-2012 John Scipione <jscipione@gmail.com>

Style changes in Tracker, no functional change.

Manual whitespace cleanup
Change instances of const char * to const char*
Convert /* */ C style comments to // C++ style comments


# aa61ee48ef2a616cf1b459f335f97b34de83f66f 17-Jan-2010 Rene Gollent <anevilyak@gmail.com>

Cleaned up legacy icon mappings and add some missing resource definitions to
TrackerIcons.h. Also removed the setup for the folder icon mimetype in
TrackerInitialState, as it was using a non-existent resource ID to do so with.



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


# c8ae58fd4f8c0b52b4a0cfa507ef452530875125 02-Mar-2008 Rene Gollent <anevilyak@gmail.com>

Made Navigator color-sensitive. More to come.



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


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

Added libtracker.so to the repository and the build.


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