kwsch / pk3DS

Pokémon (3DS) ROM Editor & Randomizer
https://projectpokemon.org/forums/forums/topic/34377-pk3ds-xyoras-rom-editor-randomizer/
Other
400 stars 150 forks source link

[Feature Request] Improvements for the folder browsing aspect of Pk3DS #506

Open LOuroboros opened 2 years ago

LOuroboros commented 2 years ago

Opening a dumped folder in Pk3DS can be a huge pain depending on where do you store a game's dumped files, so I would like to ask, if it's not too bothersome, to give the user the ability to type a path manually or by copy-pasting it if they so want to.

Or maybe just change the interface that is used to select a folder. Pk3DS has this small window where you can't do anything but manually go from folder to folder until you reach the one you want to open, or make a new folder for whatever reason. Wouldn't it be better if it used a more modern "Open Directory" prompt?

Here's a small comparison between Pk3DS and a ROM Hacking tool called "Porymap", for a quick example. pk3DS_1256 porymap-qt6_1257

kwsch commented 2 years ago

The folder browser dialog built in to Windows Forms is what pk3DS currently uses, and there is no other built in folder browser behaving like the File Browser.

There are always external dependencies that can be added like Ooki.Dialogs but I never really wanted to add in external stuff just for a single dialog.

Porymap is cpp, and is likely calling the native dialogs directly; I'm not sure if external dependencies calling those dialogs will work when pk3DS is run with mono/wine.

LOuroboros commented 2 years ago

There are always external dependencies that can be added like Ooki.Dialogs but I never really wanted to add in external stuff just for a single dialog.

From my point of view it's all about improving the usability of the tool.

Users have to come across this single dialog every time they want to open the files dumped from a 3DS Pokémon game or switch between games' files.

If this is too big of a change and there's no will to do it though, so be it.

Porymap is cpp, and is likely calling the native dialogs directly; I'm not sure if external dependencies calling those dialogs will work when pk3DS is run with mono/wine.

Fwiw, I only mentioned Porymap as an example on how its directory browsing looks and behaves compared to Pk3DS', I didn't suggest directly porting code over because it's written in a different language than Pk3DS, as you already said.

Should I just close this feature request ticket?

kwsch commented 2 years ago

pk3DS already supports drag & drop of folders, so people can just use Win+E to navigate to their ROM folder, then dragdrop the folder into the program. Doesn't need the FolderBrowserDialog at all.

My point was that doing the folder browser differently will require adding external dependencies, as it is not a built in function for the Windows Forms GUI toolkit. These external dependencies may not work when run on Mac/Linux, hence it may be a regression in service for those environments just to make things a little smoother for Windows users.

If someone tests and confirms that it works, I have no issues adding that dependency. pk3DS has functioned well enough for the past 6 years with the current dialog style, and the program isn't being actively updated. I'll leave this issue open in the event anyone wants to implement and test adding something like Ookii.Dialogs.WinForms (which will require changing pk3DS's minimum .NET Framework from 4.6 to 4.6.1).