History log of /haiku/src/kits/tracker/ContainerWindow.cpp
Revision Date Author Comments
# c92708ab 05-Apr-2024 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Lock the menu looper before getting its font.

Most of the time when this function is invoked,
the menu is not yet attached to a window, and so
there is no looper to lock. But some of the time,
there is, leading to a crash if we don't lock it.

Fixes #18875.


# 8446d3b9 13-Dec-2023 John Scipione <jscipione@gmail.com>

Tracker: Miscellaneous cleanup

Move DraggableContainerIcon out of ContainerWindow.cpp into new.
Move CompareLabels to Utilities.cpp

Rename fContainerWindowFlags to fOpenFlags. These are the flags set
by OpenContainerWindow to save and restore state and should not be
confused with the windowFlags that are passed to BWindow. There are
two sets of flags, which I'm calling openFlags and windowFlags.

Rename fUseLayouts to fUsesLayout and useLayouts to useLayout. Put
all the constructor created flags at the top.

"window" variable name is ok, we don't need to say "containerWindow".

Rename Addons to AddOns everywhere with a capital O.
Rename BuildAddOnMenu() to BuildAddOnsMenu() with an s.
Rename AttributeMenu...() methods to AttributesMenu...() with an s.
Rename SetUp...() methods to Setup...() with a lowercase u.

Replace a few instances of fPoseView with PoseView() inline in
BContainerWindow and BDeskWindow.

A few more minor fixes in BDeskWindow.

Replace BPoint(0, 0) with B_ORIGIN in Pose.h

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


# 90510b4a 05-Dec-2023 John Scipione <jscipione@gmail.com>

Tracker: Remove Trash settings remnants

PoseView.cpp changes
* Create DoDelete() and DoMoveToTrash() convenience methods in BPoseView.
- Call DoMoveToTrash() in B_DELETE handler checking Shift.

Tracker: Update Delete warning dialog

This dialog pops up when you Move to Trash with Shift held down.

The Skip Trash version has been deleted since we've decided to
no longer using this settings.

Push Cancel button over to right on the "Delete files" version.

Handle default case in switches so that a weird value is returned it
will Cancel. If BAlert receives B_QUIT_REQUESTED it returns -1 for
example according to the Haiku Book so make sure to handle this case.

Add B_CLOSE_ON_ESCAPE flag and handle that case.

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


# c70de894 01-Dec-2023 John Scipione <jscipione@gmail.com>

Tracker: Another minor code simplification

Replace string literal with kMakeActivePrinter command, shorter.

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


# 9bc1ff61 30-Nov-2023 John Scipione <jscipione@gmail.com>

Tracker: Allow Get info without selection in File menu

If you don't have a selection, Get info on the window instead.

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


# 6f451a73 01-Dec-2023 John Scipione <jscipione@gmail.com>

Tracker: Minor code simplifications

Call TargetModel() instead of PoseView()->TargetModel(), shorter

Eliminate duplicate method in FSUtils. Call FSIsRootDir() in a
couple of places instead of looking for "/".

Change-Id: I42b7f39e7708eda107ee479a6cd36cb58ac77ad9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7172
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# f5029bd5 23-Nov-2023 John Scipione <jscipione@gmail.com>

Tracker: Disallow Restore from Trash if no selection

TargetVolumeIsReadOnly() doesn't make sense here because we
know the trash's volume is not read-only, we need to check
that you have a selection to enable Restore. Currently
(since hrev56978) Restore option is always enabled but it
shouldn't be if you have nothing selected.

It would be nice to also check if the restored location is
not read-only because you put something in the Trash then
remounted the volume read-only, but that's too much work.

Fixes yet another regression from hrev56978.

Also missed a delete convenience method call in hrev57402.

Call CanMoveToTrashOrDuplicate() to check if delete is allowed.
This method does a bit more work, it checks if the selection
includes the Desktop, the root volume, or the trash itself
which you are not allowed to delete.

Otherwise the same, this shouldn't make a big difference.

Change-Id: Ie188f25bd969a5aaeec9ff397fa5750872ccf97f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7138
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# cf83394d 22-Nov-2023 John Scipione <jscipione@gmail.com>

Tracker: Put duplicate checks into convenience methods

... and a few minor feature updates.

Create a CanEditName method on PoseView because we were using
subtly different checks in different places to see if allowed
to edit the name or not.

Tint background color of the Edit name text box on read-only
to indicate that the file name cannot be edited (only copied).

Create ReadOnlyTint() method in Utilities and use it here and
in PoseView to set the background color. Eliminate BackTint()
method from PoseView which served a similar purpose.

Add CanMoveToTrashOrDuplicate() convenience method.
Move To Trash, Delete and Duplicate options use same check.

Context menu of selection in file panel gets Duplicate option,
window context menu never did so don't try to enable it there.

Change-Id: I7a82d00ea10f22a7885c2e898a809e1abe9a6b30
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7122
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 501aa0f3 22-Nov-2023 John Scipione <jscipione@gmail.com>

Tracker: Check selection parent is read-only on query

If 0 items are selected, check the window's volume instead.

If 1 item is selected, check if the parent's volume is read-only.

If multiple items are selected, consider the entire selection to
be read-only if any item's parent directory in the selection is
on a read-only volume.

You aren't allowed to for example Cut a selection that has an
item on a read-only volume as the Cut operation would not be able
to succeed. However, if all items in the selection are not on a
read-only volume then you may Cut.

For non-query windows assume all selected item's are on the same
volume and only check the first item when multiple are selected.

Fixes #18661

Change-Id: Ib898e54b62558c66aad65d33afd080480e312565
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7120
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>


# 8e8c7a07 30-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Reimplement BSlowContextPopup as BPopUpNavMenu.

BSlowContextPopup was mostly a duplicate class of BNavMenu
only on top of BPopUpMenu instead of BMenu. Now, BPopUpNavMenu
just subclasses BNavMenu and adds the few features of BPopUpMenu
neccessary.

Drag-and-drop of files using the pop-up nav menu seems to still work fine.

Change-Id: Ic1f49c5bed60fff7a3076a22f74aebc6eba51d57


# 3961af9f 29-Jul-2023 Humdinger <humdingerb@gmail.com>

Use UTF8 multiplication sign "×" instead of "x"

It was suggested for translations in Pootle, and I agree it looks
subtly nicer: a bit smaller and vertically centered.

Also made all strings that include the "x" translatable, in case
there are different local usages.

For icon sizes in Tracker, move menu creation into a loop with an
kIconSizes array holding the pixel dimensions.

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


# 0e86ca77 31-May-2023 Zardshard <0azrune6@zard.anonaddy.com>

Tracker: Fix memory leak

Change-Id: I2fa8e9e87d1097cfc358cc3653240aeac6efb910
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6485
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 2b6ccde0 25-Apr-2023 John Scipione <jscipione@gmail.com>

Tracker: Disable edit menu items on ro volumes

... such as virtual directories or read-only media.
Also applies to open/save panels.

Menu items disabled on read-only volumes:
* New >
* Duplicate
* Move to Trash
* Move To >
* Cut
* Paste

Other reasons a menu item is disabled:
* Duplicate, Move To Trash, Cut, Copy, Move to >,
Copy to >, Create link > and Identify require a
selection.
* Paste requires something in your clipboard.
* Edit name requires a single item is selected.

Edit name is permitted on a read-only volume so
that you may copy the name. However the name is
not editable, you may only select and copy.

Pop system folder warning dialog on Edit name
commit instead, this way you won't see the dialog
if you just want to copy the name.

Move "Create link here" option last in the right-
click drag menu. Disable "Move here" if source or
dest is read-only, rest if dest is read-only.

Ignore Paste to virtual directory, (even more)
but permit Edit name.

Allow drag-and-drop to virtual directory but alert
and disable all right-click drag menu items like
other read-only directories.

Tint window backgrounds on all read-only windows
darker, not just on virtual and query folders.
Automatically switch the background color as you
navigate in and out of read-only folders.

Fix highlight color on column resize when background
color is not white. Fix "reverse video" effect so
that the highlight color is the inverse of the
background color. On Desktop however, highlight
color is always black or white.

Do not alter focus in save dialogs after initial
focus on the file name because focus on the pose
view is required for cut/copy/paste to work.

Make Edit Name work in file open/save dialogs and
make Cut/Copy/Paste work while editing file name.

Make Select all work in Edit name.

Duplicate code cleanup:

NameAttributeText::CommitEditedTextFlavor() and
HeaderView::FinishEditingTitle() call common
EditModelName() function in FSUtils.

RealNameAttributeText inherits from
NameAttributeText and calls its inherited
CommitEditedTextFlavor() method.

The alert text is defined in just one place in
FSUtils ShouldEditRefName() instead of three.
Consequently file name changed in the info window
can now be undone.

Change-Id: I3a78960057b8fb42d1f71af2ec3c808754c9b314
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6357
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# d34f1c40 02-May-2023 John Scipione <jscipione@gmail.com>

Tracker: Add BPoseView::CountSelected() method

Replace count variable with either selectCount
or poseCount depending on what is being counted.

Change-Id: I5e5caffd71bb932d93a822b28e73cdcfebff7135
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6399
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# b7dd18b2 02-May-2023 John Scipione <jscipione@gmail.com>

Tracker: Style fixes only

... including whitespace, brackets, rename loc to where or
location, add a pragma.

Replace min_c with std::min.
Replace BPoint(0, 0) with B_ORIGIN
Use make_color() function to make static rgb_color objects.

Change-Id: I47a4e5e5f0e7038643baca7539d211350bbb8f20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6404
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# a63a6739 23-Apr-2023 John Scipione <jscipione@gmail.com>

Tracker: Whitespace, alphabetize style fixes

No functional change intended.

Change-Id: Ib47f6b04e372923a5d2a1774ce4e3f56d8b05792
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6370
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 27846b5a 30-Sep-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Use default menu font instead of plain font for context menus.

This code has been this way since the initial import to OpenTracker,
so why or how it wound up in here is a mystery which may remain unsolved.

Removing it does not seem to cause any problems, so let's do that.
Fixes #16625.


# 4424256a 09-Sep-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Fix hiding/showing the draggable folder icon on navigation.

Fixes the icon disappearing when you navigated to or from the root.


# a0b9c84f 09-Sep-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Fix draggable folder icon size computation.

Should fix #17906, but I could not reproduce it, so I was unable
to confirm this fixes the problem.


# 509c951d 31-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Scale all icon sizes, not just the list icon size.

ViewState now always holds the unscaled icon size and PoseView
computes and caches the actual display icon size.

Anyone who used Tracker on HiDPI before this commit will likely need
to reduce the icon size on their desktops and any open windows.


# 46ed1da3 26-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Apply scaling to window metrics.

This way, window metrics both from defaults and those stored and read
from settings will be scaled according to the font size.

This unfortunately adds to the code duplication in Save/RestoreWindowState,
but that code already seems somewhat duplicated and in need of a refactor
anyway.


# 0c973c94 26-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Refactor IconCache size handling and usages.

* Instead of taking an icon_size, which we were having to cast
random integers to anyway, just take a BSize and convert internally
as needed. This simplifies a lot of usages of IconCache methods.

* Compute what B_MINI_ICON size will be at startup. This way,
we do not wind up caching "mini" icons in the fLarge*Icon variables
under HiDPI.

This does have a downside that if anything actually
does try to fetch "true mini" (16x16) icons when the real
ComposeIconSize(B_MINI_ICON) is larger than that, it will wind up
(confusingly) in fLarge*Icon, but that should not cause problems
and after this commit should not happen at all, anyway.

* Make mini-icon-mode use ComposeSize instead of the hardcoded 16x16,
and adjust metrics computations around it.

* Fetch larger icons in MountMenu logic. Also use BString::SetToFormat.

* Remove an unused, deprecated method from BPoseView.

* Rename variables in thumbnail generation code to match new behavior.


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


# 3f377da0 14-Jul-2022 Jim906 <jim_l@fastmail.com>

BFilePanel: save state less often

* Change BContainerWindow::fStateNeedsSaving from private to
protected, so that TFilePanel functions can set it to false, like
the analagous BContainerWindow functions do.
* Prevent fStateNeedsSaving from being set to true because of a change
to window size/position, unless the window is active. This is
meant to distinguish changes made during object setup from changes
made by the user.
* Add more calls to ViewState::_StorePrevious state.
BContainer::fPoseView triggers saving on some occasions because its
member fViewState needs to save. fViewState needs saving when there
are mismatches between pairs of f[x] and fPrevious[x], e.g. fIconSize and
fPreviousIconSize. These mismatches can arise when the ViewState
is set up. These pairs are synchonized by _StorePreviousState.
* Rearrange the modified ViewState functions to keep the 'const'
modifier on the existing code.
* Fixes #17374.

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


# f7e7bce8 07-Aug-2021 John Scipione <jscipione@gmail.com>

Tracker: Truncate long file names in middle

... so that you can see the extension.

Change-Id: I0c3cdcede912f6ccc7dfb8360bfd82599c8117c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4323
Reviewed-by: Jacob Secunda <secundaja@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 7f819534 05-Aug-2021 John Scipione <jscipione@gmail.com>

Tracker: Add thumbnail support

Define thumbnail attributes in Attributes.h:
Media:Thumbnail to store the thumbnail,
Media:Thumbnail:CreationTime to see if thumbs need to be regenerated.

Store 128x128 thumbnail in attribute, for icon sizes smaller than
128x128 down-scale the 128x128 thumbnail. Use B_FILTER_BITMAP_BILINEAR
to down-scale the image using the bilinear scaling algorithm which
creates nicer looking thumbnails than the default scaling algorithm.

Store thumbnails as WebP images which compress smaller than PNGs and
fit in the inode better at 128x128.

