2021-03-02 20:56:37 +03:00
|
|
|
|
// 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.
|
|
|
|
|
|
|
2024-10-24 22:04:32 +02:00
|
|
|
|
using global::PowerToys.GPOWrapper;
|
2021-03-02 20:56:37 +03:00
|
|
|
|
using Microsoft.PowerToys.Settings.UI.OOBE.Enums;
|
|
|
|
|
|
using Microsoft.PowerToys.Settings.UI.OOBE.ViewModel;
|
|
|
|
|
|
using Microsoft.PowerToys.Settings.UI.Views;
|
2024-10-24 22:04:32 +02:00
|
|
|
|
using Microsoft.PowerToys.Telemetry;
|
2022-04-19 22:00:28 +02:00
|
|
|
|
using Microsoft.UI.Xaml.Controls;
|
|
|
|
|
|
using Microsoft.UI.Xaml.Navigation;
|
2021-03-02 20:56:37 +03:00
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.OOBE.Views
|
|
|
|
|
|
{
|
|
|
|
|
|
public sealed partial class OobeOverview : Page
|
|
|
|
|
|
{
|
|
|
|
|
|
public OobePowerToysModule ViewModel { get; set; }
|
|
|
|
|
|
|
2024-10-24 22:04:32 +02:00
|
|
|
|
private bool _enableDataDiagnostics;
|
|
|
|
|
|
|
|
|
|
|
|
public bool EnableDataDiagnostics
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
return _enableDataDiagnostics;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
if (_enableDataDiagnostics != value)
|
|
|
|
|
|
{
|
|
|
|
|
|
_enableDataDiagnostics = value;
|
|
|
|
|
|
|
|
|
|
|
|
DataDiagnosticsSettings.SetEnabledValue(_enableDataDiagnostics);
|
|
|
|
|
|
|
|
|
|
|
|
this.DispatcherQueue.TryEnqueue(Microsoft.UI.Dispatching.DispatcherQueuePriority.Normal, () =>
|
|
|
|
|
|
{
|
|
|
|
|
|
ShellPage.ShellHandler?.SignalGeneralDataUpdate();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool ShowDataDiagnosticsSetting => GetIsDataDiagnosticsInfoBarEnabled();
|
|
|
|
|
|
|
|
|
|
|
|
private bool GetIsDataDiagnosticsInfoBarEnabled()
|
|
|
|
|
|
{
|
|
|
|
|
|
var isDataDiagnosticsGpoDisallowed = GPOWrapper.GetAllowDataDiagnosticsValue() == GpoRuleConfigured.Disabled;
|
|
|
|
|
|
|
|
|
|
|
|
return !isDataDiagnosticsGpoDisallowed;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-03-02 20:56:37 +03:00
|
|
|
|
public OobeOverview()
|
|
|
|
|
|
{
|
|
|
|
|
|
this.InitializeComponent();
|
2024-10-24 22:04:32 +02:00
|
|
|
|
|
|
|
|
|
|
_enableDataDiagnostics = DataDiagnosticsSettings.GetEnabledValue();
|
|
|
|
|
|
|
2022-04-19 22:00:28 +02:00
|
|
|
|
ViewModel = new OobePowerToysModule(OobeShellPage.OobeShellHandler.Modules[(int)PowerToysModules.Overview]);
|
2021-03-02 20:56:37 +03:00
|
|
|
|
DataContext = ViewModel;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-04-19 22:00:28 +02:00
|
|
|
|
private void SettingsLaunchButton_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
2021-03-02 20:56:37 +03:00
|
|
|
|
{
|
|
|
|
|
|
if (OobeShellPage.OpenMainWindowCallback != null)
|
|
|
|
|
|
{
|
[Settings]Adding a Dashboard Panel (#29023)
* Dashboard: modifying page content + adding SW version button.
* Visual tweaks and minor viewmodel changes
* Updated spacing
* Adding Settings icon
* Settiing the Dashboard page as the default one. Adding functionality to switch to settings pages from the Dashboard page. Localizing texts.
* fixing csproj file
* Reimplementing Active modules handling, showing only the active modules (and not having invisible inactive modules).
* Removing unneccessary binding
* Fix text wrapping
* Adding Registry previewer launch, adding activation mode for FindMyMouse and QuickAccent, modify File Locksmith description.
* Spell checker fix typo
* Adding GPO-blocked state, modifying buttons: adding description, icon.
* Modifying dashboard button layout
* Use SettingsCard instead of button
* Restructuring the dashboard panel
* Removing togglebuttons from the left panel. Showing only active modules. Adding key remappings (to KBM)
* Removing settings buttons, removing descriptions, icons from buttons. Add update of remapped keys, shortcuts.
* Refactoring dashboard
* Making list always visible and fixing scrolling behavior
* Adding background gradient to cards
* Removing keyboard manager's key mappings, minor changes in texts, fixing enabled state when GPO-enabled.
* Use ListView instead of ItemsRepeater
* Updates
* removing right panel with all modules. Extending "left" panel with toggleswitches, showing all modules.
* Separate lists
* Adding Flyout with key remappings for KBM module, adding IsLocked property, icons
* Visual tweaks
* Tweaks
* Fixing lock icon margin
* Minor fixes.
* Removing unused resources
* Make Dashboard default when coming from the OOBE General
* Removed the Previous, Next Layout buttons from FancyZones. Added activation information
---------
Co-authored-by: Niels Laute <niels.laute@live.nl>
2023-10-20 14:23:25 +02:00
|
|
|
|
OobeShellPage.OpenMainWindowCallback(typeof(DashboardPage));
|
2021-03-02 20:56:37 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ViewModel.LogOpeningSettingsEvent();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-10-24 22:04:32 +02:00
|
|
|
|
private void GeneralSettingsLaunchButton_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (OobeShellPage.OpenMainWindowCallback != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
OobeShellPage.OpenMainWindowCallback(typeof(GeneralPage));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ViewModel.LogOpeningSettingsEvent();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-03-02 20:56:37 +03:00
|
|
|
|
protected override void OnNavigatedTo(NavigationEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
ViewModel.LogOpeningModuleEvent();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnNavigatedFrom(NavigationEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
ViewModel.LogClosingModuleEvent();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|