Well, s/Global/Default, but otherwise that, and the other UI is fine.
However, that does mean the path needs to be set for every server (and keep in mind, I know some users of this code have hundreds registered), and it also means that we cannot pre-configure the paths in, for example, our container.
Yes, if the user wants to set it, else default path in the preferences is applicable. Yes, we can't pre-configure the paths.
I'd prefer to see all the configuration in Preferences, so we'd maybe have a grid instead of a text field, containing three columns, one with the major version number, and one with the path to use for that version. The third column would be a radio button to mark a particular path as the default to use in case another path isn't set.
OK, we need to create a new control for that which we can add into the Preferences. If I understand correctly initially the grid is empty, the user will have to add the major version (from the drop-down and that list contains values like 'PostgreSQL 10', 'PostgreSQL 11', 'EDB Advanced Server 10', .....) and respective path.
No, I would say it should be pre-filled with the supported versions.
It doesn't necessarily have to be a grid though, if you can think of a better way of presenting it.
Also; we will also need some to migrate and extend this config:
As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below:
Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)
I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:
If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message.
If the above implementation looks good then, I'll commit this feature by today's EOD.