Check the file's modification time in GetFileIconFromAttr() and compare
it to the thumbnail creation time. If the file has not been modified
since the last time we generated thumbnails return the thumbnail from
the attribute, otherwise fetch a new thumbnail with GetThumbnailIcon().

Add "Generate image thumbnails" Tracker setting. Default is turned off
for now. To generate image thumbnails you must first turn this setting
on in Tracker Windows preferences.

Spawn a get_thumbnail() thread to generate thumbnails and retrieve them
later on from the window thread to fill out into the icon. This should
improve responsiveness of generating thumbnails from a folder with a
lot of images. The generator thread will write the thumbnail data to an
attribute if on writable BFS volume.

If not on writable BFS volume, the generator thread will send the data
back to the original thread through a port by calling write_port().

When the thread is finished creating the thumbnail it sends a message
back to the Tracker application thread to update the pose which
instructs the window thread to look for an thumbnail. It either finds a
thumbnail in an attribute, or picks up the thumbnail data that has been
sent through write_port() using read_port().

This works on both read-write and read-only BFS volumes but it still
depends on the presence of a BEOS:TYPE parameter to have been written
to the volume before it became read-only. Thumbnail generation does not
work on other read-only volumes for example an ISO-9660 CD, but it does
work on read-only BFS volumes for example the BeOS R5 CD.

Move BPrivate::CheckNodeIconHintPrivate() from BNodeInfo to Tracker
Model CheckNodeIconHint(). Create Model::CheckAppIconHint() and look
for a vector icon or mini and large icon in that method. Check that
the base type is directory, volume, trash, desktop, or if executable
call CheckAppIconHint().

Add 1 to temp_name to fix the following warning:
src/kits/tracker/FSUtils.cpp:2437:12: note: 'snprintf' output 3 or more
bytes (assuming 267) into a destination of size 266

Rename temp_name to tempName following our style guidelines. Use
strlcpy() and strlcat() instead of strcpy() to safely copy the string.
This fixes thumbnail generation on 64-bit Haiku.

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


# 7912dad9 17-Jan-2021 John Scipione <jscipione@gmail.com>

BTextView: Fix Tracker edit name

Don't resize text view in FrameResized() if resizable, this is done
in _AutoResize() instead. Set text rect width to width of max line when
word-wrap is off. Text rect width shrinks to the width of the text
matching behavior of BeOS R5 and previous Haiku. This fixes Tracker
Edit name.

Limit max width to column width in list mode or 30em in icon mode.
Filter paste messages limiting to max width in Tracker Edit name.

General BTextView fixes:

As a consequence of the text rect shrinking to fit the text, adjust
highlighting to go at least to edge of the view even if text rect width
is narrower. Extend the invalidation area beyond text rect when
redrawing to include highlighted areas.

Text views behave properly when overflow occurs i.e. when you type
text off the end of the text view. The text is nudged over as you
type/scroll so that the previous text is visible. This sorta worked
before but now works better.

Fix text rect centering by replacing switch with
BLayoutUtils::AlignOnRect().

Coalesce consecutive draw calls when inserting and deleting text to
prevent flashing for example when resizing the window. Redraw text
when the text view scrolls fixing a bug I noticed in StyledEdit.

Workaround negative height Beezer bug.

Fixes #16642, #16476

Change-Id: I2d32d6039944d2dc3218ce4de71f2966cc98c866
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3642
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 8f5c2071 23-Jul-2020 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

Avoid Tracker crashes when input_server is broken

Missing error checks when calling input_server can lead to Tracker
crashes.
Add the missing error checks.

Thanks to mmlr for helping investigate the problem!

Change-Id: Ie7f3e00c1267b594eafc77a1613e186cf38e5277
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3068
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 6aee9d64 25-Jul-2020 X512 <danger_mail@list.ru>

Tracker: fix count view border problem

Fixes #16439.

Change-Id: If936517a0ecfaba994f5d48fcc2fd159cb8ea11f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3093
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 15ba64aa 13-Jul-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Unify Settings menu shortcut

Use , as the shortcut key for settings in all built-in apps. Some used
S, but that's already the shortcut for saving. , is the recommended
shortcut in the HIG already, but built-in apps were not updated to
match.

Fixes #11733.


# e6c710f4 06-Jul-2020 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Set a minimum size on the count view...

...when it is paired with a horizontal scrollbar. This has the
added benefit of restoring the previous horizontal scrollbar size,
it having been lost in the prior refactor due to the "container views"
removing 2 pixels for the borders (previously, there was a different
sizing system for the count view that provided it.)

Fixes #16368 item 1.


# ec25a045 05-Jul-2020 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Eliminate the fixed count-view size altogether.

This moves the scroll bars and the count view into the layout
inside FilePanels, so more shim views for compatibility are now made.

Fixes #13179.


# 58f263a2 05-Jul-2020 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Remove usage of hard-coded count view size in ContainerWindow.

This makes the count view width, height, and font size properly
proportional in the container window. BFilePanel is not yet
fixed however.


# bf207efc 07-Mar-2020 John Scipione <jscipione@gmail.com>

Tracker: ContainerWindow style fixes only

Change-Id: Ica388cf727cb9cffe03c948a64344be7f462e25a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2330
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 996c9bf0 07-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Use ObjectDeleter instead of the deprecated std::auto_ptr.

Change-Id: I5d358076065fefa39df923e4554599b716d9883b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2321
Reviewed-by: John Scipione <jscipione@gmail.com>


# 8043df7a 20-Aug-2019 X512 <danger_mail@list.ru>

Fix BMenuBar width in Tracker


# 0f03d737 04-Nov-2018 Axel Dörfler <axeld@pinc-software.de>

Tracker: List view icons now grow with font size

* This also removes the mini/large icon mode for list views; it's now
simply always matching your font size.

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


# 46bf100b 20-Jul-2018 Hrishi Hiraskar <hrishihiraskar@gmail.com>

Tracker: Fixed wrong error message in ContainerWindow.cpp


# 56a7cb31 19-Jul-2018 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix build.


# bc8427c5 04-May-2018 Hrishi Hiraskar <hrishihiraskar@gmail.com>

Tracker: Allow add-ons to dynamically extend popup menu.

An add-on may now add custom entries to the popup menu, in order
to provide more than one action.

Change-Id: Ib4726c0c1e70c59e3ba4d752df24b76cfee1c4a4


# 75fc1907 13-May-2017 Owen <owenca@users.noreply.github.com>

Tracker: Fix blue border for focus in file panel.

This fixes the bugs pertaining to drawing and erasing the blue border
when a view gains and loses the focus, respectively. It also fixes the
bug that the file list (PoseView) always has a blue border when the
panel window is activated, even if the pose view doesn't have the focus.

Fixes #13496.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# a8ae893b 29-Apr-2017 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Fix B_UNDO/B_REDO forwarding to a focused BTextView.


# 56f9e8b7 29-Apr-2017 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: If a BTextView is focused, do not force-forward clipboard events to it.

In its original state this code just forwarded all clipboard messages to the
focused view, which sometimes was a BTextView or the like which knows nothing
about Tracker's custom clipboard events, and thus would wind up in an infinite
loop.

Now, the messages are left to be handled by the focused view if a BTextView
is selected (e.g. in a file panel, or in Tracker's navigator), but otherwise
forwarded directly to the BPoseView.

Fixes #12721.


# 5d614ec3 25-Apr-2017 Augustin Cavalier <waddlesplash@gmail.com>

tracker: We now target only Haiku since the layout merge, so use B_REDO.


# adad0931 07-Mar-2017 Murai Takashi <tmurai01@gmail.com>

libtracker: add B_TRANSLATE to List view menu.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 3798bf90 22-Oct-2016 Augustin Cavalier <waddlesplash@gmail.com>

Use the kDesktopWindowLook/kDesktopWindowFeel constants from WindowPrivate.h...

... instead of redefining them, or including a private Tracker header to
get them.


# 8fdd2629 01-Sep-2016 John Scipione <jscipione@gmail.com>

Tracker: 32x32 icon size option in list mode

16x16 is same old default
32x32 is new and fun

Adjust start offset to depend on icon size

Remove the kColumnStart variable and instead use StartOffset()
method which calculates the column start offset based on the icon
size. When you switch between icon sizes in list mode recalculate
the first column width to make room for the icon or more text.

Add some padding to list height in large icon mode.


# 41b9b4ad 01-Sep-2016 John Scipione <jscipione@gmail.com>

Tracker: Remove some left behind code

A couple of lines of code were left behind in a previous
refactor. Code just checked some list items.


# ee20ff95 01-Sep-2016 John Scipione <jscipione@gmail.com>

Tracker: Style fixes

More style fixes


# 5cf94071 30-Aug-2016 John Scipione <jscipione@gmail.com>

Revert "Tracker: Add some zoom padding in list mode"

This reverts commit f76147aa9ac4cd9c3367305f429dbdffb6df8bcf.


# 27c911e8 30-Aug-2016 John Scipione <jscipione@gmail.com>

Revert "Tracker: Add zoom padding in list mode take 2"

This reverts commit 7d009616aab2b00f0db48976625db042d141c5b1.


# 7d009616 27-Aug-2016 John Scipione <jscipione@gmail.com>

Tracker: Add zoom padding in list mode take 2

Add 16px to right and bottom of content when zoom

fixup of last commit


# f76147aa 26-Aug-2016 John Scipione <jscipione@gmail.com>

Tracker: Add some zoom padding in list mode

Add some padding to the right and bottom of the content when
you zoom.

16px the size of a mini-icon


# d8c4f7b5 31-Jul-2016 John Scipione <jscipione@gmail.com>

IconMenuItem: Make icon_size B_MINI_ICON by default


# 03b1819c 11-Jan-2016 Augustin Cavalier <waddlesplash@gmail.com>

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

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


# c5b4dc40 09-Dec-2015 looncraz <looncraz@looncraz.net>

Tracker: Use Set*UIColor, improved font awareness.

InfoWindow now uses the font size to determine the window size and
placement of elements. Also uses system colors, including link
colors. Permissions view not font sensitive yet.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patch 0039 from looncraz, unmodified.


# 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


# 2d34b65e 15-Sep-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Tracker: fix insets of vertical scrollbar.


# d8b517b5 09-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Tracker: made title view height depend on font size.

* It now uses a font that's 3/4 the size of the plain font; ie. there
shouldn't be any change with the default font size.
* Also cleaned up some weird layout code on the way.


# f0b3691d 09-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Tracker: Removed extra border next to the draggable icon.

* Also removed extraneous call to BMenuBar::SetBorder(); B_BORDER_FRAME
is the default, anyway.


# a4db376c 03-Aug-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Fix crash when the VirtualDirectoryWindow can't create the PoseView.

Fixes #11859. We may want to show an error message rather than failing
silently, but at least that is better than crashing.


# ffc3c617 29-Jun-2015 Philippe Saint-Pierre <stpere@gmail.com>

Incorrect font applied in Add-on submenu

When accessing the Tracker Add-on menu from ContainerWindow's top menu, the
font in Add-Ons submenu would change from its parent menu.


# ee87fbc4 28-Jun-2015 Philippe Saint-Pierre <stpere@gmail.com>

Do not hardcode tab height in ResizeToFit()


# 969a5d2f 20-Jun-2015 John Scipione <jscipione@gmail.com>

Fix mess in Tracker add-ons created in hrev48858

Revert the Tracker portions of hrev48858, they were not needed and were not
right either... sorry guys

OpenTargetFolder add-on modified slightly to use the passed in symlink(s) only,
the parent directory ref is unused, it appears to be unneeded here also.

With this and the reverted commits Zip-O-Matic and other add-ons should
work again.

Fixes #12105


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

Tracker: fix extra border in spatial mode.


# 4f716de6 05-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker: Fix Tracker add-ons

Would crash if PoseView()->SelectionList()->ItemAt(0) was NULL

Fixes #11894


# 2634c397 03-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker and Open Target Folder: fix for containers

Containers meaning directories, queries, and virtual directories

Open Target Folder was basically rewritten to work with BEntry's that are not
BDirectory's which makes it work not only for regular directories, but also for
symlinks in virtual directories and even symlinks in queries (which also didn't
work, and now does).

Update version to 1.0.1 and copyright.

Fixes the rest of #11091


# 7ef62fb6 27-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Style fixes

* Style fixes to QueryContainerWindow.h
* Style fixes to ContainerWindow
* Style fixes to Model
* Style fixes to Tracker
* Style fixes to PoseView
- Most of the changes come from unindenting the code


# 1d329e20 01-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: fix CountView sizing issues.

And now, the sizing differences between layout Tracker and non-layout Tracker
should not be noticeable to the naked eye.


# 1dedefaf 02-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: don't initialize layouts when we're not supposed to.

This didn't cause any problems before because all the views that don't
use layouts reimplemented this function. But that may not be the case in
the future.


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


# 95e8362c 25-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Save Desktop state again

Let me tell you a story about a bug.

In a615ec8f86406c14607c656cf90492bc58bd73d0 Axel imported the OpenTracker code
into Haiku with fSaveStateIsEnabled set to true (for Desktop and all windows).

In 9f2a3f6f47d121411c85a1e939f1cda80a4b4b1d I (John) changed it to:
fSaveStateIsEnabled(dynamic_cast<BDeskWindow*>(this) == NULL) which is suppose
to detect whether or not the ContainerWindow is the Desktop and only save the
state if it is NOT. However, this didn't actually work because since this is
called in the constructor the dynamic_cast to BDeskWindow* fails. Therefore we
were still saving the state of Desktop even though the code make it look like
we weren't.

In e7803cf1f69a81b1c77880518ba16b6708c1efdb Augustin updated the code so that
BDeskWindow passes in a isDeskbar flag as part of the constructor parameters
thus detecting that the window was Deskbar correctly. So basically Augustin
fixed the bug detecting whether or not the window was the Deskbar in the
constructor which then disabled saving the Desktop's state to attributes.
Augustin unknowingly turned saving the Desktop's state off.

We don't want to disable saving the Desktop's state because that's where we
store things like the icon size. What I was probably thinking when I tried
unsuccessfully to turn off saving the state of the Desktop was that I don't
want to save the WINDOW state of the Desktop since that would save the
window dimensions of the Desktop (whatever your screen resolution is) and if
you changed Tracker to non-spatial mode and opened the Desktop in a Tracker
window it would pick up those attributes and then make the window take up the
entire dimensions of your screen (a whole different bug).

This bug, however, is also handled in 9f2a3f6f47d121411c85a1e939f1cda80a4b4b1d
because code was added to BContainerWindow::SaveWindowState() which detects
whether or not the window is the Desktop and if so, doesn't save (or restore)
the window state (which is only part of the state).

So with this change (reversal really) the other parts of the Desktop's state
like icon size are once again saved while the window state is not.

Fixes #11864


# 94dcb68b 25-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Code simplication

Replace calls to dynamic_cast<BDeskWindow*>(this) != NULL with fIsDesktop
which is the flag added to the constructor in
e7803cf1f69a81b1c77880518ba16b6708c1efdb.

We no longer need to do the expensive dynamic_cast's because we have a handy
flag to check instead.


# 2f5fe16a 14-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: delete #ifndef __HAIKU__ code.

Since tracker_layout has been merged, this is pretty useless now.
Should result in no change to generated assembly.


# 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).


# da51f9c3 19-Jan-2015 John Scipione <jscipione@gmail.com>

Make Tracker MIME type add-ons list a BStringList


# 2f60dea5 29-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Throw exception on assert failure

... in situations where a NULL pointer dereference was vital to the
functioning of the method we use a stronger assert that throws an
exception on failure. This is accomplished by a new method in
Utilities.cpp, ThrowOnAssert().

None of these conditions should ever be true, if they are it means that
the code is written improperly and would have resulted in a NULL
dereference and undefined behavior (most likely a crash) before.

Most instances of ThrowOnAssert() either replace an ASSERT followed
by a dereference or an early return that covered the error.

Also remove _ThrowOnErrorWithMessage() which wasn't being used.


# 00ce6437 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix uninitialized pointer, CID 991718

fTrashContextMenu was never initialized in the constructor
(looks like it just got overlooked since all other pointers were.)


# 1a250696 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix use after free, CID 610577

This seems to happen when BList got converted to a BObjectList.
The latter frees items when removing them by default while the former
does not.


# 50060fcc 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix unchecked return value, CID 602466


# 4083dbf1 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix NULL dereference


# 9b9c1e27 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix memory leak, CID 600996

We now only create the BString if we're going to put it in the list.


# 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


# 4deecac0 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Fix BuildMimeTypeList(), styleish and correct

Thanks Axel for pointing out my error.


# b992df89 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Don't crash clicking Open with... menu item

This bug was introduced in hrev47498

The reason Tracker crashed was because OpenWithContainerWindow
had a NULL TargetModel() which we were trying to dereference.

Fix this by creating an empty model in OpenWithContainerWindow. Add an
ASSERT to check that the TargetModel() is not NULL in the future.

Another way to fix this bug would have been to check that TargetModel() wasn't
NULL each time before we use it. I didn't go with that solution because we
assume TargetModel() is not NULL in a lot of places so it would be a lot of work
to check them all. I think it's better to give OpenWithContainerWindow a dummy
model even though it doesn't make sense for it to have one just so that we don't
crash when we try to dereference the pointer.


# bb804d09 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Make sure count > 0

... in a more stylish way, no negative counts allowed.


# 6527415d 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: obligatory round of style fixes

* Explicit NULL checks
* whitespace
* single line if gets no {}'s
*


# 61dec7d2 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix bug introduced in hrev17795

Ticket #298 for context.

In BContainerWindow::AddWindowContextMenus() pasteItem is used but
not declared if CUT_COPY_PASTE_IN_CONTEXT_MENU is defined.


# 5ddedec5 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: more style fixes to ContainerWindow.cpp

* Rename templateMenu to templatesMenu.
* 80 char limit fixes
* whitespace fixes
* Declare 1 item per line.
* Don't set variables inline, set, then use.
* Explicit NULL comparisons
* {}'s around if statment with multi-line appearance


# 9f2a3f6f 27-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Move opening Desktop window to constructor

BRoster::Launch() sends B_REFS_RECEIVED before B_READY_TO_RUN
if the application is not running, so, when B_REFS_RECEIVED looked for
the Desktop window it wasn't created yet since that happen in ReadyToRun().

By creating the Desktop window in the constructor instead it is available
in RefsReceived() so an extra Desktop windows isn't opened.


# 8b960457 27-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes to ContainerWindow


# c2d07d99 26-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: yet more style fixes


# d7e68211 04-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: miscellaneous style fixes


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

Tracker: Style fixes to ContainerWindow


# fcd2bfb7 15-Jul-2014 Philippe Saint-Pierre <stpere@gmail.com>

Style fix, no functional changes

Thanks Axel!


# 384eec8f 14-Jul-2014 Philippe Saint-Pierre <stpere@gmail.com>

Ticket #3385: inconsistencies when single window + disks icon

When using the Show Disks icon option, single window navigaton mode,
and starting navigation by the Disks icon, these bugs would occurs
upon entering child poses :

*) The draggable icon at the top right wouldn't appear
*) The file menu wouldn't update properly (for example, the New folder
menu item won't show)

