added apply button to dialog
added reset button that re-adds plugin executables and renames existing ones if needed
moved executables files to their filter in visual studio
removed Executable's constructor with values, replaced with default ctor + setters, all these strings were much too error-prone
added Executable ctor overload to convert from ExecutableInfo
plugin executables now override most of the custom changes
renamed browseButton to browseBinaryButton to avoid confusion with the other browseDirButton
fixed both browse dialogs not handling cancel
EditExecutablesDialog's list used to change the text color for custom executables, replaced with italics
- merged addExecutable(), updateExecutable() and addExecutableInternal() into a new setExecutable()
- setExecutable() adds the executable to the list if not found, or forwards to Executable::mergeFrom()
- mergeFrom() handles merging from/to plugin executables
renamed ExecutablesList::init() to addFromPlugin()
renamed ExecutablesList::find() to get() and added a find() that returns an iterator
changed some calls from get() to find() so they can handle failure because they didn't seem to handle std::runtime_error at all