Dev:Ref/Proposals/UI/FileBrowserBookmarks

提供: wiki
< Dev:Ref‎ | Proposals‎ | UI
移動先: 案内検索

File Browser Bookmarks Proposal

Problem

As they are now, the functions we can perform with bookmarks are simply creation and deletion. If we decide we want to move Bookmark-X to the top, we need to delete all the bookmarks and recreate them in the correct order. If we have two folders with the same name (perhaps two Textures folders on different drives, or an Assets folder in multiple projects), we cannot distinguish between them without clicking them.

Solution

The solution is simple: instead of the current X button to delete a bookmark, replace it with an Edit button:

UIProposal better-bookmarks 01.png

Once clicking an Edit button, the bookmark is expanded to show all its options:

UIProposal better-bookmarks 02.png

- The X button functions the same as before, removing a bookmark permanently, only this time it should prompt the user if they are sure about deleting it. Doing this accidentally is frustrating. - Each bookmark has two text fields: One for the displayed name of the bookmark, and one for the actual path. This solves the issue of folders with the same name. - A small button next to the path field fetches the path from the folder that is currently being browsed. This can be done automatically when clicking the Add Bookmark button (which seems to have been forgotten in the making of these mockups) - A pair of arrow buttons allow the bookmark to be moved up and down the list easily - Save and Cancel buttons do as they should, saving the changes to the text fields, or breaking out of the edit mode without changing anything.

Python Implementation

The screenshots above are actually from a fully functional (albeit no Add Bookmark button and some lack of error handling) python addon. My initial idea was to do this as an addon properly, but I'd rather it done officially instead.

   Download: http://gregzaal.com/files/better_bookmarks.py

It works from a simple text file, each line formatted as such: index:::Name:::/full/path/to/folder

For example: 7:::Assets (Nestle):::Z:\Projects\Nestle\Production\Assets

Notes

This should not be so powerful as to perform as some kind of asset management system, but rather just for simple bookmarking. A separate implementation should be made for a serious studio workflow that allows for users to create a standard folder structure, and then simply set a Project Path that is the root of all the asset, working directory and production folder bookmarks.

It should of course be simple to use, as well as simple to edit. No fancy special pro-knowledge required, just good old-fashioned intuitive bookmarks we all know.

A possible extension would be to allow custom icons for each bookmark. In the case of an implementation similar to the above python one, another item in each line could be added easily without breaking compatibility.