Based in part on dru_ed's patch.


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

Tracker: style fixes to ContainerWindow


# 991dadd6 16-Jun-2014 Humdinger <humdingerb@gmail.com>

Make sure there's a space in front of B_UTF8_ELLIPSIS.

As PulkoMandy said in hrev47388: C++11 safe and reads better.


# 888f72ca 09-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: close Desktop window on switch to spatial mode

If you have the Desktop window open when you switch to spatial
mode this will now close the window. You aren't allowed to have
the Desktop open in 2 places symultaneously in spatial mode.


# 157e4b42 09-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Replace max_c() with std::max()


# 9437e677 09-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Style fixes


# e37767b0 01-Feb-2014 John Scipione <jscipione@gmail.com>

Tracker: some style fixes to BContainerWindow()


# 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


# bd336e3a 19-Oct-2013 John Scipione <jscipione@gmail.com>

Update semantic shortcuts

Update BKeymap::GetModifiedCharacters() to translate a given character
and set of modifiers filling out a list of all characters that match for another
set of modifiers.

This allows us to, for example, get all characters in the normal map that
have the '+' character in the corresponding shift map.

It is fully generic allowing one to get a list of characters in any map given
a character and modifiers of another map.

Also I converted from using a BList to using a BObjectList.

With this, along with BWindow::HasShortcut(), the semantic shortcuts now
work not only with Command+'=', but any key in the normal map that has
'+' in it's shift map as long as it isn't already taken by another shortcut.


# 57f830ce 18-Oct-2013 John Scipione <jscipione@gmail.com>

Tracker: Add semantic zoom in shortcut.

Fixes #6692

iif '+' is localed in shift + '=' in your keymap, add a shortcut for
Command + '=' to zoom in.


# 000e7d40 18-Oct-2013 John Scipione <jscipione@gmail.com>

Tracker: Add zoom shortcuts to menuless windows

(for instance the desktop)


# f8a99c90 09-Aug-2013 Rene Gollent <anevilyak@gmail.com>

Cleanups.


# ac4d653d 09-Aug-2013 Rene Gollent <anevilyak@gmail.com>

Tracker: Fix another navigator issue.

The problem indicated by #8388 hid another issue with respect to
show/hiding the navigator on the fly, namely that it didn't correctly
respect the type of Tracker window, which would cause the navigator to
show up in cases where it shouldn't, such as query windows.


# d058a4ae 10-Jul-2013 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: store default add-ons shortcuts in resource

* Default shortcuts for add-ons are now stored within the binary as a resource
(it was previously appended to the file name, as Open Terminal-T, for example)
* Use ~/config/shortcuts_settings to override those default shortcuts
(editable with Shortcuts preflet)
* Tracker avoid rescanning the add-ons directories when unnecessary
* Monitor the shortcuts_settings to apply changes on the fly
* Fallback to default shortcuts whenever appropriate (settings file deleted, etc.)
* Should fix #4446 (with resource rather than attributes)


# 1c29b26e 29-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add virtual directory feature to Tracker

Similar to stored queries, files of the virtual directory type behave
like directories -- i.e. they open in a list-mode Tracker window and
show up as an item with submenu in navigation menus. The file itself is
a plain text file in driver settings format. It can have an arbitrary
number of "directory" entries, which specify the paths of (actual)
directories for which the virtual directory provides a merged view. The
view will not show duplicate entries. For non-directory entries the
first one encountered (according to the order the directory paths are
specified in the file) will be shown. A subdirectory entry will again
behave like a virtual directory.

The support in Tracker isn't perfect yet. I'm afraid major refactoring
would be necessary to get it there.

The virtual directory file type uses a differently colored version of
the folder icon. Alternatives welcome.


# 0ebfc3e0 23-Jun-2013 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: remove superflous separator item in ContextMenu #6997


# 163a3948 09-Feb-2013 Humdinger <humdingerb@gmail.com>

Revert "Renamed Tracker option "Don't move files to Trash" (#9352)"

This reverts commit 45f77dcd7029914ccd99178dfb333eb68c7af9e5.


# 2e6221ff 27-Jan-2013 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Replace usage of ceil by ceilf


# 45f77dcd 06-Jan-2013 Humdinger <humdingerb@gmail.com>

Renamed Tracker option "Don't move files to Trash" (#9352)

Renamed that option as it is the only negatively phrased to
"Move deleted files to Trash first" and also the option below
that to "Ask before deleting for good".
Also renamed every function name etc. in that regard and also
settings string of the Tracker settings file.


# a74c82b9 25-Dec-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Drawing issues in dragBitmap (#8005)

Remove rounding issues in height calculation leading to drawing issues when using some font sizes.


# 205cf695 24-Dec-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Force Identify - don't require holding shift (#4857)

Don't require to hold shift when clicking on force identify,
can now be released after popup menu have appeared.


# ff09527e 02-Oct-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

Tracker: Introduce "Restart Deskbar" option (+alpha3)

* Matches "Restart Tracker" option in Deskbar
* Only shows up when 0 Deskbar processes exist
* Don't dereference fFileMenu if RepopulateMenus called
on desktop (no menu bar)
* Regenerate desktop menu on each click
* Resolves #9039


# cc2b203e 17-Aug-2012 Humdinger <humdingerb@gmail.com>

Reverting part of hrev44535.

Renaming "Preferences" to "Tracker preferences" has been
unexpectedly contentious. Reverted.


# ef4ed1b7 15-Aug-2012 Humdinger <humdingerb@gmail.com>

Replaced "Preferences"/"Options" with "Settings"

Replaced remaining "Preferences" and "Options" with "Settings" as
that is generally used for app settings instead of the system
preferences found in the preference panels.

Renamed Tracker's "Preferences" to "Tracker preferences" to be
similar to the entries in the Deskbar and e.g. the Media replicant
in the Deskbar tray.


# aed35104 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.


# adf8818e 05-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation fixes for Terminal, add to image.

It runs, but has shown up various bugs: app_server crashes, kernel
panics, rendering problems. Working on fixing these now.


# e51854a1 15-Jul-2012 John Scipione <jscipione@gmail.com>

Add 96x96 and 128x128 icon sizes to tracker including scaling of BeOS icons using scale3x and scale4x algorithms.


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

Round 2 of style changes to Tracker

* focused on 80-char limit fixes.
* also some whitespace and case statement indentation fixes


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

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


# 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


# 50d739de 23-Jul-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Regression fix

A crash of Tracker was triggered when accessing AddOn menu (by
shortcut or context-menu) for Pose on Desktop, because of it's
incapacity to read the mime type list (that wasn't built in
those cases).


# 5cdd07a8 23-Jul-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Optimisation of AddonMenu menu construction

1. Build the list of mimetypes of files in selection only once and
reuse it for all further tests.

2. Fix a regression introduced in hrev44384 where the MimeType()
wouldn't get recognized when just changed by tracker (by that same
right click). It would be on subsequent clicks.

3. Rename the static map variable to better fit our coding style
and be more understandable.


# 674ff0df 22-Jul-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Various sorting issues in Tracker

When sorting files by Modified dates, right clicking on a file was leading
to a sorting issue where files were changing positions (without reason).

1. Any changes to stats (size, modification, creation, mode) was triggering
the sorting. Now only stats fields currently used as a Sort criteria will
trigger such event.

2. The Mimeset of file was set (in case of unknown file format) once per checked
add-on when building AddOn Menu. Now it's checked once per file in selection.
(so, once per file, rather then once per file, per add-on).

3. Now rely on registrar to force the mimeset (to trigger the sniffer in case
the attribute already exist) rather than trying to duplicate the feature in Tracker.

4. When Sorting, if there is a old position known, check if it's working by looking
if you should come after the previous item, and before the following item. Previously,
the item would be pushed at the top if the group of item all fitting the criteria
(same file size, same file kind, etc.. depending on the sorting criteria).

Fixes #8478.


# 72b7db34 21-May-2012 Reznikov Sergei <diver@gelios.net>

Added resize to fit shortcuts. Partially fixes #7467.

* Adjusted initial tracker windows width to fit modified column.
* Resolved a TODO: Added get info shortcut to Open with window.

Author: Sergei Reznikov <diver@gelios.net>

