filmopen_plugins_ui
Generated by scripts/package_digest.py; regenerate, never edit.
Settings → Plugins (Software Specification §9.4): the list of plug-ins, a tree by what their manifests name in x.dependencies, with Install from file… and the preferred providers, the consent screen, and a plug-in’s page — its switch, its settings on this computer, its actions and their answers, Check and what it implements, its own key cards (drawn by the builder the app hands in, since this package imports no keys package), the keys it asks to use and what a call may spend, and its README — all drawn by the app’s own widgets from what filmopen_state’s seam answers — three of its roles: PluginCatalogueView for what is installed, PluginSettingsControl for what the person changes, and PluginInvocation for an action and Check. Only the app imports it.
Flutter. 7 files, 1,761 lines under lib/; 91 tests in 7 files. Barrel: lib/filmopen_plugins_ui.dart.
Depends on
Section titled “Depends on”- filmopen_format — uses
EntityType,numberText - filmopen_forms — uses
PluginChoiceField,PluginProgramBox,PluginServerBox,PluginSwitchField,PluginTextBox,pluginChoiceToken,pluginNumberRefusal,pluginServerValue,pluginSwitchValue - filmopen_state — uses
CreditFunding,FieldRegistry,FieldSetter,FundingResult,FundingUnavailable,Lending,PluginAction,PluginCallControl,PluginCallDone,PluginCatalogueView,PluginField,PluginFieldType,PluginGrant,PluginInvocation,PluginLifecyclePhase,PluginLifecycleProblem,PluginLifecycleProblemKind,PluginOrigin,PluginProblemInfo,PluginProvider,PluginReadiness,PluginSettingsControl,PluginStatusState,PluginSummary,PluginSwitchNotSaved,ProviderFunding,ProviderUnavailableReason,Settings,kFilmOpenDocsUrl,kFilmOpenDomainand 2 more - filmopen_ui — uses
AppColors,ChromeClearance,EmptyState,SectionCard,showMessage - filmopen_l10n — uses nothing by name the digest could see
- filmopen_store — uses
AppLog
Third-party: file_selector, url_launcher.
Used by
Section titled “Used by”filmopen_app
Public API
Section titled “Public API”What the barrel exports, file by file. A name is class, enum, mixin, extension, typedef, a top-level function, getter, setter or variable; under a class, its public constructors, fields, getters, setters and methods.
lib/src/plugin_page.dart — only KeyCardsBuilder, openPluginDocs
Section titled “lib/src/plugin_page.dart — only KeyCardsBuilder, openPluginDocs”- typedef
typedef KeyCardsBuilder— Draws [owner]’s key cards — a plug-in’s, by its tag. - function
Future<bool> openPluginDocs(Uri uri)— Opens a plug-in’s guide in the person’s browser.
lib/src/plugins_tab.dart
Section titled “lib/src/plugins_tab.dart”- typedef
typedef ArchiveChooser— Chooses a plug-in’s zip and answers its bytes; null when the person cancels. - function
Future<Uint8List?> chooseArchive(BuildContext context)— The platform’s file dialog, filtered to zips. - class
PluginsTab— Settings → Plugins (Software Specification §9.4): the plug-ins found in the library and development folder, each with its switch, and a plug-in’s own page.const PluginsTab({super.key, this.webBuild = kIsWeb, this.chooseFile = chooseArchive, this.openDeveloperPage, this.openDocs = openPluginDocs, this.…final bool webBuild— The web build runs no plug-ins: the tab is one sentence there.final ArchiveChooser chooseFile— How Install from file… picks a zip; a test passes its own.final Future<bool> Function(Uri uri) openDocs— How a plug-in’s guide is opened; tests pass their own so that no browser is started.final void Function(BuildContext context, String stem)? openDeveloperPage— Opens the plug-in developer page on a plug-in.final KeyCardsBuilder? keyCards— Draws a plug-in’s own key cards on its page; the app hands it in, as [openDeveloperPage].final String? openPlugin— A plug-in whose page a door elsewhere asked for, by tag, such as a speech provider’s (§6.7): its page opens, or the list where it is not installed.final VoidCallback? onOpenedPlugin— Called after the frame that took [openPlugin], so that the request is taken once.
Internal
Section titled “Internal”Files under lib/ the barrel does not reach; nothing outside the package may import them.
lib/src/consent_dialog.dart:askConsentlib/src/plugin_card.dart:setPluginEnabled,pluginOriginText,PluginEnabledSwitch,pluginNotices,PluginCardlib/src/plugin_status_line.dart:PluginTone,PluginReadinessWords,pluginReadinessWords,_codeOf,pluginToneColour,pluginToneIcon,PluginStatusLinelib/src/preferred_providers.dart:PreferredProviders,_PreferredPullDown