mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-06 03:07:04 +02:00
Add SVG Thumbnail Provider for Windows Explorer (#5048)
* Add SVG Thumbnail Provider * Some cleanup * Small settings changes * Update PowerToys.sln Remove Any CPU entries * Fix project configuration issues * Fix bad merge * Update output path for SVG thumbnail provider * Sync with latest
This commit is contained in:
@@ -26,6 +26,20 @@ void PowerPreviewModule::destroy()
|
||||
}
|
||||
}
|
||||
|
||||
for (auto thumbnailProvider : this->m_thumbnailProviders)
|
||||
{
|
||||
if (thumbnailProvider != NULL)
|
||||
{
|
||||
// Disable all the active thumbnail providers.
|
||||
if (this->m_enabled && thumbnailProvider->GetToggleSettingState())
|
||||
{
|
||||
thumbnailProvider->DisablePreview();
|
||||
}
|
||||
|
||||
delete thumbnailProvider;
|
||||
}
|
||||
}
|
||||
|
||||
delete this;
|
||||
}
|
||||
|
||||
@@ -67,6 +81,15 @@ bool PowerPreviewModule::get_config(_Out_ wchar_t* buffer, _Out_ int* buffer_siz
|
||||
previewHandler->GetToggleSettingState());
|
||||
}
|
||||
|
||||
for (auto thumbnailProvider : this->m_thumbnailProviders)
|
||||
{
|
||||
settings.add_bool_toggle(
|
||||
thumbnailProvider->GetToggleSettingName(),
|
||||
thumbnailProvider->GetToggleSettingDescription(),
|
||||
thumbnailProvider->GetToggleSettingState());
|
||||
}
|
||||
|
||||
|
||||
return settings.serialize_to_buffer(buffer, buffer_size);
|
||||
}
|
||||
|
||||
@@ -82,6 +105,11 @@ void PowerPreviewModule::set_config(const wchar_t* config)
|
||||
previewHandler->UpdateState(settings, this->m_enabled);
|
||||
}
|
||||
|
||||
for (auto thumbnailProvider : this->m_thumbnailProviders)
|
||||
{
|
||||
thumbnailProvider->UpdateState(settings, this->m_enabled);
|
||||
}
|
||||
|
||||
settings.save_to_settings_file();
|
||||
}
|
||||
catch (std::exception const& e)
|
||||
@@ -106,6 +134,19 @@ void PowerPreviewModule::enable()
|
||||
}
|
||||
}
|
||||
|
||||
for (auto thumbnailProvider : this->m_thumbnailProviders)
|
||||
{
|
||||
if (thumbnailProvider->GetToggleSettingState())
|
||||
{
|
||||
// Enable all the thumbnail providers with initial state set as true.
|
||||
thumbnailProvider->EnableThumbnailProvider();
|
||||
}
|
||||
else
|
||||
{
|
||||
thumbnailProvider->DisableThumbnailProvider();
|
||||
}
|
||||
}
|
||||
|
||||
if (!this->m_enabled)
|
||||
{
|
||||
Trace::EnabledPowerPreview(true);
|
||||
@@ -122,6 +163,11 @@ void PowerPreviewModule::disable()
|
||||
previewHandler->DisablePreview();
|
||||
}
|
||||
|
||||
for (auto thumbnailProvider : this->m_thumbnailProviders)
|
||||
{
|
||||
thumbnailProvider->DisableThumbnailProvider();
|
||||
}
|
||||
|
||||
if (this->m_enabled)
|
||||
{
|
||||
Trace::EnabledPowerPreview(false);
|
||||
@@ -156,6 +202,12 @@ void PowerPreviewModule::init_settings()
|
||||
{
|
||||
previewHandler->LoadState(settings);
|
||||
}
|
||||
|
||||
for (auto thumbnailProvider : this->m_thumbnailProviders)
|
||||
{
|
||||
thumbnailProvider->LoadState(settings);
|
||||
}
|
||||
|
||||
}
|
||||
catch (std::exception const& e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user