Files
Vision/VisionAsist/ViewModels/SettingsViewModel.cs
2026-03-19 13:58:29 +02:00

56 lines
1.2 KiB
C#

using System;
using System.Reflection;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System.Collections.ObjectModel;
using VisionAsist.Models;
using VisionAsist.SDK;
using System.IO;
using System.Linq;
namespace VisionAsist.ViewModels;
public class ModuleItem
{
public string Name { get; set; }
public IRelayCommand SettingsCommand { get; set; }
}
public class SettingsViewModel : ViewModelBase
{
public ObservableCollection<ModuleItem> Modules { get; } = new();
public SettingsViewModel()
{
foreach (string Name in Core._loadedModules.Keys)
{
AddModule(Name);
}
}
public void AddModule(string name)
{
Modules.Add(new ModuleItem
{
Name = name,
SettingsCommand = new RelayCommand(() => OpenSettings(name))
});
}
private void OpenSettings(string moduleName)
{
var module = Core._loadedModules.Values.FirstOrDefault(m => m.Name == moduleName);
if (module != null)
{
module.Execute("ShowWeather", new object[] { this });
}
}
}