diff --git a/installer/PowerToysSetup/Product.wxs b/installer/PowerToysSetup/Product.wxs index 409523ef17..a6f06f8051 100644 --- a/installer/PowerToysSetup/Product.wxs +++ b/installer/PowerToysSetup/Product.wxs @@ -38,7 +38,7 @@ - + @@ -868,7 +868,7 @@ - + diff --git a/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj b/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj index 94f77be602..613c66d1bb 100644 --- a/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj +++ b/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj @@ -49,6 +49,7 @@ + diff --git a/src/modules/previewpane/MonacoPreviewHandler/Settings.cs b/src/modules/previewpane/MonacoPreviewHandler/Settings.cs index d46792e523..dbbcce8d5c 100644 --- a/src/modules/previewpane/MonacoPreviewHandler/Settings.cs +++ b/src/modules/previewpane/MonacoPreviewHandler/Settings.cs @@ -6,6 +6,7 @@ using System; using System.Drawing; using System.IO; using System.Reflection; +using Microsoft.PowerToys.Settings.UI.Library; namespace Microsoft.PowerToys.PreviewHandler.Monaco { @@ -14,18 +15,14 @@ namespace Microsoft.PowerToys.PreviewHandler.Monaco /// public class Settings { - /// - /// Word warping. Set by PT settings. - /// - private bool _wrap; + private static SettingsUtils moduleSettings = new SettingsUtils(); + /// + /// Gets a value indicating whether word wrapping should be applied. Set by PT settings. + /// public bool Wrap { - get => _wrap; - set - { - _wrap = value; - } + get => moduleSettings.GetSettings(PowerPreviewSettings.ModuleName).Properties.EnableMonacoPreviewWordWrap; } /// diff --git a/src/modules/previewpane/MonacoPreviewHandler/index.html b/src/modules/previewpane/MonacoPreviewHandler/index.html index de73f13448..4da8e809d8 100644 --- a/src/modules/previewpane/MonacoPreviewHandler/index.html +++ b/src/modules/previewpane/MonacoPreviewHandler/index.html @@ -9,6 +9,7 @@ // `theme` can be "light" or "dark" // `lang` is the language of the file // `wrap` if the editor is wrapping or not + var theme = ("[[PT_THEME]]" == "dark") ? "vs-dark" : "vs"; var lang = "[[PT_LANG]]"; var wrap = ([[PT_WRAP]] == 1) ? true : false; @@ -46,21 +47,21 @@ - +
+ + + \ No newline at end of file diff --git a/src/settings-ui/Settings.UI.Library/PowerPreviewProperties.cs b/src/settings-ui/Settings.UI.Library/PowerPreviewProperties.cs index f8726204a8..adcac598c8 100644 --- a/src/settings-ui/Settings.UI.Library/PowerPreviewProperties.cs +++ b/src/settings-ui/Settings.UI.Library/PowerPreviewProperties.cs @@ -80,6 +80,23 @@ namespace Microsoft.PowerToys.Settings.UI.Library } } + private bool monacoPreviewWordWrap = true; + + [JsonPropertyName("monaco-previewer-toggle-setting-word-wrap")] + [JsonConverter(typeof(BoolPropertyJsonConverter))] + public bool EnableMonacoPreviewWordWrap + { + get => monacoPreviewWordWrap; + set + { + if (value != monacoPreviewWordWrap) + { + LogTelemetryEvent(value); + monacoPreviewWordWrap = value; + } + } + } + private bool enablePdfPreview = true; [JsonPropertyName("pdf-previewer-toggle-setting")] diff --git a/src/settings-ui/Settings.UI.Library/ViewModels/PowerPreviewViewModel.cs b/src/settings-ui/Settings.UI.Library/ViewModels/PowerPreviewViewModel.cs index 25429ec182..17ec7e6bab 100644 --- a/src/settings-ui/Settings.UI.Library/ViewModels/PowerPreviewViewModel.cs +++ b/src/settings-ui/Settings.UI.Library/ViewModels/PowerPreviewViewModel.cs @@ -50,6 +50,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels _svgThumbnailIsEnabled = Settings.Properties.EnableSvgThumbnail; _mdRenderIsEnabled = Settings.Properties.EnableMdPreview; _monacoRenderIsEnabled = Settings.Properties.EnableMonacoPreview; + _monacoWrapText = Settings.Properties.EnableMonacoPreviewWordWrap; _pdfRenderIsEnabled = Settings.Properties.EnablePdfPreview; _gcodeRenderIsEnabled = Settings.Properties.EnableGcodePreview; _pdfThumbnailIsEnabled = Settings.Properties.EnablePdfThumbnail; @@ -60,6 +61,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels private bool _svgRenderIsEnabled; private bool _mdRenderIsEnabled; private bool _monacoRenderIsEnabled; + private bool _monacoWrapText; private bool _pdfRenderIsEnabled; private bool _gcodeRenderIsEnabled; private bool _svgThumbnailIsEnabled; @@ -139,6 +141,24 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels } } + public bool MonacoWrapText + { + get + { + return _monacoWrapText; + } + + set + { + if (_monacoWrapText != value) + { + _monacoWrapText = value; + Settings.Properties.EnableMonacoPreviewWordWrap = value; + RaisePropertyChanged(); + } + } + } + public bool PDFRenderIsEnabled { get diff --git a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw index c5a4b2c939..3530190c8c 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -2053,6 +2053,10 @@ From there, simply click on one of the supported files in the File Explorer and Attribution giving credit to the projects this utility was based on + + Wrap text + Feature on or off + This setting can affect all popup windows including notifications diff --git a/src/settings-ui/Settings.UI/Views/PowerPreviewPage.xaml b/src/settings-ui/Settings.UI/Views/PowerPreviewPage.xaml index 01d642bcb9..5256596b45 100644 --- a/src/settings-ui/Settings.UI/Views/PowerPreviewPage.xaml +++ b/src/settings-ui/Settings.UI/Views/PowerPreviewPage.xaml @@ -35,12 +35,25 @@ - - - + + + + - - + + + + + + + + + +