Signed-off-by: Alexandre Deckner <alexandre.deckner@uzzl.com>


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 581a9661 05-Jan-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Fix inconsistent "Open parent" behaviour

1. When in /boot, you couldn't go to the parent (which is fine by itself),
but the menu item wasn't disabled.

2. In Single Window Browsing, doing "Open parent" wasn't respecting that
setting and was opening new windows.

3. In filepanel, when navigating to Desktop folder, the "Go to parent" was
still proposed even though it would do nothing choosing it.

4. Opening a Pose in Single Window Browsing was repopulating the menus and
putting the shortcuts again. That was an issue if Navigator bar was used
since it conflicts with its shortcuts.

Fixing ticket #6851.


# 9cf506a2 18-Jul-2011 Philippe Saint-Pierre <stpere@gmail.com>

Tracker:

* Add "Arrange By" submenu in Window menu.
* You can arrange by the same fields you can sort by in list view. Changing your sorting order in list view will change the Arrange By choice when you enter icon view and vice-versa.
* Support ReverseSort order.
* Keep the clean-up feature, but it's now under the Arrange By menu.

Fixing ticket #1349.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42448 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


# df1c9e98 17-Jul-2011 Alexandre Deckner <alex@zappotek.com>

* Slight renamings, no functional changes.



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


# 29769e04 17-Jul-2011 Alexandre Deckner <alex@zappotek.com>

* Don't do anything in MouseIdle if we're not dragging a message.

This especially avoid bringing tracker windows up to front when staying idle
over a tracker window while holding down a button. This could happen when
hovering while still holding a scroll thumb of another overlapping window.

Fixes regression #7829 introduced in r41892

* Also properly reinitialise the cached dragMessage on B_EXITED_VIEW,
otherwise it would still think it is dragging and thus still pass through my
above fix.

I'd like to cleanup the drag message caching mechanism as it's not
pretty in my opinion. Possibly even adding it to BView.


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


# 7560163d 18-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Revert r42223 since it breaks some cases.
* Simplify handling a bit. Instead of more or less duplicating some of the
move logic from PoseView, simply construct an appropriate target model and
let PoseView's HandleDropCommon() take care of understanding what to do with
the drag message. This has the side effect that things like dropping a text
clipping message onto a target in an x-ray menu actually works as expected
now.



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


# 955ffec2 07-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Revert the old change r36762 which added a small offset to tracker right click
menus since it is no longer needed after r40132/r40142. Thanks diver for the
reminder.

#5809 can finally be closed again.


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


# 5987b2a3 07-Apr-2011 Jonas Sundström <jonas@kirilla.com>

Offer a 'Real name' column in Tracker list view mode, when set to show localized names. As discussed a while back. I honestly don't know if this is such a great idea after all. Name + real name is kind of silly. Ideally it would be labeled in a more logical way, or the feature should be dropped.

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


# 88608174 28-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Disable menu item 'Edit name' for Desktop, Root, Trash and entries with localized names.

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


# 2d5868f8 22-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Use short-circuit evaluation to avoid out-of-bounds string access. Thanks Jérôme!

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


# 7758e371 22-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Enable localization of Tracker add-on names and shortcuts, with the canonical name and shortcut as fallback.

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


# 96f9949a 22-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

The parent menu of the attributes menu might be showing, thus it needs
to be locked before its font is retrieved or items are added.


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


# 41b9586a 12-Feb-2011 Axel Dörfler <axeld@pinc-software.de>

* Let SelectionWindow::MoveCloseToMouse() also take the current workspace into
account. This fixes bug #7211.
* Also, don't move it that close to the border of the screen (it now keeps an
offset of 20 pixels).
* Always move the selection window to the mouse position, even if it's already
on screen.
* Close the window when pressing the escape key.


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


# 7eb2d53b 10-Dec-2010 Jérôme Duval <korli@users.berlios.de>

Now checks BPath init status before using it, this was crashing the Tracker in #6305.


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


# 0741a7c2 20-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Automatic whitespace cleanup.

When in single window mode, also add opt+cmd+down as a shortcut to navigate to the selected folder in a new window. Fixes ticket #3548.


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


# d769c15a 18-Nov-2010 Alexandre Deckner <alex@zappotek.com>

* Remove cmd+opt+ctrl+up shortcuts since that's an undocumented old combo and it clashes with workspace navigation. Only cmd+up and opt+cmd+up remains. I've checked that it indeed conforms to the user guide, but having a second eye wouldn't hurt. Also reordered the constants for more consitency between the calls.

Fixes #6833



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


# 419df705 22-Oct-2010 Rene Gollent <anevilyak@gmail.com>

Style fix.



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


# df66f40b 22-Oct-2010 Rene Gollent <anevilyak@gmail.com>

When right/control click drag and dropping onto an x-ray menu, present
the same choices that we do when dropping onto a normal poseview.
Resolves #6732.



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


# 7b80b5d5 17-Sep-2010 Alexandre Deckner <alex@zappotek.com>

* Use multiple translate contexts in Tracker for easier translation


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


# 43f24e05 08-Aug-2010 Alexandre Deckner <alex@zappotek.com>

* Apply patch by Takashi Murai, find menu items by message code instead of item name (correcting previous patch)
I've found more occurences but i will solve it differently since they are about finding messageless submenus.
Thanks!


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


# 4ed28a57 12-Jul-2010 Alexandre Deckner <alex@zappotek.com>

* Applied libtracker localization patch from T.Murai (a.k.a mt) with some modifications (see below).
* Functional modifications:
Reworked InfoWindow file size localization, the patch removed number formating (size in bytes) and was too complicated to my taste.
Replaced the uses of sprintf with the safer snprintf.
Changed signature to x-vnd.Haiku-libtracker instead of x-vnd.Haiku-libTracker (to be consistent with the binary name)
* Style modifications:
Reworked lots of 80 char indenting (probably due to the now shorter line lengths since your previous patch that wasn't using the macros)
Lots of missing brackets when "if's" becomes multiline.
Other minor fixes.

Noticed a few uses of FindItem on translated names that might become problematic someday. Added some TODO's regarding localization of file sizes. Localization might still be
optimized a bit regarding the produced en.catkeys

Note to translators: .catkeys files should be placed in haikusource/data/catalogs/kits/tracker though beware as the base en.catkeys might change
slightly in the next days.
Note to users: As with any other app you need to restart Tracker (or any aother app using libtracker's filepanels) for it to pick the locale setting. E.g: use 'quit an
application' and 'restart Tracker' from process controller.

Thanks a lot T.Murai


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


# da816940 08-May-2010 Stephan Aßmus <superstippi@gmx.de>

Don't open context menus right under the mouse so that the first item is
already selected and get's picked when the user releases the mouse right after
the initial click. For model context menus, like right clicking a mounted disk
on the desktop, this somehow worked without selecting the item. But opening
the context menu on an empty part of the desktop always selected the Desktop
entry which resulted in the menu immediately closing without any effect. The
perhaps unwanted side-effect of this change is that navigation menus don't
automatically open unless you move the mouse a bit. Please play with this a bit
before commiting to alpha branch. I remember having to move the mouse a bit
on R5 as well, but could be wrong about it.

The real fix would be in BMenu and BMenuBar tracking code, but the changes
which I would have in mind are too radical to do before the release. I
understand that _IsStickyMode() is supposed to handle this case, but it actually
has too little information, since each menu is tracking the mouse state itself
and doesn't know what another menu already knows. Perhaps this is what the
"start" parameter was for in the original _Track() hook, but why not simply
create an object which is passed from menu to menu and tracks everything of
relevance and maintains state?


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


# 4ab96afd 04-May-2010 Rene Gollent <anevilyak@gmail.com>

Use openAnyways mode instead of click to open rect for tracker context
menus. May help with #3267.



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


# ab5fb573 28-Apr-2010 Alexandre Deckner <alex@zappotek.com>

* Removed what finally looks like an old (and not needed anymore) workaround. That is, the sending of a message when dropping a pose over another one while its context menu is still showing. That was causing #4757 since poseview was receiving the dropped message two times.

I've been investigating the issue in depth, it's there since the first opentracker revision, so i even installed R5 and built/debugged opentracker to confirm it was indeed needed on R5. That would be another case of undocumented (misdocumented) workaround for an R5 bug, ie: BMenu would steal the drop message although the mouse isn't over it anymore (Stefano idea?). Heh if only i could reach the original Tracker devs :-D

I don't like when i don't understand a problem up to the last bit, but it should be reasonably safe for alpha2 +alphabranch


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


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

Model: Add accessor for Trash node property and cleanup spacing between inlines.
Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check.



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


# a65ec153 15-Jan-2010 Rene Gollent <anevilyak@gmail.com>

Fix style violations (thanks Axel!).
Update filesystem name in find_directory as our fat filesystem is not named "dos".



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


# 01dffd8e 14-Jan-2010 Rene Gollent <anevilyak@gmail.com>

More Tracker refactoring:
* relocated Trash dirs to volume roots by modifying find_directory() to report the trash location as volume/Trash.
* FSUtils no longer creates /home/Desktop on every volume.
* TrashWatcher now keeps icons in sync on all volumes.
* Simplified FSGetDeskDir since it no longer has to worry about getting the desk directory on any volume other than the root.
* Relocated trash context menu logic to BContainerWindow so it can also be used at the volume roots.
* DesktopPoseView now creates a virtual Trash pose representing the trash contents as before.
* Corrected typo: Model::WriteAttrKillForegin() -> Model::WriteAttrKillForeign().

Closes ticket #5245.



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


# 82d8aaf8 12-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Changed strings to sentence case. The changes in StatusWindow and
FSUtils are missing because I have some unfinished work in progress
in those files. Will commit them separately. This is case-tracker.diff
from #5169.


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


# 5b41cd61 04-Dec-2009 Rene Gollent <anevilyak@gmail.com>

Clear the navigation menu before populating it. Fixes ticket #5079.



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


# d3b11328 27-Oct-2009 Rene Gollent <anevilyak@gmail.com>

Move CheckDevicesEqual into FSUtils so it can be used in more places.
Rework ContainerWindow's B_REFS_RECEIVED to use CheckDevicesEqual to decide move vs copy as is done elsewhere.

Fixes ticket #4850.



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


# 76e853e2 02-Sep-2009 Joachim Seemer <humdingerb@googlemail.com>

Renamed menu 'Attributes|Copy/Paste Attributes' to 'Attributes|Copy/Paste Layout'. Fixes #2835.

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


# 14347545 11-Aug-2009 Philippe Saint-Pierre <stpere@gmail.com>

Now it also considers the MimeType of symlinks targets when proposing add-ons in tracker.

This fixes ticket #2775.


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


# a9218c9c 08-Aug-2009 Rene Gollent <anevilyak@gmail.com>

Oops, check was reversed.



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


# d726fd50 08-Aug-2009 Rene Gollent <anevilyak@gmail.com>

When picking file destinations via the slow context popup, also do the copy vs move check based on device. Fixes ticket 4202.


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


# 7e1f710f 27-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed the superfluous Ctrl-Alt-Up shortcut from Tracker that clashed with
the new workspace navigation.


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


# d219b1fc 26-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Let AddMimeMenu() check if the MIME type is valid, otherwise BMimeType::Type()
could return NULL. This fixes the crashing part of #4037.


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


# 5422febd 14-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Fixed a few coding style violations and GCC4 warnings.


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


# 5e71c7b1 16-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Obaro Ogbo (nastee) with small changes by myself:
* Added "Close All in Workspace" menu item in the Window menu. The shortcut
is 'Q', which is usually the Quit shortcut. Since Tracker prevents quitting
via this shortcut, overriding it like this is ok, this was also discussed
in the ticket #2833. I've tested that the existing functionality is not
disturbed (ie Quit in the Settings panel still works, as does quitting
Tracker via "hey Tracker quit"). I did not add the "Close All" menu item,
since that feature is already available via DeskBar and when pressing the
shift key before opening the Window menu.
* I did change the additional short cut. As with "Clean Up" versus "Cleanup Up
All", it's now consistently the shift key, which you have to press.

Note to Obaro: The only other change was that one can set the target of the
menu item to be "be_app", that way one avoids dispatching the message in the
window. Thanks a lot for your work, Obaro!


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


# e70b6d95 06-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

* Cleanup in the icon mode stuff. kScaleIconMode is gone. There is simply
kIconMode and it can have different sizes.
* The "Icon Mode" super menu item is marked, when in icon mode, as well as
the size item in it's sub menu.
* When switching from mini icon mode or list mode back into icon mode, the
previous icon size is now restored. This also works when the folder has
been closed meanwhile. (The on-disk format for view state has changed, so
your folders will open with default values.)


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


# f5bdd554 06-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Maxime Simon with small changes by myself: Change the icon size
menu as discussed in ticket #2431. There are only three main shortcuts for
icon, mini icon and list mode. Additional short cuts have been added to
increase and decrease the icon size. I've moved the shortcut from the 32
icon size to the menu item for the icon size menu itself. Unfortunately,
icon placement does not scale with the size (as before) and switching to
icon mode from one of the other modes does not restore the previous icon
size. Looking into it.


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


# 019f90e6 05-Apr-2009 Jonas Sundström <jonas@kirilla.com>

Setting the escape key as shortcut for the Cancel options of Tracker's dialogs.

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


# 561b5d97 05-Apr-2009 Alexandre Deckner <alex@zappotek.com>

* Implements enhancement #2829, ie: change the modifier key (now shift) to force identify on
already identified files and change the menu item label accordingly so that the 'feature' is
not hidden anymore.
The identification mechanism will probably be automated in the future, forcing
identification would then become the only use of this menu item.


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


# 86e64a73 04-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Maxime Simon: Add short cuts ot the icon modes. Thanks a lot! Fixes
ticket #2431.


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


# cafee0b7 23-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Improved/fixed the look of file panels. If I feel motivated enough, I may
also fix the font-sensitivity issues.
* The CountView can now draw part of the PoseView focus indication. Though I
am not convinced anymore that I am approaching this the right way. Maybe
scroll views should simply leave room for drawing a frame between child
and scroll bars...
* ContainerWindow::BackgroundView uses the new BControlLook method to draw
the scroll view frame to look just like a regular scroll view.
* Some fixes to layout of controls in file panels and minimum window size.
There would be much more left to do...


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


# 08ff393d 21-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Fix DraggableContainerIcon drawing after recent BControlLook method signature
change for DrawMenuBarBackground(). The borders are passed one position later.


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


# 2f86ba45 15-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented a new look for the Haiku interface controls. It was
overheard that they looked too ninety-ish.
TODO: The code behind this is work in progress. The basic idea
is to extract all drawing code into a new class BControlLook,
of which there is a global instance be_control_look, instantiated
in InterfaceDefs.cpp. At the moment, all the old drawing code is
still there, and the usage of be_control_look is inside if-bodies
checking the instance against NULL. In another words, by not
instanitating be_control_look, you can revert back to the old look.
BControlLook's job is to provide reusable methods for drawing
certain types of frames, backgrounds and labels, so that application
developers can make controls that re-use the same drawing code
as built-in controls and adopt to changes made there. I have added
the notion of "borders". Each of the frame drawing methods can be
made to draw certain borders only, which is supposed to help when
controls shall visually attach. This feature is not fully explored
at all ATM.
TODO: Update BColumnListView header view and BStringItem text
spacing. Update other apps where it makes sense to use BControlLook.
For the moment, only Tracker and LaunchBox are updated. More...
NOTE: The new look is not very radically different, so that existing
apps do not immediately look too ugly or out of place.


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


# 4f3347b6 03-Feb-2009 Joachim Seemer <humdingerb@googlemail.com>

As discussed here:
https://lists.berlios.de/pipermail/haiku-commits/2009-February/014198.html
We decided on a distinction between path+filename and only the path to a file.
I changed the places a user is exposed to the issue, using the definition:
Path with filename: "Path"
Path without filename: "Location"


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


# 8e1e99a3 01-Feb-2009 Rene Gollent <anevilyak@gmail.com>

Fix Create Link from context menu.



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


# 12f46beb 29-Jan-2009 Rene Gollent <anevilyak@gmail.com>

Fix a regression introduced with my previous commit where forcing Move would not always be respected.



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


# fc7b01b1 31-Oct-2008 Alexandre Deckner <alex@zappotek.com>

* fix coding style


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


# e3bcc1dc 31-Oct-2008 Alexandre Deckner <alex@zappotek.com>

* Combine the two calls to ScrollBy into one.


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


# 84dcf4f2 25-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

CID 996. Don't leak the BString

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


# fbf8d9c8 14-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

Remove superfluous NULL check as menu being non-NULL is asserted at the top.
Fixes CID 1075.

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


# 83705761 28-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Better be safe than sorry. Check MIME type and super type after
constructiuon. Thanks Rene for reminding me that BMimeType actually has a
InitCheck() method. :)




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


# 206c62f0 21-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Got rid of the "count" parameter and maintenance altogether - makes the code
much simpler.
* Simplified code to compute "start", ie. the index of the first MIME type menu
item.
* Promote MIME types to the top-level if their super type don't add any
attributes.


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


# 090da60b 22-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Renamed CreateMimeMenu() to AddMimeMenu(), as it now also adds the menu to
its parent. The item count of the parent is now actually adjusted, so that
additional entries are found.
* AddMimeMenu() now returns the menu of an already existing MIME type. Hence,
we don't add the supertype menu twice anymore for each type, or don't add
the second type at all when called again.
* Cleaned up naming, consistent use of "* " vs. " *".


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


# 15a27c4d 22-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Whitespace cleanup, no functional change.


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


# e51479d9 21-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Creates the supertype menu when only supertype attributes are present.
- *NOW* it works.



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


# be8c87ab 21-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Added a new CreateMimeMenu() method that creates the menu with attributes
for a specific MIME type.
- Attribute menus now display a hierarchy with type and supertype attributes.

This looks a bit ugly but mostly because not all types and supertypes have icons and descriptions. Anyone up to do a MIME database cleanup? :)



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


