Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add 'Shelf' pane to take bulk actions on items from different paths #12490

Open
8 of 10 tasks
Lamparter opened this issue May 30, 2023 · 8 comments
Open
8 of 10 tasks
Milestone

Comments

@Lamparter
Copy link
Contributor

Lamparter commented May 30, 2023

What feature or improvement do you think would benefit Files?

Once inside the dropzone, there will be a preview of the file and manipulation options to clear the dropzone, etc.

image

The dropzone showcase (what displays when the files are in it) should be an instance of <GridView />

Requirements

  • Implement model to find files in the temporary folder
    • Implement storage model for storing new dropzone files

Note

Either Files can manually index the folder or a json file can be created with details about the Dropzone contents.

  • Implement model to switch between the 'Drag and drop files here' and GridView views
  • Implement automatic size changing/hiding in XAML
  • Add support for manipulating temporary files: delete, open, etc.
  • Add a view within Files; an extended page with temp files in it (or just open the appropriate AppData folder) when the 'open' button is clicked in the dropzone file manipulation view
    image

Files Version

2.4.83.0

Windows Version

Windows 11 22H2 Insider Beta 10.0.22631.1825

Comments

Quick mockup:

image
(in the sidebar)

Dropzone files should be stored in a temp folder in %appdata%


See Yair's tracker for more detail

  • Choose a name for the feature
    • "Shelf pane" better suggestions are welcome
  • Decide where in the UI it belongs
  • Implement feature [...]

@Lamparter Lamparter changed the title ✨ Dropzone Feature: ✨ Dropzone May 30, 2023
@yaira2
Copy link
Member

yaira2 commented May 30, 2023

Thank you for your feedback, this seems similar to #6514, can you confirm? This proposal is more detailed so we'll probably merge #6514 with this issue.

@Lamparter

This comment has been minimized.

@meemore
Copy link

meemore commented Nov 9, 2023

Screenshot_19
Drop zone call it what you want. you want a FIXED area to drag files too, I prefer it to be located in the details and preview panel. So it doesn't matter what folder you go to anyplace, it stays there until you need to drag it into a new folder. All good news other have been thinking about this also. Cheers

@yaira2
Copy link
Member

yaira2 commented Nov 9, 2023

@meemore using the info pane area is a possibility.

@Lamparter Lamparter changed the title Feature: ✨ Dropzone Feature: Dropzone Nov 1, 2024
@yaira2
Copy link
Member

yaira2 commented Dec 31, 2024

Requirements:

  • Behind the scenes, the feature will work by keeping a reference to the paths:
    • We'll need a file watcher to update items in the 'shelf' if they are modified.
    • It's undecided whether items should persist across sessions (we may add a setting for this).
      • If it persists, we'll need to check on startup and remove items that can't be located.
  • Items can be added to the 'shelf' via drag & drop.
  • Items can be removed from the 'shelf' from a right click context menu.
    • Right clicking multiple items should remove all the selected items from the 'shelf'.
  • Prevent adding duplicate references to the same item.
  • Items are sorted in the order in which they were added to the pane.
  • Dragging an item from the 'shelf' to a different location should display a context menu with options to:
    • Copy here.
    • Move here (moving an item should also remove the item from the 'shelf').
    • Create Shortcut.
  • An option to clear all items.
  • Multiselect support.
  • Right clicking item in the 'shelf' should select the item.
  • Selecting an item in the pane should remove the focus from the file area.
  • Add placeholder text and image when 'shelf' is empty.
  • Disable transitions in the list view.
  • We are still finalizing the logic for the pane, including how it's toggled, how it relates to other panes etc. I will likely be the one to implement these behaviors.

Bugs

  • The context menu only opens when right clicking the grid. The expected behavior to open when right clicking anywhere on the item container.

@Lamparter
Copy link
Contributor Author

Smart shelf?

@mdtauk
Copy link
Contributor

mdtauk commented Jan 1, 2025

Shelf is not a bad name, not sure if the localisations will carry the same meaning

@yaira2 yaira2 changed the title Feature: Dropzone Feature: Add 'Shelf' to take bulk actions on items from different paths Jan 2, 2025
@yaira2 yaira2 changed the title Feature: Add 'Shelf' to take bulk actions on items from different paths Feature: Add 'Shelf' pane to take bulk actions on items from different paths Jan 2, 2025
@0x5bfa
Copy link
Member

0x5bfa commented Jan 2, 2025

I wish we had IMutableFolder.GetWatcher to get it much easily as of now.
(I was planning to use SHChangeNotifyRegister, which enables us to get notified of changes even for the shell folders/files such as the recycle bin folder, while it requires us to have a hidden window object to get window messages within its win32 WndProc message loop.) Here's the sample in C++.

However, I imagine we just use FileSystemWatcher, being easy for us to use.

@yaira2 yaira2 removed their assignment Apr 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

No branches or pull requests

5 participants