diff --git a/src/Services/EDA/KiCadHelper.php b/src/Services/EDA/KiCadHelper.php
index b64315fb..be4532ce 100644
--- a/src/Services/EDA/KiCadHelper.php
+++ b/src/Services/EDA/KiCadHelper.php
@@ -47,9 +47,6 @@ class KiCadHelper
/** @var bool Whether to resolve actual datasheet PDF URLs (true) or use Part-DB page links (false) */
private readonly bool $datasheetAsPdf;
- /** @var bool The system-wide default for EDA visibility when not explicitly set on an element */
- private readonly bool $defaultEdaVisibility;
-
public function __construct(
private readonly NodesListBuilder $nodesListBuilder,
private readonly TagAwareCacheInterface $kicadCache,
@@ -58,11 +55,10 @@ class KiCadHelper
private readonly UrlGeneratorInterface $urlGenerator,
private readonly EntityURLGenerator $entityURLGenerator,
private readonly TranslatorInterface $translator,
- KiCadEDASettings $kiCadEDASettings,
+ private readonly KiCadEDASettings $kiCadEDASettings,
) {
$this->category_depth = $kiCadEDASettings->categoryDepth;
$this->datasheetAsPdf = $kiCadEDASettings->datasheetAsPdf ?? true;
- $this->defaultEdaVisibility = $kiCadEDASettings->defaultEdaVisibility;
}
/**
@@ -294,7 +290,7 @@ class KiCadHelper
foreach ($allOrderdetails as $orderdetail) {
if ($orderdetail->getSupplier() !== null && $orderdetail->getSupplierPartNr() !== '') {
// When explicit flags exist, filter by resolved visibility
- $resolvedVisibility = $orderdetail->isEdaVisibility() ?? $this->defaultEdaVisibility;
+ $resolvedVisibility = $orderdetail->isEdaVisibility() ?? $this->kiCadEDASettings->defaultOrderdetailsVisibility;
if ($hasExplicitEdaVisibility && !$resolvedVisibility) {
continue;
}
@@ -339,7 +335,7 @@ class KiCadHelper
//Add parameters marked for EDA export (explicit true, or system default when null)
foreach ($part->getParameters() as $parameter) {
- $paramVisibility = $parameter->isEdaVisibility() ?? $this->defaultEdaVisibility;
+ $paramVisibility = $parameter->isEdaVisibility() ?? $this->kiCadEDASettings->defaultParameterVisibility;
if ($paramVisibility && $parameter->getName() !== '') {
$fieldName = $parameter->getName();
//Don't overwrite hardcoded fields
@@ -515,4 +511,4 @@ class KiCadHelper
UrlGeneratorInterface::ABSOLUTE_URL
);
}
-}
\ No newline at end of file
+}
diff --git a/src/Settings/MiscSettings/KiCadEDASettings.php b/src/Settings/MiscSettings/KiCadEDASettings.php
index 948d1b38..cf31bd95 100644
--- a/src/Settings/MiscSettings/KiCadEDASettings.php
+++ b/src/Settings/MiscSettings/KiCadEDASettings.php
@@ -45,12 +45,21 @@ class KiCadEDASettings
public int $categoryDepth = 0;
#[SettingsParameter(label: new TM("settings.misc.kicad_eda.datasheet_link"),
- description: new TM("settings.misc.kicad_eda.datasheet_link.help"),
- envVar: "bool:EDA_KICAD_DATASHEET_AS_PDF", envVarMode: EnvVarMode::OVERWRITE)]
+ description: new TM("settings.misc.kicad_eda.datasheet_link.help")
+ )]
public ?bool $datasheetAsPdf = true;
- #[SettingsParameter(label: new TM("settings.misc.kicad_eda.default_eda_visibility"),
- description: new TM("settings.misc.kicad_eda.default_eda_visibility.help"),
- envVar: "bool:EDA_KICAD_DEFAULT_VISIBILITY", envVarMode: EnvVarMode::OVERWRITE)]
- public bool $defaultEdaVisibility = false;
-}
\ No newline at end of file
+ #[SettingsParameter(
+ label: new TM("settings.misc.kicad_eda.default_parameter_visibility"),
+ description: new TM("settings.misc.kicad_eda.default_parameter_visibility.help"),
+
+ )]
+ public bool $defaultParameterVisibility = false;
+
+ #[SettingsParameter(
+ label: new TM("settings.misc.kicad_eda.default_orderdetails_visibility"),
+ description: new TM("settings.misc.kicad_eda.default_orderdetails_visibility.help"),
+
+ )]
+ public bool $defaultOrderdetailsVisibility = false;
+}
diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf
index cc4647b5..a403fb49 100644
--- a/translations/messages.en.xlf
+++ b/translations/messages.en.xlf
@@ -10005,18 +10005,6 @@ Please note, that you can not impersonate a disabled user. If you try you will g
When enabled, the datasheet field in KiCad will link to the actual PDF file (if found). When disabled, it will link to the Part-DB page instead. The Part-DB page link is always available as a separate "Part-DB URL" field.
-
-
- settings.misc.kicad_eda.default_eda_visibility
- Default EDA visibility
-
-
-
-
- settings.misc.kicad_eda.default_eda_visibility.help
- Default EDA visibility for parameters and orderdetails that have no explicit value set. When enabled, all parameters and supplier part numbers will be exported to EDA by default.
-
- settings.behavior.sidebar
@@ -12659,5 +12647,29 @@ Buerklin-API Authentication server:
Last stocktake
+
+
+ settings.misc.kicad_eda.default_parameter_visibility
+ Default EDA visibility of parameters
+
+
+
+
+ settings.misc.kicad_eda.default_parameter_visibility.help
+ EDA visibility for all [part] parameters who does not have an explicit visibility set. When enabled all parameters will be visible in the EDA software by default.
+
+
+
+
+ settings.misc.kicad_eda.default_orderdetails_visibility
+ Default EDA visibility of purchase infos
+
+
+
+
+ settings.misc.kicad_eda.default_orderdetails_visibility.help
+ EDA visibility for all purchase infos who does not have an explicit visibility set. When enabled all purchase infos will be visible in the EDA software by default.
+
+