diff --git a/src/settings-ui/PowerToys.Settings/App.xaml.cs b/src/settings-ui/PowerToys.Settings/App.xaml.cs
index f83b026198..50d0f989b5 100644
--- a/src/settings-ui/PowerToys.Settings/App.xaml.cs
+++ b/src/settings-ui/PowerToys.Settings/App.xaml.cs
@@ -62,13 +62,13 @@ namespace PowerToys.Settings
if (ShowOobe)
{
PowerToysTelemetry.Log.WriteEvent(new OobeStartedEvent());
- OobeWindow oobeWindow = new OobeWindow((int)Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModulesEnum.Overview);
+ OobeWindow oobeWindow = new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModulesEnum.Overview);
oobeWindow.Show();
}
else if (ShowScoobe)
{
PowerToysTelemetry.Log.WriteEvent(new ScoobeStartedEvent());
- OobeWindow scoobeWindow = new OobeWindow((int)Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModulesEnum.WhatsNew);
+ OobeWindow scoobeWindow = new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModulesEnum.WhatsNew);
scoobeWindow.Show();
}
}
diff --git a/src/settings-ui/PowerToys.Settings/MainWindow.xaml.cs b/src/settings-ui/PowerToys.Settings/MainWindow.xaml.cs
index 87c89a6e4c..eedcb8c289 100644
--- a/src/settings-ui/PowerToys.Settings/MainWindow.xaml.cs
+++ b/src/settings-ui/PowerToys.Settings/MainWindow.xaml.cs
@@ -125,7 +125,7 @@ namespace PowerToys.Settings
// open oobe
ShellPage.SetOpenOobeCallback(() =>
{
- var oobe = new OobeWindow((int)Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModulesEnum.Overview);
+ var oobe = new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModulesEnum.Overview);
oobe.Show();
});
diff --git a/src/settings-ui/PowerToys.Settings/OobeWindow.xaml.cs b/src/settings-ui/PowerToys.Settings/OobeWindow.xaml.cs
index 660570eb46..fe21a6cf48 100644
--- a/src/settings-ui/PowerToys.Settings/OobeWindow.xaml.cs
+++ b/src/settings-ui/PowerToys.Settings/OobeWindow.xaml.cs
@@ -7,6 +7,7 @@ using System.Windows;
using System.Windows.Interop;
using interop;
using Microsoft.PowerToys.Settings.UI.Helpers;
+using Microsoft.PowerToys.Settings.UI.OOBE.Enums;
using Microsoft.PowerToys.Settings.UI.OOBE.Views;
using Microsoft.Toolkit.Wpf.UI.XamlHost;
using Windows.ApplicationModel.Resources;
@@ -20,7 +21,7 @@ namespace PowerToys.Settings
{
private static Window inst;
private OobeShellPage shellPage;
- private int initialModule;
+ private PowerToysModulesEnum initialModule;
public static bool IsOpened
{
@@ -30,7 +31,7 @@ namespace PowerToys.Settings
}
}
- public OobeWindow(int initialModule)
+ public OobeWindow(PowerToysModulesEnum initialModule)
{
InitializeComponent();
Utils.FitToScreen(this);
diff --git a/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml b/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml
index 8d39aae96a..d256adf903 100644
--- a/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml
+++ b/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml
@@ -17,7 +17,7 @@
diff --git a/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml.cs b/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml.cs
index 8d2ab0693c..9683210ae2 100644
--- a/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml.cs
+++ b/src/settings-ui/Settings.UI/Controls/OOBEPageControl/OOBEPageControl.xaml.cs
@@ -14,33 +14,33 @@ namespace Microsoft.PowerToys.Settings.UI.Controls
this.InitializeComponent();
}
- public string ModuleTitle
+ public string Title
{
- get { return (string)GetValue(ModuleTitleProperty); }
- set { SetValue(ModuleTitleProperty, value); }
+ get { return (string)GetValue(TitleProperty); }
+ set { SetValue(TitleProperty, value); }
}
- public string ModuleDescription
+ public string Description
{
- get => (string)GetValue(ModuleDescriptionProperty);
- set => SetValue(ModuleDescriptionProperty, value);
+ get => (string)GetValue(DescriptionProperty);
+ set => SetValue(DescriptionProperty, value);
}
- public string ModuleImageSource
+ public string HeroImage
{
- get => (string)GetValue(ModuleImageSourceProperty);
- set => SetValue(ModuleImageSourceProperty, value);
+ get => (string)GetValue(HeroImageProperty);
+ set => SetValue(HeroImageProperty, value);
}
- public object ModuleContent
+ public object PageContent
{
- get { return (object)GetValue(ModuleContentProperty); }
- set { SetValue(ModuleContentProperty, value); }
+ get { return (object)GetValue(PageContentProperty); }
+ set { SetValue(PageContentProperty, value); }
}
- public static readonly DependencyProperty ModuleTitleProperty = DependencyProperty.Register("ModuleTitle", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
- public static readonly DependencyProperty ModuleDescriptionProperty = DependencyProperty.Register("ModuleDescription", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
- public static readonly DependencyProperty ModuleImageSourceProperty = DependencyProperty.Register("ModuleImageSource", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
- public static readonly DependencyProperty ModuleContentProperty = DependencyProperty.Register("ModuleContent", typeof(object), typeof(SettingsPageControl), new PropertyMetadata(new Grid()));
+ public static readonly DependencyProperty TitleProperty = DependencyProperty.Register("Title", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
+ public static readonly DependencyProperty DescriptionProperty = DependencyProperty.Register("Description", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
+ public static readonly DependencyProperty HeroImageProperty = DependencyProperty.Register("HeroImage", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
+ public static readonly DependencyProperty PageContentProperty = DependencyProperty.Register("PageContent", typeof(object), typeof(SettingsPageControl), new PropertyMetadata(new Grid()));
}
}
diff --git a/src/settings-ui/Settings.UI/OOBE/Enums/PowerToysModulesEnum.cs b/src/settings-ui/Settings.UI/OOBE/Enums/PowerToysModulesEnum.cs
index 6795ec4ab2..998a2a8f7f 100644
--- a/src/settings-ui/Settings.UI/OOBE/Enums/PowerToysModulesEnum.cs
+++ b/src/settings-ui/Settings.UI/OOBE/Enums/PowerToysModulesEnum.cs
@@ -7,7 +7,6 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.Enums
public enum PowerToysModulesEnum
{
Overview = 0,
- WhatsNew,
AlwaysOnTop,
Awake,
ColorPicker,
@@ -20,5 +19,6 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.Enums
Run,
ShortcutGuide,
VideoConference,
+ WhatsNew,
}
}
diff --git a/src/settings-ui/Settings.UI/OOBE/ViewModel/OobePowerToysModule.cs b/src/settings-ui/Settings.UI/OOBE/ViewModel/OobePowerToysModule.cs
index 76cd71fa23..97be7276de 100644
--- a/src/settings-ui/Settings.UI/OOBE/ViewModel/OobePowerToysModule.cs
+++ b/src/settings-ui/Settings.UI/OOBE/ViewModel/OobePowerToysModule.cs
@@ -17,20 +17,6 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.ViewModel
public bool IsNew { get; set; }
- public string Image { get; set; }
-
- public string Icon { get; set; }
-
- public string FluentIcon { get; set; }
-
- public string PreviewImageSource { get; set; }
-
- public string Description { get; set; }
-
- public string Link { get; set; }
-
- public string DescriptionLink { get; set; }
-
public OobePowerToysModule()
{
}
@@ -45,13 +31,6 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.ViewModel
ModuleName = other.ModuleName;
Tag = other.Tag;
IsNew = other.IsNew;
- Image = other.Image;
- Icon = other.Icon;
- FluentIcon = other.FluentIcon;
- PreviewImageSource = other.PreviewImageSource;
- Description = other.Description;
- Link = other.Link;
- DescriptionLink = other.DescriptionLink;
timeOpened = other.timeOpened;
}
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeAlwaysOnTop.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeAlwaysOnTop.xaml
index f5ce24542e..e70f7d7bf6 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeAlwaysOnTop.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeAlwaysOnTop.xaml
@@ -9,11 +9,10 @@
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls">
-
+
-
+
@@ -29,13 +28,13 @@
-
-
+
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeAwake.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeAwake.xaml
index 340e3efa6b..58bc787bab 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeAwake.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeAwake.xaml
@@ -8,11 +8,10 @@
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls">
-
+
-
+
@@ -27,13 +26,13 @@
-
-
+
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeColorPicker.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeColorPicker.xaml
index 7d108a56a4..703fb5587e 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeColorPicker.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeColorPicker.xaml
@@ -9,11 +9,10 @@
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls">
-
+
-
+
@@ -30,12 +29,12 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeFancyZones.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeFancyZones.xaml
index ed41a0c739..4c31542961 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeFancyZones.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeFancyZones.xaml
@@ -8,11 +8,10 @@
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
@@ -29,12 +28,12 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeFileExplorer.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeFileExplorer.xaml
index 6484fa1bc4..7b4e691001 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeFileExplorer.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeFileExplorer.xaml
@@ -8,11 +8,10 @@
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
@@ -22,12 +21,12 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeImageResizer.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeImageResizer.xaml
index 482c825550..9a423d130c 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeImageResizer.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeImageResizer.xaml
@@ -9,11 +9,10 @@
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
@@ -28,12 +27,12 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeKBM.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeKBM.xaml
index c44c3c6245..6db8be6b24 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeKBM.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeKBM.xaml
@@ -5,11 +5,10 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls" xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeMouseUtils.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeMouseUtils.xaml
index 3cc42b2b67..2014d0c00f 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeMouseUtils.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeMouseUtils.xaml
@@ -8,11 +8,10 @@
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
@@ -29,13 +28,13 @@
-
+
-
+
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeOverview.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeOverview.xaml
index bcf55670e9..2b49a48850 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeOverview.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeOverview.xaml
@@ -7,21 +7,16 @@
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
mc:Ignorable="d">
-
+
-
+
-
-
-
-
+
-
-
+
@@ -30,6 +25,6 @@
Click="SettingsLaunchButton_Click"/>
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobePowerRename.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobePowerRename.xaml
index 5add2efb2e..bc065ebae4 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobePowerRename.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobePowerRename.xaml
@@ -7,10 +7,10 @@
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
-
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeRun.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeRun.xaml
index 4f169c1aba..e6f24b32f1 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeRun.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeRun.xaml
@@ -5,14 +5,14 @@
xmlns:local="using:Microsoft.PowerToys.Settings.UI.OOBE.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls" xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
+ xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
+ xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
@@ -28,12 +28,12 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml
index 88c3b77ea1..17489e4c02 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml
@@ -3,24 +3,14 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Microsoft.PowerToys.Settings.UI.OOBE.Views"
- xmlns:winui="using:Microsoft.UI.Xaml.Controls"
+ xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:localModels="using:Microsoft.PowerToys.Settings.UI.OOBE.ViewModel"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- winui:BackdropMaterial.ApplyToRootOrPageBackground="True"
+ muxc:BackdropMaterial.ApplyToRootOrPageBackground="True"
mc:Ignorable="d"
HighContrastAdjustment="None">
-
-
-
-
-
-
-
-
-
-
@@ -43,19 +33,131 @@
-
-
+ IsBackButtonVisible="Collapsed">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml.cs b/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml.cs
index b1e5724993..d7b52a0e4d 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml.cs
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeShellPage.xaml.cs
@@ -57,212 +57,125 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.Views
OobeShellHandler = this;
UpdateUITheme();
Modules = new ObservableCollection();
- ResourceLoader loader = ResourceLoader.GetForViewIndependentUse();
Modules.Insert((int)PowerToysModulesEnum.Overview, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_Welcome"),
- Tag = "Overview",
+ ModuleName = "Overview",
IsNew = false,
- Icon = "\uEF3C",
- Image = "ms-appx:///Assets/Modules/ColorPicker.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsPowerToys.png",
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/OOBEPTHero.png",
- DescriptionLink = "https://aka.ms/PowerToysOverview",
- Link = "https://github.com/microsoft/PowerToys/releases/",
- });
- Modules.Insert((int)PowerToysModulesEnum.WhatsNew, new OobePowerToysModule()
- {
- ModuleName = loader.GetString("Oobe_WhatsNew"),
- Tag = "WhatsNew",
- IsNew = false,
- Icon = "\uEF3C",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsSettings.png",
});
Modules.Insert((int)PowerToysModulesEnum.AlwaysOnTop, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_AlwaysOnTop"),
- Tag = "AlwaysOnTop",
+ ModuleName = "AlwaysOnTop",
IsNew = true,
- Icon = "\uEC32",
- Image = "ms-appx:///Assets/Modules/AlwaysOnTop.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsAlwaysOnTop.png",
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/AlwaysOnTop.png",
- Description = loader.GetString("Oobe_AlwaysOnTop_Description"),
- Link = "https://aka.ms/PowerToysOverview_AlwaysOnTop",
});
Modules.Insert((int)PowerToysModulesEnum.Awake, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_Awake"),
- Tag = "Awake",
+ ModuleName = "Awake",
IsNew = false,
- Icon = "\uEC32",
- Image = "ms-appx:///Assets/Modules/Awake.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsAwake.png",
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/Awake.png",
- Description = loader.GetString("Oobe_Awake_Description"),
- Link = "https://aka.ms/PowerToysOverview_Awake",
});
Modules.Insert((int)PowerToysModulesEnum.ColorPicker, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_ColorPicker"),
- Tag = "ColorPicker",
+ ModuleName = "ColorPicker",
IsNew = false,
- Icon = "\uEF3C",
- Image = "ms-appx:///Assets/Modules/ColorPicker.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsColorPicker.png",
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/ColorPicker.gif",
- Description = loader.GetString("Oobe_ColorPicker_Description"),
- Link = "https://aka.ms/PowerToysOverview_ColorPicker",
});
Modules.Insert((int)PowerToysModulesEnum.FancyZones, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_FancyZones"),
- Tag = "FancyZones",
+ ModuleName = "FancyZones",
IsNew = false,
- Icon = "\uE737",
- Image = "ms-appx:///Assets/Modules/FancyZones.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsFancyZones.png",
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/FancyZones.gif",
- Description = loader.GetString("Oobe_FancyZones_Description"),
- Link = "https://aka.ms/PowerToysOverview_FancyZones",
});
Modules.Insert((int)PowerToysModulesEnum.FileExplorer, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_FileExplorer"),
- Tag = "FileExplorer",
+ ModuleName = "FileExplorer",
IsNew = false,
- Icon = "\uEC50",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsFileExplorerPreview.png",
- Image = "ms-appx:///Assets/Modules/PowerPreview.png",
- Description = loader.GetString("Oobe_FileExplorer_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/FileExplorer.png",
- Link = "https://aka.ms/PowerToysOverview_FileExplorerAddOns",
});
Modules.Insert((int)PowerToysModulesEnum.ImageResizer, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_ImageResizer"),
- Tag = "ImageResizer",
+ ModuleName = "ImageResizer",
IsNew = false,
- Icon = "\uEB9F",
- Image = "ms-appx:///Assets/Modules/ImageResizer.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsImageResizer.png",
- Description = loader.GetString("Oobe_ImageResizer_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/ImageResizer.gif",
- Link = "https://aka.ms/PowerToysOverview_ImageResizer",
});
Modules.Insert((int)PowerToysModulesEnum.KBM, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_KBM"),
- Tag = "KBM",
+ ModuleName = "KBM",
IsNew = false,
- Icon = "\uE765",
- Image = "ms-appx:///Assets/Modules/KeyboardManager.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsKeyboardManager.png",
- Description = loader.GetString("Oobe_KBM_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/KBM.gif",
- Link = "https://aka.ms/PowerToysOverview_KeyboardManager",
});
Modules.Insert((int)PowerToysModulesEnum.MouseUtils, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_MouseUtils"),
- Tag = "MouseUtils",
+ ModuleName = "MouseUtils",
IsNew = true,
- Icon = "\uE962",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsMouseUtils.png",
- Image = "ms-appx:///Assets/Modules/MouseUtils.png",
- Description = loader.GetString("Oobe_MouseUtils_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/MouseUtils.gif",
- Link = "https://aka.ms/PowerToysOverview_MouseUtilities", // TODO: Add correct link after it's been created.
});
Modules.Insert((int)PowerToysModulesEnum.PowerRename, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_PowerRename"),
- Tag = "PowerRename",
+ ModuleName = "PowerRename",
IsNew = false,
- Icon = "\uE8AC",
- Image = "ms-appx:///Assets/Modules/PowerRename.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsPowerRename.png",
- Description = loader.GetString("Oobe_PowerRename_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/PowerRename.gif",
- Link = "https://aka.ms/PowerToysOverview_PowerRename",
});
Modules.Insert((int)PowerToysModulesEnum.Run, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_Run"),
- Tag = "Run",
+ ModuleName = "Run",
IsNew = false,
- Icon = "\uE773",
- Image = "ms-appx:///Assets/Modules/PowerLauncher.png",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsPowerToysRun.png",
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/Run.gif",
- Description = loader.GetString("Oobe_PowerRun_Description"),
- Link = "https://aka.ms/PowerToysOverview_PowerToysRun",
});
Modules.Insert((int)PowerToysModulesEnum.ShortcutGuide, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_ShortcutGuide"),
- Tag = "ShortcutGuide",
+ ModuleName = "ShortcutGuide",
IsNew = false,
- Icon = "\uEDA7",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsShortcutGuide.png",
- Image = "ms-appx:///Assets/Modules/ShortcutGuide.png",
- Description = loader.GetString("Oobe_ShortcutGuide_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/OOBEShortcutGuide.png",
- Link = "https://aka.ms/PowerToysOverview_ShortcutGuide",
});
Modules.Insert((int)PowerToysModulesEnum.VideoConference, new OobePowerToysModule()
{
- ModuleName = loader.GetString("Oobe_VideoConference"),
- Tag = "VideoConference",
+ ModuleName = "VideoConference",
IsNew = true,
- Icon = "\uEC50",
- FluentIcon = "ms-appx:///Assets/FluentIcons/FluentIconsVideoConferenceMute.png",
- Image = "ms-appx:///Assets/Modules/VideoConference.png",
- Description = loader.GetString("Oobe_VideoConference_Description"),
- PreviewImageSource = "ms-appx:///Assets/Modules/OOBE/VideoConferenceMute.png",
- Link = "https://aka.ms/PowerToysOverview_VideoConference",
+ });
+ Modules.Insert((int)PowerToysModulesEnum.WhatsNew, new OobePowerToysModule()
+ {
+ ModuleName = "WhatsNew",
+ IsNew = false,
});
}
public void OnClosing()
{
- if (NavigationView.SelectedItem != null)
+ Microsoft.UI.Xaml.Controls.NavigationViewItem selectedItem = NavigationView.SelectedItem as Microsoft.UI.Xaml.Controls.NavigationViewItem;
+ if (selectedItem != null)
{
- ((OobePowerToysModule)NavigationView.SelectedItem).LogClosingModuleEvent();
+ Modules[(int)(PowerToysModulesEnum)Enum.Parse(typeof(PowerToysModulesEnum), (string)selectedItem.Tag, true)].LogClosingModuleEvent();
}
}
- public void NavigateToModule(int moduleIndex)
+ public void NavigateToModule(PowerToysModulesEnum selectedModule)
{
- if (Modules.Count > 0)
+ if (selectedModule == PowerToysModulesEnum.WhatsNew)
{
- NavigationView.SelectedItem = Modules[moduleIndex];
+ NavigationView.SelectedItem = NavigationView.FooterMenuItems[0];
+ }
+ else
+ {
+ NavigationView.SelectedItem = NavigationView.MenuItems[(int)selectedModule];
}
}
[SuppressMessage("Usage", "CA1801:Review unused parameters", Justification = "Params are required for event handler signature requirements.")]
private void NavigationView_SelectionChanged(Microsoft.UI.Xaml.Controls.NavigationView sender, Microsoft.UI.Xaml.Controls.NavigationViewSelectionChangedEventArgs args)
{
- OobePowerToysModule selectedItem = args.SelectedItem as OobePowerToysModule;
+ Microsoft.UI.Xaml.Controls.NavigationViewItem selectedItem = args.SelectedItem as Microsoft.UI.Xaml.Controls.NavigationViewItem;
- switch (selectedItem.Tag)
+ if (selectedItem != null)
{
- case "Overview": NavigationFrame.Navigate(typeof(OobeOverview)); break;
- case "WhatsNew": NavigationFrame.Navigate(typeof(OobeWhatsNew)); break;
- case "AlwaysOnTop": NavigationFrame.Navigate(typeof(OobeAlwaysOnTop)); break;
- case "Awake": NavigationFrame.Navigate(typeof(OobeAwake)); break;
- case "ColorPicker": NavigationFrame.Navigate(typeof(OobeColorPicker)); break;
- case "FancyZones": NavigationFrame.Navigate(typeof(OobeFancyZones)); break;
- case "Run": NavigationFrame.Navigate(typeof(OobeRun)); break;
- case "ImageResizer": NavigationFrame.Navigate(typeof(OobeImageResizer)); break;
- case "KBM": NavigationFrame.Navigate(typeof(OobeKBM)); break;
- case "PowerRename": NavigationFrame.Navigate(typeof(OobePowerRename)); break;
- case "FileExplorer": NavigationFrame.Navigate(typeof(OobeFileExplorer)); break;
- case "ShortcutGuide": NavigationFrame.Navigate(typeof(OobeShortcutGuide)); break;
- case "VideoConference": NavigationFrame.Navigate(typeof(OobeVideoConference)); break;
- case "MouseUtils": NavigationFrame.Navigate(typeof(OobeMouseUtils)); break;
+ switch (selectedItem.Tag)
+ {
+ case "Overview": NavigationFrame.Navigate(typeof(OobeOverview)); break;
+ case "WhatsNew": NavigationFrame.Navigate(typeof(OobeWhatsNew)); break;
+ case "AlwaysOnTop": NavigationFrame.Navigate(typeof(OobeAlwaysOnTop)); break;
+ case "Awake": NavigationFrame.Navigate(typeof(OobeAwake)); break;
+ case "ColorPicker": NavigationFrame.Navigate(typeof(OobeColorPicker)); break;
+ case "FancyZones": NavigationFrame.Navigate(typeof(OobeFancyZones)); break;
+ case "Run": NavigationFrame.Navigate(typeof(OobeRun)); break;
+ case "ImageResizer": NavigationFrame.Navigate(typeof(OobeImageResizer)); break;
+ case "KBM": NavigationFrame.Navigate(typeof(OobeKBM)); break;
+ case "PowerRename": NavigationFrame.Navigate(typeof(OobePowerRename)); break;
+ case "FileExplorer": NavigationFrame.Navigate(typeof(OobeFileExplorer)); break;
+ case "ShortcutGuide": NavigationFrame.Navigate(typeof(OobeShortcutGuide)); break;
+ case "VideoConference": NavigationFrame.Navigate(typeof(OobeVideoConference)); break;
+ case "MouseUtils": NavigationFrame.Navigate(typeof(OobeMouseUtils)); break;
+ }
}
}
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeShortcutGuide.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeShortcutGuide.xaml
index 4e57891f0c..b54692d6ec 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeShortcutGuide.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeShortcutGuide.xaml
@@ -8,10 +8,9 @@
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
-
+
+
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeVideoConference.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeVideoConference.xaml
index d27e572af2..68f23e23f1 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeVideoConference.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeVideoConference.xaml
@@ -9,11 +9,10 @@
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d">
-
+
-
+
@@ -27,12 +26,12 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml b/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml
index d9210698dc..78a11b0a2c 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml
@@ -9,17 +9,17 @@
xmlns:toolkitcontrols="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d"
Loaded="Page_Loaded">
-
-
+
+
+
+
+
+
+
-
+
+
+
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml.cs b/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml.cs
index 09cf76b3cf..467cad70bd 100644
--- a/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml.cs
+++ b/src/settings-ui/Settings.UI/OOBE/Views/OobeWhatsNew.xaml.cs
@@ -74,6 +74,7 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.Views
{
releaseNotesHtmlBuilder.AppendLine("# " + release.Name);
releaseNotesHtmlBuilder.AppendLine(removeHashRegex.Replace(release.ReleaseNotes, string.Empty));
+ releaseNotesHtmlBuilder.AppendLine(" ");
}
return releaseNotesHtmlBuilder.ToString();
@@ -81,8 +82,6 @@ namespace Microsoft.PowerToys.Settings.UI.OOBE.Views
private async void Page_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
- ResourceLoader loader = ResourceLoader.GetForViewIndependentUse();
- TitleTxt.Text = loader.GetString("Oobe_WhatsNew");
try
{
string releaseNotesMarkdown = await GetReleaseNotesMarkdown();
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 e06a495fab..73a5dfe714 100644
--- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
+++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
@@ -1285,48 +1285,45 @@ Made with 💗 by Microsoft and the PowerToys community.
Learn more about
-
+
Color Picker is a system-wide color selection tool for Windows that enables you to pick colors from any currently running application and automatically copies it in a configurable format to your clipboard.
-
+
FancyZones is a window manager that makes it easy to create complex window layouts and quickly position windows into those layouts.
-
+
PowerToys introduces add-ons to the Windows File Explorer that will enable files like Markdown files (.md), PDF files (.pdf), SVG icons (.svg), STL files (.stl), Gcode files (.gcode) and developer files to be viewed in the preview pane. It introduces file explorer thumbnail support for a number of these file types as well.
-
+
Image Resizer is a Windows shell extension for simple bulk image-resizing.
-
+
Keyboard Manager allows you to customize the keyboard to be more productive by remapping keys and creating your own keyboard shortcuts.
-
+
PowerRename enables you to perform simple bulk renaming, searching and replacing file names.
-
+
PowerToys Run is a quick launcher for power users that contains some additional features without sacrificing performance.
-
+
Shortcut Guide presents the user with a listing of available shortcuts for the current state of the desktop.
-
+
Video Conference Mute allows users to quickly mute the microphone and turn off the camera while on a conference call with a single keystroke, regardless of what application has focus on your computer.
-
+
A collection of utilities to enhance your mouse.
Mouse as in the hardware peripheral
-
+
Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity.
-
+
Take a moment to preview the various utilities listed or view our comprehensive documentation.
-
+
Documentation on Microsoft Docs
-
- Release notes
-
Release notes
@@ -1400,52 +1397,52 @@ From there, simply click on one of the supported files in the File Explorer and
to toggle your video
-
+
Color Picker
Do not localize this string
-
+
FancyZones
Do not localize this string
-
+
Image Resizer
Do not localize this string
-
+
Keyboard Manager
Do not localize this string
-
- Overview
-
-
+
PowerRename
Do not localize this string
-
+
PowerToys Run
Do not localize this string
-
+
Shortcut Guide
Do not localize this string
-
+
Video Conference Mute
Do not localize this string
-
+
Welcome
-
- What's new?
+
+ What's new
- Couldn't load the release notes. Please check your internet connection.
+ Couldn't load the release notes.
+
+
+ Please check your internet connection.
- See more detailed release notes on the GitHub repository
+ See more detailed release notes on GitHub
Don't loc "GitHub", it's the name of a product
@@ -1498,11 +1495,11 @@ From there, simply click on one of the supported files in the File Explorer and
Minutes
-
+
Awake
Module name, do not loc
-
+
Awake is a Windows tool designed to keep your PC awake on-demand without having to manage its power settings. This behavior can be helpful when running time-consuming tasks while ensuring that your PC does not go to sleep or turn off its screens.
@@ -1645,11 +1642,11 @@ From there, simply click on one of the supported files in the File Explorer and
Learn more about Video Conference Mute
Video Conference Mute is a product name, do not loc
-
+
File Explorer add-ons
Do not localize this string
-
+
Mouse utilities
Mouse as in the hardware peripheral
@@ -2029,11 +2026,11 @@ From there, simply click on one of the supported files in the File Explorer and
Customize the shortcut to pin or unpin an app window
"Always On Top" is the name of the utility
-
+
Always On Top
"Always On Top" is the name of the utility
-
+
Always On Top improves your multitasking workflow by pinning an application window so it's always in front - even when focus changes to another window after that.
"Always On Top" is the name of the utility
@@ -2065,4 +2062,7 @@ From there, simply click on one of the supported files in the File Explorer and
Allow child windows snapping
-
+
+ What's new
+
+
\ No newline at end of file