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

Show directories in a tree structure and give the option to exclude folders #45

Closed
RobertoHigor opened this issue Aug 15, 2020 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@RobertoHigor
Copy link

Directory presentation

About the directories, It's kind of hard navigating when a game has multiple save files, for example, in Dragon Age:
image

When a game has multiple saves, the program lags until you scroll over the files.

For the presentation, it would be better as a tree structure, if possible, giving the option to collapse folders. Like this:
image

Excluding folders

Some games include screenshots folder. I know, there's a option to exclude steam screenshots but not all games are from steam or save in there. So before there is a automatic way, the user could have the option to just uncheck a specific folder so It doesn't backup it.
Having this option, could save cloud storage, because some game folder are just massive because of it.

A game with a lot of screenshots:
image

@mtkennerly
Copy link
Owner

mtkennerly commented Aug 15, 2020

Hierarchy

I think that makes sense. I did want to eventually make the paths copyable, which is part of why they're laid out the current way, but that could still be solved with a "copy" or "open" button next to the folders instead in a hierarchical view, so that's probably fine.

When a game has multiple saves, the program lags until you scroll over the files.

Right now, the GUI library I'm using has to load the full list at the same time, so very large lists can definitely affect the performance. For the future, they've had some discussions about an "infinite scroll" feature that just loads what's currently visible, which would improve the performance for large lists. (See: iced-rs/iced#439)

Exclusion

This is already possible, but it's not as streamlined as it could be. You can create a custom game with the same name, and it will override the standard entry, so your custom game can just specify the paths you're interested in. In that case, the irrelevant files won't even be shown in the program at all. (I'm planning to streamline this more in #38 by adding a quick customize button that pre-fills the default info.)

For The Sims 4, that could look like this:

image

Actually, PCGamingWiki specifies Options.ini as the config path for Mac, but specifies the whole The Sim 4 folder for Windows. I'm not really sure why, since the INI file is there on Windows too. I might look into updating that on the wiki, since that would help avoid backing up a bunch of unnecessary files on Windows. (Then again, it looks like the names are localized in your screenshot, so there may not be an easy way to narrow it down on the wiki.)

I think most cases like this could be solved a similar way, by making a custom entry and/or cleaning up the wiki. I'm not necessarily opposed to adding a path exclusion feature, but I want to see if there are scenarios where what I'm suggesting isn't sufficient.

@mtkennerly
Copy link
Owner

Here's how it looks. I set it up like VSCode, where folder paths are combined if the only thing they contain is another folder. Also, it turns out the performance issue was actually my fault for doing too many recalculations in the view refresh, so that's fixed now too 😅

Demo

file-tree-2

Screenshot

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants