History log of /haiku/src/kits/tracker/Commands.h
Revision Date Author Comments
# 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>


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


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


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

Tracker: add "hide dotfiles" option to the GUI & enable it by default.

Changing this many lines of code to add a single boolean preference
is absolutely insane. We need a new preference-tracking system, and
one that can be reused in other applications, too.

Fixes #9200.


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

Tracker, Deskbar, ShowImage: move public commands

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


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

Tracker: style fixes to Commands.h

barely touched it.


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

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

This reverts commit 45f77dcd7029914ccd99178dfb333eb68c7af9e5.


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


# 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


# 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


# 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


# 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


# 545ebde0 30-Jan-2010 Michael Lotz <mmlr@mlotz.ch>

Implement type ahead filtering (this time for real and without abusing the
vertically sorted pose list). When enabled typing will filter based on the
currently visible attribute columns. Using shift-space as a delimiter
independent filtering strings can be typed, so you can filter based on multiple
attributes at once to refine results while you type. Filtering stays active
until you cancel it using the escape key. While the filtered result is displayed
all normal file operations can be used. Using the return key while filtering
auto-selects and opens the first filter result, allowing for fast traversal
through directories and directly opening the topmost result.

* Introduces fFilteredPoseList which stores the active filter result. The list
is only used when filtering is currently active, so no syncing is required
otherwise.
* Some minor adjustments to leave out invalidations where non-visible poses are
updated.
* Account for the now possible multiple lists throughout BPoseView.
* Add filter string output to the CountView and made that one a bit wider.
* Added all the settings-cruft for type ahead filtering (defaults to off).


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


# f4dc5998 15-Nov-2009 Rene Gollent <anevilyak@gmail.com>

Partially implement ticket #4916:
- Rename "Configure Favorites..." to "Edit Favorites...".
- Remove the old-style Configure Favorites dialog in favor of simply
opening the favorites folder (~/config/settings/Tracker/go) in a
Tracker window for the user to manipulate.
- Rename the "Favorite Folders" section to simply "Favorites" as files
are also allowed (i.e. to easily open a template document).
- Removed completely arbitrary (and silent) 20 item limit to favorites
list.
- Automatic whitespace cleanup
Still to do: Grab the ref filter from the file panel (if any) and run the
favorites through it as well, since we want to filter out any non-folder
favorites that the app is incapable of handling. Also, the setting for
the favorites menu to show recent documents needs a new home, as it was
previously in the no longer existing Configure Favorites window. Suggestions
welcome, as I'm not currently seeing a spot in the Tracker prefs that would
make good sense.



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


# c1b274fd 12-Oct-2009 Stephan Aßmus <superstippi@gmx.de>

* Removed auto mounter code from Tracker.
* Tracker forwards auto mounter related messages to the mount_server.
* Rewrote AutoMounterSettings to not know AutoMounter and use
the layout-management.
* Moved the "Eject When Unmounting" setting into the Mount Settings.
* Launch the mount_server during boot, but delay the script until all
previously mounted volumes have been mounted. This solves some annoying
timing bugs during boot. For example when you have desktop backgrounds
on other volumes and some servers don't deal well with the situation
of links to add-ons on other volumes becoming valid with a delay...
* src/kits/tracker/Commands.h includes the private headers/private/
mount/MountServer.h header, which made adjustments to the DiskUsage
Jamfile necessary.


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


# a86d99e0 21-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

Opening previously open windows on non-boot partitions obviously only worked if the
automounter already mounted these partitions. Since this happens asynchronously,
it sometimes worked and sometimes not. The very simply and non-hacky fix for this
problem is to send a message from the automounter to the application looper to
have it open the previous windows after the initial mount scan is done.


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


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

Tracker: add "hide dotfiles" option to the GUI & enable it by default.

Changing this many lines of code to add a single boolean preference
is absolutely insane. We need a new preference-tracking system, and
one that can be reused in other applications, too.

Fixes #9200.


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

Tracker, Deskbar, ShowImage: move public commands

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


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

Tracker: style fixes to Commands.h

barely touched it.


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

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

This reverts commit 45f77dcd7029914ccd99178dfb333eb68c7af9e5.


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


# 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


# 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


# 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


# 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


# 545ebde00c3d50510a5236de1c5eef25ac21d757 30-Jan-2010 Michael Lotz <mmlr@mlotz.ch>

Implement type ahead filtering (this time for real and without abusing the
vertically sorted pose list). When enabled typing will filter based on the
currently visible attribute columns. Using shift-space as a delimiter
independent filtering strings can be typed, so you can filter based on multiple
attributes at once to refine results while you type. Filtering stays active
until you cancel it using the escape key. While the filtered result is displayed
all normal file operations can be used. Using the return key while filtering
auto-selects and opens the first filter result, allowing for fast traversal
through directories and directly opening the topmost result.

* Introduces fFilteredPoseList which stores the active filter result. The list
is only used when filtering is currently active, so no syncing is required
otherwise.
* Some minor adjustments to leave out invalidations where non-visible poses are
updated.
* Account for the now possible multiple lists throughout BPoseView.
* Add filter string output to the CountView and made that one a bit wider.
* Added all the settings-cruft for type ahead filtering (defaults to off).


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


# f4dc59983b465273fcd40c3a047fe288be1fe599 15-Nov-2009 Rene Gollent <anevilyak@gmail.com>

Partially implement ticket #4916:
- Rename "Configure Favorites..." to "Edit Favorites...".
- Remove the old-style Configure Favorites dialog in favor of simply
opening the favorites folder (~/config/settings/Tracker/go) in a
Tracker window for the user to manipulate.
- Rename the "Favorite Folders" section to simply "Favorites" as files
are also allowed (i.e. to easily open a template document).
- Removed completely arbitrary (and silent) 20 item limit to favorites
list.
- Automatic whitespace cleanup
Still to do: Grab the ref filter from the file panel (if any) and run the
favorites through it as well, since we want to filter out any non-folder
favorites that the app is incapable of handling. Also, the setting for
the favorites menu to show recent documents needs a new home, as it was
previously in the no longer existing Configure Favorites window. Suggestions
welcome, as I'm not currently seeing a spot in the Tracker prefs that would
make good sense.



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


# c1b274fd6796be287dcd7cb81a105c91c2152629 12-Oct-2009 Stephan Aßmus <superstippi@gmx.de>

* Removed auto mounter code from Tracker.
* Tracker forwards auto mounter related messages to the mount_server.
* Rewrote AutoMounterSettings to not know AutoMounter and use
the layout-management.
* Moved the "Eject When Unmounting" setting into the Mount Settings.
* Launch the mount_server during boot, but delay the script until all
previously mounted volumes have been mounted. This solves some annoying
timing bugs during boot. For example when you have desktop backgrounds
on other volumes and some servers don't deal well with the situation
of links to add-ons on other volumes becoming valid with a delay...
* src/kits/tracker/Commands.h includes the private headers/private/
mount/MountServer.h header, which made adjustments to the DiskUsage
Jamfile necessary.


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


# a86d99e0daabffd6b8600cc74edbb334268025b1 21-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

Opening previously open windows on non-boot partitions obviously only worked if the
automounter already mounted these partitions. Since this happens asynchronously,
it sometimes worked and sometimes not. The very simply and non-hacky fix for this
problem is to send a message from the automounter to the application looper to
have it open the previous windows after the initial mount scan is done.


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