98teg / NativeDialogs

Native Dialogs is a plugin for Godot that allows you to interact with OS-specific dialogs, such as notifications, messages and file dialogs.
MIT License
156 stars 8 forks source link

NativeDialogs 2.0.0 - Godot 4.0 #6

Closed 98teg closed 1 year ago

98teg commented 1 year ago

Godot 4.0 migration

I open this pull request as a way to discuss this plugin migration to Godot 4.0 openly, detail the current roadmap and report the state of the migration. Once merged, this would close #2.

Main goal

My main goal with this migration is to bring this plugin's API closer to Godot's equivalent nodes. In Godot 3.x, I limited myself to creating a wrapper of portable file dialogs, which would make it difficult to use any other library in case it is necessary. By being closer to Godot's API, it would be easier to use this plugin after using some of Godot's nodes, such as FileDialog, as you would already be familiar with its attributes.

Tasks

In order of priority:

From here is optional:

As you may see, many work to do. I don't expect to achieve everything but it is good to have it listed.

Disadvantages

NativeDialogMessage would probably lose the YES_NO_CANCEL option. YES_NO can be part of NativeConfirmationDialog. NativeDialogOpenFolder would lose the force_path flag to be a default value, not sure yet what value it would be.

Update: YES_NO is part of NativeConfirmationDialog. The flags force_path and force_overwrite would be disabled. YES_NO_CANCEL can be added as another node in the future, but I'm not considering it now.

Current status