command_on_sync: Add Preferences tab
Text strings can be changed as requested.
just a thought but is a tab per extension a scalable way to do this?
Maybe a preferences button at the end of each line would be less intrusive?
Regardless, the on_preferences extension callback is agnostic: returns a (label, widget) tuple.
I think we should put more content in the preference pane:
- title
- description
-
widgetfromon_preferences() - link to the documentation
- info from the Extension Info dialog (in a collapsed section)
just a thought but is a tab per extension a scalable way to do this? Maybe a preferences button at the end of each line would be less intrusive?
Personally I think this is reasonably scalable. If the list grows beyond the number of tabs that can be displayed at once, the tab list becomes scroll-able. In any case, it's consistent with how other extensions have already handled this.
I think we should put more content in the preference pane:
* title * description * `widget` from `on_preferences()` * link to the documentation * info from the _Extension Info_ dialog (in a collapsed section)
I can do this manually, but I looked into this and to do it "clean and elegantly", would require what seems like some pretty severe rework of the code which injects the preferences tabs. The metadata container is not available in that code path - it acts upon a list of all on_preferences() calls rather than individual containers as that code path is intended to run. So... shall I add this the manual way for all extensions? I will do so as a proof of concept in this pull request. Please see the newest commit.
I figured out a decent way to generically add extension info, so this is superceded by PR #1832.