Add settings func

This commit is contained in:
2026-03-18 23:16:07 +02:00
parent 2ee4515dfd
commit 9ce8e190a2
4 changed files with 72 additions and 6 deletions

View File

@@ -1,17 +1,29 @@
using System;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Input;
using VisionAsist.Models;
using VisionAsist.Views;
namespace VisionAsist.ViewModels;
public partial class MainWindowViewModel : ViewModelBase
{
[RelayCommand]
private void Settingse()
{
new Settings
{
DataContext = new SettingsViewModel()
}.Show();
}
[ObservableProperty]
private bool isListening;
[ObservableProperty]
private string recognizedtext;
private Action<string>? _coreHandler;
partial void OnIsListeningChanged(bool value)
{
if (value)

View File

@@ -1,6 +1,44 @@
namespace VisionAsist.ViewModels;
using System;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System.Collections.ObjectModel;
namespace VisionAsist.ViewModels;
using System.IO;
using System.Linq;
public class ModuleItem
{
public string Name { get; set; }
public IRelayCommand SettingsCommand { get; set; }
}
public class SettingsViewModel : ViewModelBase
{
string Plugin = Path.Combine(AppContext.BaseDirectory, "Modules");
public ObservableCollection<ModuleItem> Modules { get; } = new();
public SettingsViewModel()
{
string[] folderNames = new DirectoryInfo(Plugin)
.GetDirectories()
.Select(d => d.Name)
.ToArray();
foreach (string folderName in folderNames)
{
AddModule(folderName);
}
}
public void AddModule(string name)
{
Modules.Add(new ModuleItem
{
Name = name,
SettingsCommand = new RelayCommand(() => OpenSettings(name))
});
}
private void OpenSettings(string moduleName)
{
Console.WriteLine($"Нажата кнопка модуля: {moduleName}");
}
}