ecode: add structured settings pages for plugins

- introduce reusable settings models, documents, and plugin settings pages
  - expose all registered plugin configuration options in the Settings panel
  - support groups, choices, editable values, lists, secrets, and JSON objects
  - stage plugin changes and persist them when the Settings window closes
  - preserve raw JSON access for advanced configuration
  - safely migrate legacy AI provider API keys
  - add translated plugin setting labels and descriptions
  - remove the obsolete plugin GUI configuration API
  - fix autocomplete signature documentation persistence
  - fix AI model catalog refresh interval loading
This commit is contained in:
Martín Lucas Golini
2026-08-26 01:37:28 -03:00
parent 42d9dd6473
commit a182878837
35 changed files with 1409 additions and 63 deletions
@@ -52,6 +52,10 @@ class GitPlugin : public PluginBase {
std::string getDescription() override { return Definition().description; }
bool hasSettingsPage() const override { return true; }
void registerSettings( SettingsPage& page ) override;
void onFileSystemEvent( const FileEvent& ev, const FileInfo& file ) override;
FileSystemListenerOptions getFileSystemListenerOptions() const override;