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 @@
-
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+