# d511a89a 19-Jun-2008 Alexandre Deckner <alex@zappotek.com>

- Since r21336, BView::ScrollBy was checking the values against the ScrollBar ranges but ScrollBy is often called before
updating the scroll range (ie: in ContainerWindow.cpp). IMO, the programatic ScrollBy method shouldn't depend on the
ScrollBars ranges or state. The original fix in r21336 was apparently hiding other BScrollBar or BView bugs that have been
fixed in the mean time.
The content was offseted when going back to list mode after moving icons on the left/up in icon mode. This fixes Tracker bug
#2312.

- Revert and fix changes to ContainerWindow.cpp in r18481 (cvs 1.37). The condition was broken, but it wouldn't ScrollBy()
anyway due to the previous problem. Fixing BView made the content autoscroll even if the lefttop corner of the extent was
already visible.

- Probably unrelated, fix changes to ContainerWindow.cpp in r18993 (cvs 1.38). PoseView()->Bounds().left/top < 0 is expected,
if for example in icon mode you move an icon close or crossing the left side of the window and then scroll left to adjust.
This fix ResizeToFit that wouldn't scroll the view correctly in some cases.

So we had a Tracker Bug uncovering a BView fix that was hiding another Tracker bug, everything is fixed hopefully, phew :-)


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


# f6e4cbb9 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


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


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

There is no reason the printers directory shouldn't have the folder icon.


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


# 67aa3b3e 26-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

The "Delete" item in the Trash is not really needed - but was pretty close to "Restore"; I've removed it for safety.


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


# eeb608e1 26-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

* StringFromStream() did not work correctly for empty strings (messed up the stream
position).
* StringFromStream() called BString::LockBuffer() with "length", but touched "length + 1"
bytes.
* Prepared for the new "display as" FileTypes feature.
* The "DefaultQueryTemplate" folder now adds the MIME type of the folder to the
attribute menu for simplified editing (before, you had to move a file with a
matching file type into that folder to be able to add the attributes you likely
wanted to see).


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


# 75159db4 04-Jun-2007 Jonas Sundström <jonas@kirilla.com>

The menubar icon at the top-right of Tracker folder windows now uses the view color of its parent view. This fixes bug #551.

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


# 2395270d 21-Jan-2007 DarkWyrm <darkwyrm@gmail.com>

Label tweaks as agreed upon on list
"List folders first" and "Show Full Path" default to on now


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


# eaac0739 19-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

* Fixed build under R5/Dano that was broken since Stippi added vector icon support.
* Separated Haiku's icon stuff a bit better, so that Tracker can still be built
without having Haiku headers around.
* Minor cleanup.


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


# 1130b709 04-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Tracker now uses the name of the symlink for add-ons, instead of resolving it first.
This fixes bug #602.


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


# 26a0f125 02-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

Fixed a wrong error message in case an add-on couldn't be loaded. Reported by BeOS Mr. X.


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


# 784166f2 03-Oct-2006 Axel Dörfler <axeld@pinc-software.de>

Imported ContainerWindow.cpp 1.39 from OpenTracker repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18993 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


# 7fb6186f 29-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* integration of vector icons with the registrar and the mime data base
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


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


# 4b66b0e0 20-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

Imported ContainerWindow.cpp 1.38. This fixes bug #298.


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


# 4f459891 11-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

* Imported files from OT-current:
- InfoWindow.cpp 1.17, .h 1.5
- TrackerSettingsWindow.cpp 1.9
- ContainerWindow.cpp 1.37, .h 1.7
- DialogPane.cpp 1.4
* This also fixes bug #718.


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


# 9195c270 13-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Imported ContainerWindow.cpp 1.33 from OpenTracker CVS. This removes
an extra menu separator in the window context menu.


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


# fe49a8a3 11-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Imported DeskWindow.cpp 1.8 and ContainerWindow.cpp 1.32 from OpenTracker CVS.
This fixes bug #298.


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


# 12104c2e 26-May-2006 Stephan Aßmus <superstippi@gmx.de>

synced with OT repository - I guess you knew what was comming,
Tracker saves and restores the window decorator settings on
Haiku.


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


# a615ec8f 30-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

Imported OpenTracker-current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15764 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


# 2d34b65ec2ee456b194706088df58dc3f1f6cfc2 15-Sep-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Tracker: fix insets of vertical scrollbar.


# d8b517b50f1a5a04e959ec2bfb0011b07f931793 09-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Tracker: made title view height depend on font size.

* It now uses a font that's 3/4 the size of the plain font; ie. there
shouldn't be any change with the default font size.
* Also cleaned up some weird layout code on the way.


# f0b3691d10b63d733d8ff288e1c6587ce51ab87d 09-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Tracker: Removed extra border next to the draggable icon.

* Also removed extraneous call to BMenuBar::SetBorder(); B_BORDER_FRAME
is the default, anyway.


# a4db376caae2083d6867ba4c2f5fb6fe423242da 03-Aug-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Fix crash when the VirtualDirectoryWindow can't create the PoseView.

Fixes #11859. We may want to show an error message rather than failing
silently, but at least that is better than crashing.


# ffc3c6172b883af00e9ddc1bf79a55ab55abc540 29-Jun-2015 Philippe Saint-Pierre <stpere@gmail.com>

Incorrect font applied in Add-on submenu

When accessing the Tracker Add-on menu from ContainerWindow's top menu, the
font in Add-Ons submenu would change from its parent menu.


# ee87fbc421ee3df49842c1c216e15b4fc0c0aaf4 28-Jun-2015 Philippe Saint-Pierre <stpere@gmail.com>

Do not hardcode tab height in ResizeToFit()


# 969a5d2fac18758844b4653622181d4863ea6817 20-Jun-2015 John Scipione <jscipione@gmail.com>

Fix mess in Tracker add-ons created in hrev48858

Revert the Tracker portions of hrev48858, they were not needed and were not
right either... sorry guys

OpenTargetFolder add-on modified slightly to use the passed in symlink(s) only,
the parent directory ref is unused, it appears to be unneeded here also.

With this and the reverted commits Zip-O-Matic and other add-ons should
work again.

Fixes #12105


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

Tracker: fix extra border in spatial mode.


# 4f716de692f128591a988d80fb411248cdea8f23 05-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker: Fix Tracker add-ons

Would crash if PoseView()->SelectionList()->ItemAt(0) was NULL

Fixes #11894


# 2634c39731fdbbbd5324944bffb5075abe71619f 03-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker and Open Target Folder: fix for containers

Containers meaning directories, queries, and virtual directories

Open Target Folder was basically rewritten to work with BEntry's that are not
BDirectory's which makes it work not only for regular directories, but also for
symlinks in virtual directories and even symlinks in queries (which also didn't
work, and now does).

Update version to 1.0.1 and copyright.

Fixes the rest of #11091


# 7ef62fb6c2485f91ba49b0cde5e73e62687375e9 27-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Style fixes

* Style fixes to QueryContainerWindow.h
* Style fixes to ContainerWindow
* Style fixes to Model
* Style fixes to Tracker
* Style fixes to PoseView
- Most of the changes come from unindenting the code


# 1d329e209ad284d7c84cf1b13c59f31711d38d7b 01-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: fix CountView sizing issues.

And now, the sizing differences between layout Tracker and non-layout Tracker
should not be noticeable to the naked eye.


# 1dedefaf231d4799e9a8927f68ca4af7bd0cfd3a 02-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: don't initialize layouts when we're not supposed to.

This didn't cause any problems before because all the views that don't
use layouts reimplemented this function. But that may not be the case in
the future.


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


# 95e8362c52af35a4012ca4d0facd62fb9856b619 25-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Save Desktop state again

Let me tell you a story about a bug.

In a615ec8f86406c14607c656cf90492bc58bd73d0 Axel imported the OpenTracker code
into Haiku with fSaveStateIsEnabled set to true (for Desktop and all windows).

In 9f2a3f6f47d121411c85a1e939f1cda80a4b4b1d I (John) changed it to:
fSaveStateIsEnabled(dynamic_cast<BDeskWindow*>(this) == NULL) which is suppose
to detect whether or not the ContainerWindow is the Desktop and only save the
state if it is NOT. However, this didn't actually work because since this is
called in the constructor the dynamic_cast to BDeskWindow* fails. Therefore we
were still saving the state of Desktop even though the code make it look like
we weren't.

In e7803cf1f69a81b1c77880518ba16b6708c1efdb Augustin updated the code so that
BDeskWindow passes in a isDeskbar flag as part of the constructor parameters
thus detecting that the window was Deskbar correctly. So basically Augustin
fixed the bug detecting whether or not the window was the Deskbar in the
constructor which then disabled saving the Desktop's state to attributes.
Augustin unknowingly turned saving the Desktop's state off.

We don't want to disable saving the Desktop's state because that's where we
store things like the icon size. What I was probably thinking when I tried
unsuccessfully to turn off saving the state of the Desktop was that I don't
want to save the WINDOW state of the Desktop since that would save the
window dimensions of the Desktop (whatever your screen resolution is) and if
you changed Tracker to non-spatial mode and opened the Desktop in a Tracker
window it would pick up those attributes and then make the window take up the
entire dimensions of your screen (a whole different bug).

This bug, however, is also handled in 9f2a3f6f47d121411c85a1e939f1cda80a4b4b1d
because code was added to BContainerWindow::SaveWindowState() which detects
whether or not the window is the Desktop and if so, doesn't save (or restore)
the window state (which is only part of the state).

So with this change (reversal really) the other parts of the Desktop's state
like icon size are once again saved while the window state is not.

