25#if defined( KICAD_NATIVE_MODEL_PREVIEW ) && defined( __WINDOWS__ )
38wxString canonicalRequirement( wxString aRequirement )
40 aRequirement.Trim(
true ).Trim(
false ).MakeLower();
47 const std::vector<wxString>& aDeclinedRequirements )
56 const wxString required = canonicalRequirement( aStatus.
requirementId );
58 return std::none_of( aDeclinedRequirements.begin(), aDeclinedRequirements.end(),
59 [&](
const wxString& aDeclined )
61 return canonicalRequirement( aDeclined ) == required;
68 const wxString requirement = canonicalRequirement( aRequirement );
70 if( requirement.IsEmpty()
71 || std::any_of( aDeclinedRequirements.begin(), aDeclinedRequirements.end(),
72 [&](
const wxString& aDeclined )
74 return canonicalRequirement( aDeclined ) == requirement;
80 aDeclinedRequirements.push_back( requirement );
84#if defined( KICAD_NATIVE_MODEL_PREVIEW ) && defined( __WINDOWS__ )
85void MaybeShowModelPreviewSetupPrompt( wxWindow* aParent )
87 static bool asked =
false;
107 wxMessageDialog dialog( aParent,
_(
"3D model previews require setup for this KiCad version." ),
108 _(
"3D Model Previews" ), wxYES_NO | wxICON_INFORMATION );
109 dialog.SetYesNoLabels(
_(
"Set Up Previews" ),
_(
"Skip This Version" ) );
111 if( dialog.ShowModal() != wxID_YES )
std::vector< wxString > m_DeclinedModelPreviewRequirements
Preview-component requirements explicitly dismissed by the user.
virtual COMMON_SETTINGS * GetCommonSettings() const
virtual SETTINGS_MANAGER & GetSettingsManager() const
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
This file is part of the common library.
const wxChar *const traceModelPreview
Flag to enable native operating-system model preview debug output.
bool ShouldPromptForModelPreviewSetup(const MODEL_PREVIEW_STATUS &aStatus, const std::vector< wxString > &aDeclinedRequirements)
void DeclineModelPreviewRequirement(const wxString &aRequirement, std::vector< wxString > &aDeclinedRequirements)
bool RepairPlatformModelPreviewRegistration(wxString &aError)
MODEL_PREVIEW_STATUS GetPlatformModelPreviewStatus()
PGM_BASE & Pgm()
The global program "get" accessor.
MODEL_PREVIEW_ENABLEMENT_STATE enablement
MODEL_PREVIEW_GUIDANCE guidance
bool canRepairRegistration
wxLogTrace helper definitions.