Skip to content

Plugin and Content Manager system

qu1ck requested to merge qu1ck/kicad:pcm into master

This MR is for a feature on FF exception list

Fixes #2242 (closed)

Based on the following design doc: https://docs.google.com/document/d/1ExIzHEeTjBq3eCQDQzOU2orlq2TcX8-6iWS8kfn8rK8/edit?usp=sharing

I planned out the work in several phases:

  1. Setup PCM repository and implement PCM main functions (i.e. package listing, search, (un)installation).
  2. Setup metadata repository and pipelines for validation and syncing of repos. Once this is done and code from 1) is checked in the feature is usable and can be shipped in v6.
  3. Build API backend service and implement API calls (registering user installation, ratings for packages etc.)
  4. Build web UI for package browsing.

This MR covers phase 1. It is already fully functional and ready for testing and code review which I invite KiCad devs to do while I'm working on phase 2.

A few things to do before this should be checked in:

  1. Prepare KiCad's own icon for PCM and switch to using them. We need PCM icon in 24x24 for menu and 48x48 for launcher. Optionally we could use a separate "default" icon for package listings, 64x64 is best. Or we can continue using current one, I quite like it. It is completely free, taken from https://freeiconshop.com/icon/box-icon-outline-filled/
  2. I have my own test repository hardcoded as a default. It should be changed to official repo once it's created.
  3. Package details presentation probably should be improved. I am using wxRichTextCtrl and not really happy with it, probably wxHtmlWindow is better. If anyone can help with this I'd be glad. We can also check in what I have and improve later.

Other than this, I tested everything on Windows 10 MSVC build with wx 3.1 and Debian 10 GCC 8 with wx 3.0.

All of new code is gated behind KICAD_PCM cmake flag so make sure to enable it if you want to test.

Screenshots:

image

image

image

GTK3 dark theme

image

Installation progress

image

Edited by Seth Hillbrand

Merge request reports