Fixes #11864


# 94dcb68b55842ef00ecd3ee4bce26adbb7899baa 25-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Code simplication

Replace calls to dynamic_cast<BDeskWindow*>(this) != NULL with fIsDesktop
which is the flag added to the constructor in
e7803cf1f69a81b1c77880518ba16b6708c1efdb.

We no longer need to do the expensive dynamic_cast's because we have a handy
flag to check instead.


# 2f5fe16a3e5f838f26b296a2f2926cce407f014f 14-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: delete #ifndef __HAIKU__ code.

Since tracker_layout has been merged, this is pretty useless now.
Should result in no change to generated assembly.


# 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).


# da51f9c366f2f68d902debc379bcd705a0fa8fdb 19-Jan-2015 John Scipione <jscipione@gmail.com>

Make Tracker MIME type add-ons list a BStringList


# 2f60dea53ae5e08baeae2c4e41c89a8d2e74aaa6 29-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Throw exception on assert failure

... in situations where a NULL pointer dereference was vital to the
functioning of the method we use a stronger assert that throws an
exception on failure. This is accomplished by a new method in
Utilities.cpp, ThrowOnAssert().

None of these conditions should ever be true, if they are it means that
the code is written improperly and would have resulted in a NULL
dereference and undefined behavior (most likely a crash) before.

Most instances of ThrowOnAssert() either replace an ASSERT followed
by a dereference or an early return that covered the error.

Also remove _ThrowOnErrorWithMessage() which wasn't being used.


# 00ce643768261402f1ee26c8f9471db2d1cc339e 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix uninitialized pointer, CID 991718

fTrashContextMenu was never initialized in the constructor
(looks like it just got overlooked since all other pointers were.)


# 1a250696ed3f07aa8c0b89c0e79dc3b3a6309a94 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix use after free, CID 610577

This seems to happen when BList got converted to a BObjectList.
The latter frees items when removing them by default while the former
does not.


# 50060fccaae21806912660a7beefdebd518b94a9 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix unchecked return value, CID 602466


# 4083dbf1ab8eee9de96365125d257574b24dfef9 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix NULL dereference


# 9b9c1e2779e99e92a0028c5236f0e40620461690 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix memory leak, CID 600996

We now only create the BString if we're going to put it in the list.


# 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


# 4deecac06145277bb0e0f650be7725880c780f44 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Fix BuildMimeTypeList(), styleish and correct

Thanks Axel for pointing out my error.


# b992df8968fcc9e83f0e247966571196ce5c90c9 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Don't crash clicking Open with... menu item

This bug was introduced in hrev47498

The reason Tracker crashed was because OpenWithContainerWindow
had a NULL TargetModel() which we were trying to dereference.

Fix this by creating an empty model in OpenWithContainerWindow. Add an
ASSERT to check that the TargetModel() is not NULL in the future.

Another way to fix this bug would have been to check that TargetModel() wasn't
NULL each time before we use it. I didn't go with that solution because we
assume TargetModel() is not NULL in a lot of places so it would be a lot of work
to check them all. I think it's better to give OpenWithContainerWindow a dummy
model even though it doesn't make sense for it to have one just so that we don't
crash when we try to dereference the pointer.


# bb804d092e1aeb1a9245f1a90beb22950b936925 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Make sure count > 0

... in a more stylish way, no negative counts allowed.


# 6527415d5a7134839f2ed65459a63e3c310dce9c 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: obligatory round of style fixes

* Explicit NULL checks
* whitespace
* single line if gets no {}'s
*


# 61dec7d2ec230a5ec8351fa171e3b0af5ccab36e 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: fix bug introduced in hrev17795

Ticket #298 for context.

In BContainerWindow::AddWindowContextMenus() pasteItem is used but
not declared if CUT_COPY_PASTE_IN_CONTEXT_MENU is defined.


# 5ddedec51aa353ddca27c237861a02be2fe27a6a 18-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: more style fixes to ContainerWindow.cpp

* Rename templateMenu to templatesMenu.
* 80 char limit fixes
* whitespace fixes
* Declare 1 item per line.
* Don't set variables inline, set, then use.
* Explicit NULL comparisons
* {}'s around if statment with multi-line appearance


# 9f2a3f6f47d121411c85a1e939f1cda80a4b4b1d 27-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Move opening Desktop window to constructor

BRoster::Launch() sends B_REFS_RECEIVED before B_READY_TO_RUN
if the application is not running, so, when B_REFS_RECEIVED looked for
the Desktop window it wasn't created yet since that happen in ReadyToRun().

By creating the Desktop window in the constructor instead it is available
in RefsReceived() so an extra Desktop windows isn't opened.


# 8b9604572e887b4152810b97f9957421d7327dd8 27-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes to ContainerWindow


# c2d07d9988d5a9e179ee4ceb535e8345ed1f8c44 26-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: yet more style fixes


# d7e682113776632e5c04a6558eca0c5650a164e4 04-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: miscellaneous style fixes


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

Tracker: Style fixes to ContainerWindow


# fcd2bfb7738d21de61862eef3ddace2d5863311b 15-Jul-2014 Philippe Saint-Pierre <stpere@gmail.com>

Style fix, no functional changes

Thanks Axel!


# 384eec8fb34ee7228bee570bbb119251844f83cf 14-Jul-2014 Philippe Saint-Pierre <stpere@gmail.com>

Ticket #3385: inconsistencies when single window + disks icon

When using the Show Disks icon option, single window navigaton mode,
and starting navigation by the Disks icon, these bugs would occurs
upon entering child poses :

*) The draggable icon at the top right wouldn't appear
*) The file menu wouldn't update properly (for example, the New folder
menu item won't show)

Based in part on dru_ed's patch.


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

Tracker: style fixes to ContainerWindow


# 991dadd6324f7b7a68e94743a39ebae789823228 16-Jun-2014 Humdinger <humdingerb@gmail.com>

Make sure there's a space in front of B_UTF8_ELLIPSIS.

As PulkoMandy said in hrev47388: C++11 safe and reads better.


# 888f72ca9a5e2fcd22b4839c7aebce12e03c336e 09-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: close Desktop window on switch to spatial mode

If you have the Desktop window open when you switch to spatial
mode this will now close the window. You aren't allowed to have
the Desktop open in 2 places symultaneously in spatial mode.


# 157e4b428aca17ca6df4ad4b7c500625015b9d9d 09-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Replace max_c() with std::max()


# 9437e677ba3d5f813929944ae2b09fc37feb8d2d 09-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: Style fixes


# e37767b0d21082c18ad4506015851135d2a89698 01-Feb-2014 John Scipione <jscipione@gmail.com>

Tracker: some style fixes to BContainerWindow()


# 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


# bd336e3abc7e939d2db16cff48d4cb9a2fe0dc60 19-Oct-2013 John Scipione <jscipione@gmail.com>

Update semantic shortcuts

Update BKeymap::GetModifiedCharacters() to translate a given character
and set of modifiers filling out a list of all characters that match for another
set of modifiers.

This allows us to, for example, get all characters in the normal map that
have the '+' character in the corresponding shift map.

It is fully generic allowing one to get a list of characters in any map given
a character and modifiers of another map.

Also I converted from using a BList to using a BObjectList.

With this, along with BWindow::HasShortcut(), the semantic shortcuts now
work not only with Command+'=', but any key in the normal map that has
'+' in it's shift map as long as it isn't already taken by another shortcut.


# 57f830cef752330a920b3fe3f5fe4367921f51ce 18-Oct-2013 John Scipione <jscipione@gmail.com>

Tracker: Add semantic zoom in shortcut.

Fixes #6692

iif '+' is localed in shift + '=' in your keymap, add a shortcut for
Command + '=' to zoom in.


# 000e7d408880f298fea192cefa46526965245165 18-Oct-2013 John Scipione <jscipione@gmail.com>

Tracker: Add zoom shortcuts to menuless windows

(for instance the desktop)


# f8a99c90adf3388a4ec478eae53bbb4d3501757a 09-Aug-2013 Rene Gollent <anevilyak@gmail.com>

Cleanups.


# ac4d653dd3eb098005392dc1a62b28881ec6b06e 09-Aug-2013 Rene Gollent <anevilyak@gmail.com>

Tracker: Fix another navigator issue.

The problem indicated by #8388 hid another issue with respect to
show/hiding the navigator on the fly, namely that it didn't correctly
respect the type of Tracker window, which would cause the navigator to
show up in cases where it shouldn't, such as query windows.


# d058a4aed272a9fe79ef9e8443fad3bb5352e433 10-Jul-2013 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: store default add-ons shortcuts in resource

* Default shortcuts for add-ons are now stored within the binary as a resource
(it was previously appended to the file name, as Open Terminal-T, for example)
* Use ~/config/shortcuts_settings to override those default shortcuts
(editable with Shortcuts preflet)
* Tracker avoid rescanning the add-ons directories when unnecessary
* Monitor the shortcuts_settings to apply changes on the fly
* Fallback to default shortcuts whenever appropriate (settings file deleted, etc.)
* Should fix #4446 (with resource rather than attributes)


# 1c29b26e7c7eb94ee125315eca5a94265f613420 29-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add virtual directory feature to Tracker

Similar to stored queries, files of the virtual directory type behave
like directories -- i.e. they open in a list-mode Tracker window and
show up as an item with submenu in navigation menus. The file itself is
a plain text file in driver settings format. It can have an arbitrary
number of "directory" entries, which specify the paths of (actual)
directories for which the virtual directory provides a merged view. The
view will not show duplicate entries. For non-directory entries the
first one encountered (according to the order the directory paths are
specified in the file) will be shown. A subdirectory entry will again
behave like a virtual directory.

The support in Tracker isn't perfect yet. I'm afraid major refactoring
would be necessary to get it there.

The virtual directory file type uses a differently colored version of
the folder icon. Alternatives welcome.


# 0ebfc3e0327409c7feca98fa473c5bfd766cb56e 23-Jun-2013 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: remove superflous separator item in ContextMenu #6997


# 163a39483387c5db4156dfcf36e4b48156df30a6 09-Feb-2013 Humdinger <humdingerb@gmail.com>

Revert "Renamed Tracker option "Don't move files to Trash" (#9352)"

This reverts commit 45f77dcd7029914ccd99178dfb333eb68c7af9e5.


# 2e6221ff11bf30e2b3c5bf604b43ad1ff924928b 27-Jan-2013 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Replace usage of ceil by ceilf


# 45f77dcd7029914ccd99178dfb333eb68c7af9e5 06-Jan-2013 Humdinger <humdingerb@gmail.com>

Renamed Tracker option "Don't move files to Trash" (#9352)

Renamed that option as it is the only negatively phrased to
"Move deleted files to Trash first" and also the option below
that to "Ask before deleting for good".
Also renamed every function name etc. in that regard and also
settings string of the Tracker settings file.


# a74c82b9773ea7ac069a3515adca66b22872f468 25-Dec-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Drawing issues in dragBitmap (#8005)

Remove rounding issues in height calculation leading to drawing issues when using some font sizes.


# 205cf6950c4e615f502501f6667267edf8b482db 24-Dec-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Force Identify - don't require holding shift (#4857)

Don't require to hold shift when clicking on force identify,
can now be released after popup menu have appeared.


# ff09527e4f6f674c4df23e39b365b84e87bfac43 02-Oct-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

Tracker: Introduce "Restart Deskbar" option (+alpha3)

* Matches "Restart Tracker" option in Deskbar
* Only shows up when 0 Deskbar processes exist
* Don't dereference fFileMenu if RepopulateMenus called
on desktop (no menu bar)
* Regenerate desktop menu on each click
* Resolves #9039


# cc2b203e16df473ddd1c9b7bcba048a0441fd99c 17-Aug-2012 Humdinger <humdingerb@gmail.com>

Reverting part of hrev44535.

Renaming "Preferences" to "Tracker preferences" has been
unexpectedly contentious. Reverted.


# ef4ed1b76b69c8775d46153501862fd4aa082dc8 15-Aug-2012 Humdinger <humdingerb@gmail.com>

Replaced "Preferences"/"Options" with "Settings"

Replaced remaining "Preferences" and "Options" with "Settings" as
that is generally used for app settings instead of the system
preferences found in the preference panels.

Renamed Tracker's "Preferences" to "Tracker preferences" to be
similar to the entries in the Deskbar and e.g. the Media replicant
in the Deskbar tray.


# aed35104852941f0f6f3d1dcc5338b5f337d0a3c 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.


# adf8818ec004e8a20614523f3e893303ea318642 05-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation fixes for Terminal, add to image.

It runs, but has shown up various bugs: app_server crashes, kernel
panics, rendering problems. Working on fixing these now.


# e51854a127450ed5f1dc33ec350a00f1deaff355 15-Jul-2012 John Scipione <jscipione@gmail.com>

Add 96x96 and 128x128 icon sizes to tracker including scaling of BeOS icons using scale3x and scale4x algorithms.


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

Round 2 of style changes to Tracker

* focused on 80-char limit fixes.
* also some whitespace and case statement indentation fixes


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

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


# 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


# 50d739dee5fe3c635a052dfd435bcf6557f11639 23-Jul-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Regression fix

A crash of Tracker was triggered when accessing AddOn menu (by
shortcut or context-menu) for Pose on Desktop, because of it's
incapacity to read the mime type list (that wasn't built in
those cases).


# 5cdd07a8148b04cd1b7e29778ec0661df7dbe46d 23-Jul-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Optimisation of AddonMenu menu construction

1. Build the list of mimetypes of files in selection only once and
reuse it for all further tests.

2. Fix a regression introduced in hrev44384 where the MimeType()
wouldn't get recognized when just changed by tracker (by that same
right click). It would be on subsequent clicks.

