LANCommander/LANCommander.Playnite.Extension/PlayniteSettings.cs

60 lines
1.5 KiB
C#
Raw Normal View History

2023-01-04 19:23:32 -06:00
using Playnite.SDK;
using Playnite.SDK.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LANCommander.PlaynitePlugin
2023-01-04 19:23:32 -06:00
{
public class PlayniteSettingsViewModel : ObservableObject, ISettings
2023-01-04 19:23:32 -06:00
{
private readonly LANCommanderLibraryPlugin Plugin;
2023-01-04 19:23:32 -06:00
public string ServerAddress { get; set; } = String.Empty;
public string AccessToken { get; set; } = String.Empty;
public string RefreshToken { get; set; } = String.Empty;
public string InstallDirectory { get; set; } = String.Empty;
public PlayniteSettingsViewModel() { }
public PlayniteSettingsViewModel(LANCommanderLibraryPlugin plugin)
2023-01-04 19:23:32 -06:00
{
Plugin = plugin;
var settings = Plugin.LoadPluginSettings<PlayniteSettingsViewModel>();
ServerAddress = settings.ServerAddress;
AccessToken = settings.AccessToken;
RefreshToken = settings.RefreshToken;
InstallDirectory = settings.InstallDirectory;
2023-01-04 19:23:32 -06:00
}
public void BeginEdit()
{
2023-01-04 19:23:32 -06:00
}
public void CancelEdit()
{
2023-01-04 19:23:32 -06:00
}
public void EndEdit()
{
Plugin.SavePluginSettings(this);
2023-01-04 19:23:32 -06:00
}
public bool VerifySettings(out List<string> errors)
{
errors = new List<string>();
if (String.IsNullOrWhiteSpace(InstallDirectory))
errors.Add("An install directory needs to be set!");
return errors.Count == 0;
2023-01-04 19:23:32 -06:00
}
}
}