Opened 5 years ago

Closed 5 years ago

#11008 closed enhancement (fixed)

[WebPositive] select file on Open target folder

Reported by: diver Owned by: pulkomandy
Priority: normal Milestone: R1
Component: Applications/WebPositive Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description (last modified by pulkomandy)

It would have been handy if clicking Open target folder (from a downloaded item pop-up menu) selected the file in question in the opened Tracker window.

Change History (5)

comment:1 by pulkomandy, 5 years ago

Description: modified (diff)

This needs some cooperation from Tracker, I think. Are there examples of doing this somewhere?

comment:2 by axeld, 5 years ago

You could have a look at what happens when you click on a target link from the "Get information" window of a symbolic link, and see if that functionality is directly exported via scripting.

Besides that, ShowImage, and Mail both set the currently selected file to the file they currently show.

comment:3 by pulkomandy, 5 years ago

Actually this is already implemented in Web+, but doesn't always work. There are several problems.

  • The Tracker window is open through BRoster->Launch. There is no way to know when this finishes and the window is ready to receive the selection message
  • There is no direct way to find the window matching a path. Web+ currently finds the window from its title, which means the message can get to the wrong window if two open folders have the same name. It will also only select the file in one window, if there are multiple windows pointing to the same folder (either on different workspaces or because of single-window mode)

Tracker scripting support needs to be extended (there even are TODO left by Be engineers) so we can do this more reliably:

  • Send an EXECUTE message to Tracker with the ref to a folder, and get back a messenger to the opened (or raised) window
  • Use the received messenger to set the selection on that window.

comment:4 by axeld, 5 years ago

I think that's not entirely correct. What you should do is to add "nodeRefToSelect" to the B_REFS_RECEIVED you send to Tracker for the parent folder, see http://cgit.haiku-os.org/haiku/tree/src/kits/tracker/Tracker.cpp#n921.

comment:5 by pulkomandy, 5 years ago

Resolution: fixed
Status: newclosed

Fixed in hrev47504.

Note: See TracTickets for help on using tickets.