3. Rename the static map variable to better fit our coding style
and be more understandable.


# 674ff0df2f2eb00cbc78b4384fcf5b148a2139ff 22-Jul-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Various sorting issues in Tracker

When sorting files by Modified dates, right clicking on a file was leading
to a sorting issue where files were changing positions (without reason).

1. Any changes to stats (size, modification, creation, mode) was triggering
the sorting. Now only stats fields currently used as a Sort criteria will
trigger such event.

2. The Mimeset of file was set (in case of unknown file format) once per checked
add-on when building AddOn Menu. Now it's checked once per file in selection.
(so, once per file, rather then once per file, per add-on).

3. Now rely on registrar to force the mimeset (to trigger the sniffer in case
the attribute already exist) rather than trying to duplicate the feature in Tracker.

4. When Sorting, if there is a old position known, check if it's working by looking
if you should come after the previous item, and before the following item. Previously,
the item would be pushed at the top if the group of item all fitting the criteria
(same file size, same file kind, etc.. depending on the sorting criteria).

Fixes #8478.


# 72b7db341bb4b8be491ba2aa3453c297b621129f 21-May-2012 Reznikov Sergei <diver@gelios.net>

Added resize to fit shortcuts. Partially fixes #7467.

* Adjusted initial tracker windows width to fit modified column.
* Resolved a TODO: Added get info shortcut to Open with window.

Author: Sergei Reznikov <diver@gelios.net>

Signed-off-by: Alexandre Deckner <alexandre.deckner@uzzl.com>


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 581a96616a5b23926da6068ae61beb00be559fe8 05-Jan-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Fix inconsistent "Open parent" behaviour

1. When in /boot, you couldn't go to the parent (which is fine by itself),
but the menu item wasn't disabled.

2. In Single Window Browsing, doing "Open parent" wasn't respecting that
setting and was opening new windows.

3. In filepanel, when navigating to Desktop folder, the "Go to parent" was
still proposed even though it would do nothing choosing it.

4. Opening a Pose in Single Window Browsing was repopulating the menus and
putting the shortcuts again. That was an issue if Navigator bar was used
since it conflicts with its shortcuts.

Fixing ticket #6851.


# 9cf506a2bfc6c4f1364d4c6028d4a6e09af043aa 18-Jul-2011 Philippe Saint-Pierre <stpere@gmail.com>

Tracker:

* Add "Arrange By" submenu in Window menu.
* You can arrange by the same fields you can sort by in list view. Changing your sorting order in list view will change the Arrange By choice when you enter icon view and vice-versa.
* Support ReverseSort order.
* Keep the clean-up feature, but it's now under the Arrange By menu.

Fixing ticket #1349.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42448 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


# df1c9e984e5a9a9cb5cbafb7a05de6a6126dd70b 17-Jul-2011 Alexandre Deckner <alex@zappotek.com>

* Slight renamings, no functional changes.



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


# 29769e04520187086e3fed9208d6c0e2b106c6cf 17-Jul-2011 Alexandre Deckner <alex@zappotek.com>

* Don't do anything in MouseIdle if we're not dragging a message.

This especially avoid bringing tracker windows up to front when staying idle
over a tracker window while holding down a button. This could happen when
hovering while still holding a scroll thumb of another overlapping window.

Fixes regression #7829 introduced in r41892

* Also properly reinitialise the cached dragMessage on B_EXITED_VIEW,
otherwise it would still think it is dragging and thus still pass through my
above fix.

I'd like to cleanup the drag message caching mechanism as it's not
pretty in my opinion. Possibly even adding it to BView.


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


# 7560163d8cbaa64569cdff69b2b565bbdec0d3bd 18-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Revert r42223 since it breaks some cases.
* Simplify handling a bit. Instead of more or less duplicating some of the
move logic from PoseView, simply construct an appropriate target model and
let PoseView's HandleDropCommon() take care of understanding what to do with
the drag message. This has the side effect that things like dropping a text
clipping message onto a target in an x-ray menu actually works as expected
now.



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


# 955ffec29681d95f1443a23209f49f7744a48b38 07-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Revert the old change r36762 which added a small offset to tracker right click
menus since it is no longer needed after r40132/r40142. Thanks diver for the
reminder.

#5809 can finally be closed again.


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


# 5987b2a380151a1ddc4e168114f2df52873f8b3e 07-Apr-2011 Jonas Sundström <jonas@kirilla.com>

Offer a 'Real name' column in Tracker list view mode, when set to show localized names. As discussed a while back. I honestly don't know if this is such a great idea after all. Name + real name is kind of silly. Ideally it would be labeled in a more logical way, or the feature should be dropped.

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


# 88608174328b22946dfad16443fe4f4394b87f05 28-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Disable menu item 'Edit name' for Desktop, Root, Trash and entries with localized names.

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


# 2d5868f8b3681b7e5af8f96e10ec20b9462a71c5 22-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Use short-circuit evaluation to avoid out-of-bounds string access. Thanks Jérôme!

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


# 7758e371f4655a4ff09abe38a7b56c07381c024d 22-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Enable localization of Tracker add-on names and shortcuts, with the canonical name and shortcut as fallback.

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


# 96f9949a2da15974e93f12a7634a0292d3f289af 22-Feb-2011 Stephan Aßmus <superstippi@gmx.de>

The parent menu of the attributes menu might be showing, thus it needs
to be locked before its font is retrieved or items are added.


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


# 41b9586a0a2c858320676b5a092b01530a3099d0 12-Feb-2011 Axel Dörfler <axeld@pinc-software.de>

* Let SelectionWindow::MoveCloseToMouse() also take the current workspace into
account. This fixes bug #7211.
* Also, don't move it that close to the border of the screen (it now keeps an
offset of 20 pixels).
* Always move the selection window to the mouse position, even if it's already
on screen.
* Close the window when pressing the escape key.


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


# 7eb2d53b4ce4efc8d9a1e5ab191671e609a315e1 10-Dec-2010 Jérôme Duval <korli@users.berlios.de>

Now checks BPath init status before using it, this was crashing the Tracker in #6305.


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


# 0741a7c2952275d7401436dff35118469627b386 20-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Automatic whitespace cleanup.

When in single window mode, also add opt+cmd+down as a shortcut to navigate to the selected folder in a new window. Fixes ticket #3548.


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


# d769c15ad58d2c32a9d2ff0ec44789411edae2d8 18-Nov-2010 Alexandre Deckner <alex@zappotek.com>

* Remove cmd+opt+ctrl+up shortcuts since that's an undocumented old combo and it clashes with workspace navigation. Only cmd+up and opt+cmd+up remains. I've checked that it indeed conforms to the user guide, but having a second eye wouldn't hurt. Also reordered the constants for more consitency between the calls.

Fixes #6833



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


# 419df705d4dd135cf607ce391c229fc7a319ba64 22-Oct-2010 Rene Gollent <anevilyak@gmail.com>

Style fix.



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


# df66f40bb5435221e9d5d28a64ab16a29304d4c1 22-Oct-2010 Rene Gollent <anevilyak@gmail.com>

When right/control click drag and dropping onto an x-ray menu, present
the same choices that we do when dropping onto a normal poseview.
Resolves #6732.



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


# 7b80b5d5181053872dd475b1c559bc010914a31c 17-Sep-2010 Alexandre Deckner <alex@zappotek.com>

* Use multiple translate contexts in Tracker for easier translation


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


# 43f24e051b52a3468027b10a79e2f9def0cc1892 08-Aug-2010 Alexandre Deckner <alex@zappotek.com>

* Apply patch by Takashi Murai, find menu items by message code instead of item name (correcting previous patch)
I've found more occurences but i will solve it differently since they are about finding messageless submenus.
Thanks!


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


# 4ed28a571a7d5f7f13b5b4636fabfeabdfddd40b 12-Jul-2010 Alexandre Deckner <alex@zappotek.com>

