|
|
|
@ -4,7 +4,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using System.Windows.Input; |
|
|
|
using System.Windows.Input; |
|
|
|
|
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using Lib.Audio.Interfaces; |
|
|
|
using Lib.Audio.Interfaces; |
|
|
|
|
|
|
|
using Lib.Tools.Avalonia; |
|
|
|
using ReactiveUI; |
|
|
|
using ReactiveUI; |
|
|
|
|
|
|
|
|
|
|
|
namespace Mystify.ViewModels |
|
|
|
namespace Mystify.ViewModels |
|
|
|
@ -12,12 +14,14 @@ namespace Mystify.ViewModels |
|
|
|
public class ControllableViewModel : ViewModelBase |
|
|
|
public class ControllableViewModel : ViewModelBase |
|
|
|
{ |
|
|
|
{ |
|
|
|
private bool _isSelected; |
|
|
|
private bool _isSelected; |
|
|
|
|
|
|
|
private Bitmap? _icon; |
|
|
|
|
|
|
|
|
|
|
|
public ControllableViewModel(IControllable controllable) => Controllable = controllable; |
|
|
|
public ControllableViewModel(IControllable controllable) => Controllable = controllable; |
|
|
|
|
|
|
|
|
|
|
|
public IControllable Controllable { get; } |
|
|
|
public IControllable Controllable { get; } |
|
|
|
public string Name => Controllable.Name; |
|
|
|
public string Name => Controllable.Name; |
|
|
|
public string? IconPath => Controllable.IconPath; |
|
|
|
public Bitmap? Icon => string.IsNullOrEmpty(Controllable.ExecutablePath) ? null |
|
|
|
|
|
|
|
: _icon ??= Icons.ExtractAssociatedIcon(Controllable.ExecutablePath); |
|
|
|
|
|
|
|
|
|
|
|
public bool IsSelected |
|
|
|
public bool IsSelected |
|
|
|
{ |
|
|
|
{ |
|
|
|
|