developersu / ns-usbloader

Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files.
GNU General Public License v3.0
1.87k stars 127 forks source link

allows adding files and folders via filechooser and drag and drop #51 #82

Closed wolfposd closed 3 years ago

wolfposd commented 4 years ago

recursive adding of folders ( #51 )

developersu commented 4 years ago

Hi wolfposd,

I understand that current implementation is far away from being perfect but this swing UI looks like a breath from mid-90th.

And, to be honest with you, I don't like it. Just because of how it looks. And actually on Linux it's a way harder to navigate thru file hierarchy.

img

Sorry. Thank you for your time.

wolfposd commented 4 years ago

i know, but swing is the only filechooser that supports multiple selection =(

maybe add a third button for "Add Folders"?

what about drag&drop for recursive folders? should i adapt the PR?

developersu commented 4 years ago

i know, but swing is the only filechooser that supports multiple selection =(

Yeah.. that's why there is 'Select split NSP' button added. Not perfect.

maybe add a third button for "Add Folders"?

Yeah.. like 'Select all' or 'Scan folder and add all content'.. What about adding an option on settings with long and clear description like: 'Select folders with files instead files'? Then on initialize() @ 'GamesController.java' add if-else on selectNspBtn.setOnAction(e-> selectFilesBtnAction()); call depends on option user wants. BTW, I can handle all this preferences read-write things and, if you want, you can take care about filtering and adding functional part.

what about drag&drop for recursive folders? should i adapt the PR?

Yes, please. Your implementation with streams and lambdas looks good!

wolfposd commented 4 years ago

Reverted the old button, and added a new open folder button dont know about the text, maybe it should be "Scan Folder(s) for Files"

grafik

developersu commented 4 years ago

Great! Leave it as is.. I'd like to change idea a bit. Will review, approve, update and get back to you with news and details. Sorry, a bit busy nowadays ( ><)

Anyway, many thanks!! It's a great improvement!

developersu commented 3 years ago

Added your code with some corrections. I'd like to have it as a selectable option in app preferences and be able to turn it off instead of adding more buttons. This way when checkbox for this is selected, we can remove 'Select split-files' button. It makes UI cleaner (IMHO).

Ok, for GoldLeaf: users can select files that are not just nsp, nsz etc but literally any files. So when I drop my home-folder on Linux (or drive C: on Windows) application would start background thread and will try to add everything.. and user won't even know about this till he/she has memory. So I'm about to add some kinda pop-up for this notifying user that something is running.

Anyway, you can build and check if you want or pick artifact from CI.. if you're interested in what has been changed.

Thanks!

wolfposd commented 3 years ago

So when I drop my home-folder on Linux (or drive C: on Windows) application would start background thread and will try to add everything.. and user won't even know about this till he/she has memory.

if possible the "Activity Indicator" should be the same as everywhere else. I cant remember if there is a progressbar when doing USB/Network Uploads, but if there is, just re-use that?

On mobile phones you commonly find version a) on desktop i would prefer version b) grafik

developersu commented 3 years ago

Both looks good. Actually I'd like to also have 'Cancel' button to be able cancelling this flow.

And I also was about to create pop-up linked to javafx's 'Task', add some cute progress bar, bind it, add counter of files like 'Bla-bla-bla, Scan in progress. 5142 files would be added..'

As for progress bar that exists in application, of course we can use it too.. but the main issue for me is 'Cancel' button.

developersu commented 3 years ago

If you want to reach me somewhere else: telegram: developer_su, Skype: developer.su Discord: IDK.. somewhere.