* Applied libtracker localization patch from T.Murai (a.k.a mt) with some modifications (see below).
* Functional modifications:
Reworked InfoWindow file size localization, the patch removed number formating (size in bytes) and was too complicated to my taste.
Replaced the uses of sprintf with the safer snprintf.
Changed signature to x-vnd.Haiku-libtracker instead of x-vnd.Haiku-libTracker (to be consistent with the binary name)
* Style modifications:
Reworked lots of 80 char indenting (probably due to the now shorter line lengths since your previous patch that wasn't using the macros)
Lots of missing brackets when "if's" becomes multiline.
Other minor fixes.

Noticed a few uses of FindItem on translated names that might become problematic someday. Added some TODO's regarding localization of file sizes. Localization might still be
optimized a bit regarding the produced en.catkeys

Note to translators: .catkeys files should be placed in haikusource/data/catalogs/kits/tracker though beware as the base en.catkeys might change
slightly in the next days.
Note to users: As with any other app you need to restart Tracker (or any aother app using libtracker's filepanels) for it to pick the locale setting. E.g: use 'quit an
application' and 'restart Tracker' from process controller.

Thanks a lot T.Murai


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


# da8169406f6b5120382b6c3707318fdb7d45d7f9 08-May-2010 Stephan Aßmus <superstippi@gmx.de>

Don't open context menus right under the mouse so that the first item is
already selected and get's picked when the user releases the mouse right after
the initial click. For model context menus, like right clicking a mounted disk
on the desktop, this somehow worked without selecting the item. But opening
the context menu on an empty part of the desktop always selected the Desktop
entry which resulted in the menu immediately closing without any effect. The
perhaps unwanted side-effect of this change is that navigation menus don't
automatically open unless you move the mouse a bit. Please play with this a bit
before commiting to alpha branch. I remember having to move the mouse a bit
on R5 as well, but could be wrong about it.

The real fix would be in BMenu and BMenuBar tracking code, but the changes
which I would have in mind are too radical to do before the release. I
understand that _IsStickyMode() is supposed to handle this case, but it actually
has too little information, since each menu is tracking the mouse state itself
and doesn't know what another menu already knows. Perhaps this is what the
"start" parameter was for in the original _Track() hook, but why not simply
create an object which is passed from menu to menu and tracks everything of
relevance and maintains state?


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


# 4ab96afd71e6988b8d60935bed138538cc1046f3 04-May-2010 Rene Gollent <anevilyak@gmail.com>

Use openAnyways mode instead of click to open rect for tracker context
menus. May help with #3267.



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


# ab5fb573e5d473b9414545166651c7324a37c316 28-Apr-2010 Alexandre Deckner <alex@zappotek.com>

* Removed what finally looks like an old (and not needed anymore) workaround. That is, the sending of a message when dropping a pose over another one while its context menu is still showing. That was causing #4757 since poseview was receiving the dropped message two times.

I've been investigating the issue in depth, it's there since the first opentracker revision, so i even installed R5 and built/debugged opentracker to confirm it was indeed needed on R5. That would be another case of undocumented (misdocumented) workaround for an R5 bug, ie: BMenu would steal the drop message although the mouse isn't over it anymore (Stefano idea?). Heh if only i could reach the original Tracker devs :-D

I don't like when i don't understand a problem up to the last bit, but it should be reasonably safe for alpha2 +alphabranch


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


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

Model: Add accessor for Trash node property and cleanup spacing between inlines.
Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check.



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


# a65ec1537642acc9b5fa1a3633f62ce30714b6df 15-Jan-2010 Rene Gollent <anevilyak@gmail.com>

Fix style violations (thanks Axel!).
Update filesystem name in find_directory as our fat filesystem is not named "dos".



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


# 01dffd8edd94699ac1e6f2cc4322555f2171da14 14-Jan-2010 Rene Gollent <anevilyak@gmail.com>

More Tracker refactoring:
* relocated Trash dirs to volume roots by modifying find_directory() to report the trash location as volume/Trash.
* FSUtils no longer creates /home/Desktop on every volume.
* TrashWatcher now keeps icons in sync on all volumes.
* Simplified FSGetDeskDir since it no longer has to worry about getting the desk directory on any volume other than the root.
* Relocated trash context menu logic to BContainerWindow so it can also be used at the volume roots.
* DesktopPoseView now creates a virtual Trash pose representing the trash contents as before.
* Corrected typo: Model::WriteAttrKillForegin() -> Model::WriteAttrKillForeign().

Closes ticket #5245.



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


# 82d8aaf85a8c1ad19f69637468102ca08040facf 12-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Changed strings to sentence case. The changes in StatusWindow and
FSUtils are missing because I have some unfinished work in progress
in those files. Will commit them separately. This is case-tracker.diff
from #5169.


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


# 5b41cd61e6c27d7a1f47f5dbc5c29edbd2db4bbf 04-Dec-2009 Rene Gollent <anevilyak@gmail.com>

Clear the navigation menu before populating it. Fixes ticket #5079.



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


# d3b113282ac7a8412b61ada23aff12b2acd334fe 27-Oct-2009 Rene Gollent <anevilyak@gmail.com>

Move CheckDevicesEqual into FSUtils so it can be used in more places.
Rework ContainerWindow's B_REFS_RECEIVED to use CheckDevicesEqual to decide move vs copy as is done elsewhere.

Fixes ticket #4850.



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


# 76e853e21fa35483c99afc3cd0d54424330dbaa3 02-Sep-2009 Joachim Seemer <humdingerb@googlemail.com>

Renamed menu 'Attributes|Copy/Paste Attributes' to 'Attributes|Copy/Paste Layout'. Fixes #2835.

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


# 14347545f3503937b2d1f434662acf1f8255cdf9 11-Aug-2009 Philippe Saint-Pierre <stpere@gmail.com>

Now it also considers the MimeType of symlinks targets when proposing add-ons in tracker.

This fixes ticket #2775.


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


# a9218c9c2e0df7fa177af3885f5d783002c8963c 08-Aug-2009 Rene Gollent <anevilyak@gmail.com>

Oops, check was reversed.



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


# d726fd50a2e6620f4f9df0a4a74b23cc61e53cf9 08-Aug-2009 Rene Gollent <anevilyak@gmail.com>

When picking file destinations via the slow context popup, also do the copy vs move check based on device. Fixes ticket 4202.


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


# 7e1f710f2754341f9f390152e712af98b0241d9c 27-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed the superfluous Ctrl-Alt-Up shortcut from Tracker that clashed with
the new workspace navigation.


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


# d219b1fcfcf9537bd61de746f1918bae678f5fb1 26-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Let AddMimeMenu() check if the MIME type is valid, otherwise BMimeType::Type()
could return NULL. This fixes the crashing part of #4037.


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


# 5422febd0b2a2830c47e56970b37e56258262c32 14-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Fixed a few coding style violations and GCC4 warnings.


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


# 5e71c7b1e5b0572e1ac8f089dce2bf4a9cf695fb 16-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Obaro Ogbo (nastee) with small changes by myself:
* Added "Close All in Workspace" menu item in the Window menu. The shortcut
is 'Q', which is usually the Quit shortcut. Since Tracker prevents quitting
via this shortcut, overriding it like this is ok, this was also discussed
in the ticket #2833. I've tested that the existing functionality is not
disturbed (ie Quit in the Settings panel still works, as does quitting
Tracker via "hey Tracker quit"). I did not add the "Close All" menu item,
since that feature is already available via DeskBar and when pressing the
shift key before opening the Window menu.
* I did change the additional short cut. As with "Clean Up" versus "Cleanup Up
All", it's now consistently the shift key, which you have to press.

Note to Obaro: The only other change was that one can set the target of the
menu item to be "be_app", that way one avoids dispatching the message in the
window. Thanks a lot for your work, Obaro!


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


# e70b6d957a03fbd24b6c47ad2668d23c11806912 06-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

* Cleanup in the icon mode stuff. kScaleIconMode is gone. There is simply
kIconMode and it can have different sizes.
* The "Icon Mode" super menu item is marked, when in icon mode, as well as
the size item in it's sub menu.
* When switching from mini icon mode or list mode back into icon mode, the
previous icon size is now restored. This also works when the folder has
been closed meanwhile. (The on-disk format for view state has changed, so
your folders will open with default values.)


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


# f5bdd554752b04626faf5dcdc1f01662e69d4bd1 06-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Maxime Simon with small changes by myself: Change the icon size
menu as discussed in ticket #2431. There are only three main shortcuts for
icon, mini icon and list mode. Additional short cuts have been added to
increase and decrease the icon size. I've moved the shortcut from the 32
icon size to the menu item for the icon size menu itself. Unfortunately,
icon placement does not scale with the size (as before) and switching to
icon mode from one of the other modes does not restore the previous icon
size. Looking into it.


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


# 019f90e6348a15e47ef361c79970c4222e569b2d 05-Apr-2009 Jonas Sundström <jonas@kirilla.com>

Setting the escape key as shortcut for the Cancel options of Tracker's dialogs.

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


# 561b5d977bda7507edfe3240ad4b9a3d5a5cc777 05-Apr-2009 Alexandre Deckner <alex@zappotek.com>

* Implements enhancement #2829, ie: change the modifier key (now shift) to force identify on
already identified files and change the menu item label accordingly so that the 'feature' is
not hidden anymore.
The identification mechanism will probably be automated in the future, forcing
identification would then become the only use of this menu item.


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


# 86e64a73557233ecdb857e9ac76c6a04eb5a1d0b 04-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Maxime Simon: Add short cuts ot the icon modes. Thanks a lot! Fixes
ticket #2431.


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


# cafee0b7f50e601f89a7c81a64e53908b99ce8e0 23-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Improved/fixed the look of file panels. If I feel motivated enough, I may
also fix the font-sensitivity issues.
* The CountView can now draw part of the PoseView focus indication. Though I
am not convinced anymore that I am approaching this the right way. Maybe
scroll views should simply leave room for drawing a frame between child
and scroll bars...
* ContainerWindow::BackgroundView uses the new BControlLook method to draw
the scroll view frame to look just like a regular scroll view.
* Some fixes to layout of controls in file panels and minimum window size.
There would be much more left to do...


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


# 08ff393d502dba0f8b4fb6d61dba0ed2b9693624 21-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Fix DraggableContainerIcon drawing after recent BControlLook method signature
change for DrawMenuBarBackground(). The borders are passed one position later.


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


# 2f86ba45579bdc9648b232175f87edc62ab71b54 15-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented a new look for the Haiku interface controls. It was
overheard that they looked too ninety-ish.
TODO: The code behind this is work in progress. The basic idea
is to extract all drawing code into a new class BControlLook,
of which there is a global instance be_control_look, instantiated
in InterfaceDefs.cpp. At the moment, all the old drawing code is
still there, and the usage of be_control_look is inside if-bodies
checking the instance against NULL. In another words, by not
instanitating be_control_look, you can revert back to the old look.
BControlLook's job is to provide reusable methods for drawing
certain types of frames, backgrounds and labels, so that application
developers can make controls that re-use the same drawing code
as built-in controls and adopt to changes made there. I have added
the notion of "borders". Each of the frame drawing methods can be
made to draw certain borders only, which is supposed to help when
controls shall visually attach. This feature is not fully explored
at all ATM.
TODO: Update BColumnListView header view and BStringItem text
spacing. Update other apps where it makes sense to use BControlLook.
For the moment, only Tracker and LaunchBox are updated. More...
NOTE: The new look is not very radically different, so that existing
apps do not immediately look too ugly or out of place.


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


# 4f3347b64b79aee3511ebce4bbc0fbef41dd3d24 03-Feb-2009 Joachim Seemer <humdingerb@googlemail.com>

As discussed here:
https://lists.berlios.de/pipermail/haiku-commits/2009-February/014198.html
We decided on a distinction between path+filename and only the path to a file.
I changed the places a user is exposed to the issue, using the definition:
Path with filename: "Path"
Path without filename: "Location"


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


# 8e1e99a333a0a6336d25ae57c89f163ea32db87d 01-Feb-2009 Rene Gollent <anevilyak@gmail.com>

Fix Create Link from context menu.



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


# 12f46bebca279adbb8b376e51f3b77b4545612b4 29-Jan-2009 Rene Gollent <anevilyak@gmail.com>

Fix a regression introduced with my previous commit where forcing Move would not always be respected.



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


# fc7b01b188c84abbfabe5d3b2f2995b96f5e1bad 31-Oct-2008 Alexandre Deckner <alex@zappotek.com>

* fix coding style


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


# e3bcc1dc0916a107b7213674fd407a5828fd1421 31-Oct-2008 Alexandre Deckner <alex@zappotek.com>

* Combine the two calls to ScrollBy into one.


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


# 84dcf4f24f4547ffcbbbaf8e1b9eaa9b86e158e4 25-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

CID 996. Don't leak the BString

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


# fbf8d9c8dc29dfe38c24b97edb03d4b765ac9dfc 14-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

Remove superfluous NULL check as menu being non-NULL is asserted at the top.
Fixes CID 1075.

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


# 837057611d564506d15fff7c861d24993b016310 28-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Better be safe than sorry. Check MIME type and super type after
constructiuon. Thanks Rene for reminding me that BMimeType actually has a
InitCheck() method. :)




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


# 206c62f03624e6763acb69adaed300e6c07b8ee8 21-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Got rid of the "count" parameter and maintenance altogether - makes the code
much simpler.
* Simplified code to compute "start", ie. the index of the first MIME type menu
item.
* Promote MIME types to the top-level if their super type don't add any
attributes.


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


# 090da60b272db16d695dbd7f64996f21c84e827f 22-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Renamed CreateMimeMenu() to AddMimeMenu(), as it now also adds the menu to
its parent. The item count of the parent is now actually adjusted, so that
additional entries are found.
* AddMimeMenu() now returns the menu of an already existing MIME type. Hence,
we don't add the supertype menu twice anymore for each type, or don't add
the second type at all when called again.
* Cleaned up naming, consistent use of "* " vs. " *".


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


# 15a27c4d5b04acd120084d0aa344344016ec9a46 22-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Whitespace cleanup, no functional change.


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


# e51479d912e18d360208d081bc083bd434c09a70 21-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Creates the supertype menu when only supertype attributes are present.
- *NOW* it works.



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


# be8c87abf68606fd68c9b39facefe523b6a969f8 21-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Added a new CreateMimeMenu() method that creates the menu with attributes
for a specific MIME type.
- Attribute menus now display a hierarchy with type and supertype attributes.

This looks a bit ugly but mostly because not all types and supertypes have icons and descriptions. Anyone up to do a MIME database cleanup? :)



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


# d511a89a8a5061c9e3ffecd7a3ebe92fbc83d553 19-Jun-2008 Alexandre Deckner <alex@zappotek.com>

- Since r21336, BView::ScrollBy was checking the values against the ScrollBar ranges but ScrollBy is often called before
updating the scroll range (ie: in ContainerWindow.cpp). IMO, the programatic ScrollBy method shouldn't depend on the
ScrollBars ranges or state. The original fix in r21336 was apparently hiding other BScrollBar or BView bugs that have been
fixed in the mean time.
The content was offseted when going back to list mode after moving icons on the left/up in icon mode. This fixes Tracker bug
#2312.

- Revert and fix changes to ContainerWindow.cpp in r18481 (cvs 1.37). The condition was broken, but it wouldn't ScrollBy()
anyway due to the previous problem. Fixing BView made the content autoscroll even if the lefttop corner of the extent was
already visible.

- Probably unrelated, fix changes to ContainerWindow.cpp in r18993 (cvs 1.38). PoseView()->Bounds().left/top < 0 is expected,
if for example in icon mode you move an icon close or crossing the left side of the window and then scroll left to adjust.
This fix ResizeToFit that wouldn't scroll the view correctly in some cases.

So we had a Tracker Bug uncovering a BView fix that was hiding another Tracker bug, everything is fixed hopefully, phew :-)


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


# f6e4cbb95290a74b33d012600438b84742b0e572 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


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


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

There is no reason the printers directory shouldn't have the folder icon.


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


# 67aa3b3eb0a2696bf5712e6433839872436e03a9 26-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

The "Delete" item in the Trash is not really needed - but was pretty close to "Restore"; I've removed it for safety.


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


# eeb608e1c7a4655b1e15f3333b9b3f7ef5a83795 26-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

* StringFromStream() did not work correctly for empty strings (messed up the stream
position).
* StringFromStream() called BString::LockBuffer() with "length", but touched "length + 1"
bytes.
* Prepared for the new "display as" FileTypes feature.
* The "DefaultQueryTemplate" folder now adds the MIME type of the folder to the
attribute menu for simplified editing (before, you had to move a file with a
matching file type into that folder to be able to add the attributes you likely
wanted to see).


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


# 75159db4292b8c8c12cfdf37964777f1ebc59640 04-Jun-2007 Jonas Sundström <jonas@kirilla.com>

The menubar icon at the top-right of Tracker folder windows now uses the view color of its parent view. This fixes bug #551.

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


# 2395270daa4d7ea80477d12aa0d417f61e36601d 21-Jan-2007 DarkWyrm <darkwyrm@gmail.com>

Label tweaks as agreed upon on list
"List folders first" and "Show Full Path" default to on now


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


# eaac07392a47bde37ecebe60b878f4029a0b30b4 19-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

* Fixed build under R5/Dano that was broken since Stippi added vector icon support.
* Separated Haiku's icon stuff a bit better, so that Tracker can still be built
without having Haiku headers around.
* Minor cleanup.


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


# 1130b709ac27b9c775e86d431011c8ca7b94df5a 04-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Tracker now uses the name of the symlink for add-ons, instead of resolving it first.
This fixes bug #602.


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


# 26a0f1254e6ef8723425036cfa687934fcd91303 02-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

Fixed a wrong error message in case an add-on couldn't be loaded. Reported by BeOS Mr. X.


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


# 784166f253483b6eeda56197d552f537c8af4c0b 03-Oct-2006 Axel Dörfler <axeld@pinc-software.de>

Imported ContainerWindow.cpp 1.39 from OpenTracker repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18993 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


# 7fb6186f3cb93a14ea0f96a82bdfc3d18f3ad56e 29-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* integration of vector icons with the registrar and the mime data base
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


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


# 4b66b0e0ee9c3276884a7a80088f11ffd22644ea 20-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

Imported ContainerWindow.cpp 1.38. This fixes bug #298.


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


# 4f459891dd795421b399481952e4dc43eb62dbbb 11-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

* Imported files from OT-current:
- InfoWindow.cpp 1.17, .h 1.5
- TrackerSettingsWindow.cpp 1.9
- ContainerWindow.cpp 1.37, .h 1.7
- DialogPane.cpp 1.4
* This also fixes bug #718.


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


# 9195c270830aed028b496a2a0049e97ddb8f2d55 13-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Imported ContainerWindow.cpp 1.33 from OpenTracker CVS. This removes
an extra menu separator in the window context menu.


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


# fe49a8a3797aef93c041d2695cf859d3632f9b0c 11-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Imported DeskWindow.cpp 1.8 and ContainerWindow.cpp 1.32 from OpenTracker CVS.
This fixes bug #298.


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


# 12104c2eab2bc57f3632a3fe62f34678b39dd14f 26-May-2006 Stephan Aßmus <superstippi@gmx.de>

synced with OT repository - I guess you knew what was comming,
Tracker saves and restores the window decorator settings on
Haiku.


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


# a615ec8f86406c14607c656cf90492bc58bd73d0 30-Dec-2005 Axel Dörfler <axeld@pinc-software.de>

Imported OpenTracker-current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15764 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