mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 09:46:54 +02:00
CmdPal: some dock data (#45832)
we want to know what the people want re: #45584
This commit is contained in:
@@ -45,6 +45,8 @@ public sealed partial class DockViewModel
|
||||
_pageContext = new(this);
|
||||
|
||||
_topLevelCommandManager.DockBands.CollectionChanged += DockBands_CollectionChanged;
|
||||
|
||||
EmitDockConfiguration();
|
||||
}
|
||||
|
||||
private void DockBands_CollectionChanged(object? sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
@@ -612,6 +614,22 @@ public sealed partial class DockViewModel
|
||||
}
|
||||
}
|
||||
|
||||
private void EmitDockConfiguration()
|
||||
{
|
||||
var isDockEnabled = _settingsModel.EnableDock;
|
||||
var dockSide = isDockEnabled ? _settings.Side.ToString().ToLowerInvariant() : "none";
|
||||
|
||||
static string FormatBands(List<DockBandSettings> bands) =>
|
||||
string.Join("\n", bands.Select(b => $"{b.ProviderId}/{b.CommandId}"));
|
||||
|
||||
var startBands = isDockEnabled ? FormatBands(_settings.StartBands) : string.Empty;
|
||||
var centerBands = isDockEnabled ? FormatBands(_settings.CenterBands) : string.Empty;
|
||||
var endBands = isDockEnabled ? FormatBands(_settings.EndBands) : string.Empty;
|
||||
|
||||
WeakReferenceMessenger.Default.Send(new TelemetryDockConfigurationMessage(
|
||||
isDockEnabled, dockSide, startBands, centerBands, endBands));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Provides an empty page context, for the dock's own context menu. We're
|
||||
/// building the context menu for the dock using literally our own cmdpal
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// 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.
|
||||
|
||||
namespace Microsoft.CmdPal.UI.ViewModels.Messages;
|
||||
|
||||
/// <summary>
|
||||
/// Telemetry message sent when the dock is initialized.
|
||||
/// Captures the dock configuration for telemetry tracking.
|
||||
/// </summary>
|
||||
public record TelemetryDockConfigurationMessage(bool IsDockEnabled, string DockSide, string StartBands, string CenterBands, string EndBands);
|
||||
Reference in New Issue
Block a user