CmdPal: Removing Core projects (#45693)

Functionally, no differences.

- Removed Core projects.
- Core.Common => Microsoft.CmdPal.Common
- Core.ViewModels => Microsoft.CmdPal.UI.ViewModels

---------

Co-authored-by: Jiří Polášek <me@jiripolasek.com>
This commit is contained in:
Michael Jolley
2026-02-23 04:05:09 -08:00
committed by GitHub
parent 196b9305c3
commit 138c66c328
280 changed files with 473 additions and 825 deletions

View File

@@ -0,0 +1,70 @@
// 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.
using Microsoft.CmdPal.UI.ViewModels.Models;
using Microsoft.CommandPalette.Extensions;
namespace Microsoft.CmdPal.UI.ViewModels;
public partial class ProgressViewModel : ExtensionObjectViewModel
{
public ExtensionObject<IProgressState> Model { get; }
public bool IsIndeterminate { get; private set; }
public uint ProgressPercent { get; private set; }
public ProgressViewModel(IProgressState progress, WeakReference<IPageContext> context)
: base(context)
{
Model = new(progress);
}
public override void InitializeProperties()
{
var model = Model.Unsafe;
if (model is null)
{
return; // throw?
}
IsIndeterminate = model.IsIndeterminate;
ProgressPercent = model.ProgressPercent;
model.PropChanged += Model_PropChanged;
}
private void Model_PropChanged(object sender, IPropChangedEventArgs args)
{
try
{
FetchProperty(args.PropertyName);
}
catch (Exception ex)
{
ShowException(ex);
}
}
protected virtual void FetchProperty(string propertyName)
{
var model = this.Model.Unsafe;
if (model is null)
{
return; // throw?
}
switch (propertyName)
{
case nameof(IsIndeterminate):
this.IsIndeterminate = model.IsIndeterminate;
break;
case nameof(ProgressPercent):
this.ProgressPercent = model.ProgressPercent;
break;
}
UpdateProperty(propertyName);
}
}