forked from 1b-agent/opencadstudio-upstream
feat(plugin): add a Plugin Manager window listing installed add-ons
Read-only inventory of the add-ons compiled into the build — name, version, id, API level, description, command prefixes — built from the extracted `ocs_plugin_api` manifest. Opened with the `PLUGINS` / `PLUGINMANAGER` command or the Start-page "Plugins" button. Adds `installed_manifests()` to the plugin registry and wires the window the same way as the existing About / Shortcuts windows. Part of #100 (phase-1 plugin manager UI stub). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
72ec1146df
commit
ec865a95aa
9 files changed
+221
-2
No files matched your search
@@ -474,6 +474,9 @@ impl OpenCADStudio {
|
||||
if Some(window_id) == self.about_window {
|
||||
return crate::ui::about::view_window();
|
||||
}
|
||||
if Some(window_id) == self.plugin_manager_window {
|
||||
return crate::ui::plugin_manager::view_window(&crate::plugin::installed_manifests());
|
||||
}
|
||||
if Some(window_id) == self.update_notice_window {
|
||||
let latest = self.update_notice_version.as_deref().unwrap_or("?");
|
||||
let body = self.update_notice_body.as_deref().unwrap_or("");
|
||||
@@ -3743,6 +3746,7 @@ pub(super) fn start_page_view<'a>() -> Element<'a, Message> {
|
||||
event: crate::modules::ModuleEvent::Command("CHANGELOG".to_string()),
|
||||
},
|
||||
),
|
||||
outline_btn("Plugins", Message::PluginManagerOpen),
|
||||
outline_btn("About", Message::AboutOpen),
|
||||
]
|
||||
.spacing(12)
|
||||
|
||||
Reference in new issue
Block a user