feat(taskbar): Remove WPF TaskbarItemInfo dead code [P2-015] (#81)

* feat(taskbar): Remove WPF TaskbarItemInfo dead code [P2-015]

- Delete StatusToTaskbarStateConverter.cs: converter was already migrated
  to Avalonia IValueConverter returning null (no-op stub), and was not
  referenced by any XAML or C# consumer
- Remove empty InitTaskbarInfo() stub and its [SupportedOSPlatform("windows")]
  guard from MainWindow.xaml.cs: no taskbar progress implementation exists;
  accepting silent omission per the issue acceptance criteria
- Remove now-unused 'using System.Runtime.Versioning' from MainWindow.xaml.cs

No System.Windows.Shell references remain anywhere in the codebase.
App does not crash on Linux. Taskbar progress is silently omitted.

Closes #27

* Update outdated comment
This commit is contained in:
Rob Trame 2026-03-15 20:19:26 -06:00 committed by GitHub
parent 88d78a025c
commit c8a8b79fd9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 2 additions and 36 deletions

View File

@ -16,7 +16,8 @@
<!--
Title is set in code-behind (OnLoaded / property change) to replicate the
DataTrigger-based title logic that was in the WPF AdonisWindow style.
TaskbarItemInfo (Windows-only) is handled in code-behind with an OS guard.
TaskbarItemInfo (Windows-only) has no Avalonia equivalent; taskbar progress
is silently omitted.
-->
<Grid>
<Grid.RowDefinitions>

View File

@ -1,7 +1,6 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Runtime.Versioning;
using System.Threading.Tasks;
using Avalonia;
using Avalonia.Controls;
@ -47,16 +46,6 @@ public partial class MainWindow : Window
_applicationView.PropertyChanged += OnApplicationViewPropertyChanged;
UpdateWindowTitle();
// Windows-only: set up TaskbarItemInfo progress
if (OperatingSystem.IsWindows())
InitTaskbarInfo();
}
[SupportedOSPlatform("windows")]
private void InitTaskbarInfo()
{
// TODO(P2-015): set up Windows taskbar progress indicator once
// StatusToTaskbarStateConverter is migrated.
}
private void UpdateWindowTitle()

View File

@ -1,24 +0,0 @@
using System;
using System.Globalization;
using Avalonia.Data.Converters;
namespace FModel.Views.Resources.Converters;
/// <summary>
/// Stub: Avalonia has no cross-platform TaskbarItemProgressState equivalent.
/// Returns null; actual taskbar integration is tracked by TODO(P2-015).
/// Previously mapped EStatusKind to System.Windows.Shell.TaskbarItemProgressState.
/// </summary>
public class StatusToTaskbarStateConverter : IValueConverter
{
public static readonly StatusToTaskbarStateConverter Instance = new();
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
// TODO(P2-015): Implement via Avalonia taskbar API when available.
return null;
}
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
=> throw new NotImplementedException();
}