Files
PowerToys/src/modules/previewpane/SvgPreviewHandler/Settings.cs
Chek Wei Tan 9581cd7a27 [File Explorer Add-ons] Fix file preview pane flickering on file selection and resizing (#26660)
* Move color values to constant

* Fix MonacoPreview flickering on file selection and resizing

* Fix MarkdownPreview flickering on file selection and resizing

* Fix SvgPreview flickering on file selection and resizing

* Create Settings class and standardize background setting for MarkdownPreview

* Replace ColorTranslator.FromHtml with Color.FromArgb for constant color settings

* Use existing SetBackground

* Remove duplicate GetTheme function

* Update src/modules/previewpane/MarkdownPreviewHandler/Settings.cs
2023-06-14 14:15:17 +01:00

75 lines
2.2 KiB
C#

// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using Microsoft.PowerToys.Settings.UI.Library;
namespace SvgPreviewHandler
{
internal sealed class Settings
{
private static readonly SettingsUtils ModuleSettings = new SettingsUtils();
public int ColorMode
{
get
{
try
{
return ModuleSettings.GetSettings<PowerPreviewSettings>(PowerPreviewSettings.ModuleName).Properties.SvgBackgroundColorMode.Value;
}
catch (FileNotFoundException)
{
return PowerPreviewProperties.DefaultSvgBackgroundColorMode;
}
}
}
public Color SolidColor
{
get
{
try
{
var colorString = ModuleSettings.GetSettings<PowerPreviewSettings>(PowerPreviewSettings.ModuleName).Properties.SvgBackgroundSolidColor.Value;
return ColorTranslator.FromHtml(colorString);
}
catch (FileNotFoundException)
{
return ColorTranslator.FromHtml(PowerPreviewProperties.DefaultSvgBackgroundSolidColor);
}
}
}
public Color ThemeColor
{
get
{
if (Common.UI.ThemeManager.GetWindowsBaseColor().ToLowerInvariant() == "dark")
{
return Color.FromArgb(30, 30, 30); // #1e1e1e
}
else
{
return Color.White;
}
}
}
public int CheckeredShade
{
get
{
try
{
return ModuleSettings.GetSettings<PowerPreviewSettings>(PowerPreviewSettings.ModuleName).Properties.SvgBackgroundCheckeredShade.Value;
}
catch (FileNotFoundException)
{
return PowerPreviewProperties.DefaultSvgBackgroundCheckeredShade;
}
}
}
}
}