Setting v2: added power preview settings (#1702)

* added power preview settings

* Added link to module oververview

* create settings file if one is not found

* removed run oon start up speficic callback

* Update src/core/Microsoft.PowerToys.Settings.UI.Lib/ModuleSettings.cs

Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>

* fixed merge conflicts

Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
This commit is contained in:
Lavius Motileng
2020-03-30 02:02:25 -07:00
parent a84be2ba60
commit f1951d0d5f
14 changed files with 423 additions and 132 deletions

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Microsoft.PowerToys.Settings.UI.Lib
{
public class Contributor
{
public string Name { get; set; }
public string Link { get; set; }
}
}

View File

@@ -0,0 +1,73 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json;
namespace Microsoft.PowerToys.Settings.UI.Lib
{
/// <summary>
/// This class models the settings for the PowerPreview class.
/// Eaxmple JSON:
/// {
/// "name": "File Explorer Preview",
/// "properties": {
/// "IDS_PREVPANE_SVG_BOOL_TOGGLE_CONTROLL": { "value": true },
/// "PREVPANE_MD_BOOL_TOGGLE_CONTROLL_ID": { "value": true }
/// },
/// "version": "1.0"
/// }
/// </summary>
public class PowerPreviewSettings
{
public string name { get; set; }
public Properties properties { get; set; }
public string version { get; set; }
public PowerPreviewSettings()
{
this.properties = new Properties();
this.version = "1";
this.name = "_unset_";
}
public PowerPreviewSettings(string ptName)
{
this.properties = new Properties();
this.version = "1";
this.name = ptName;
}
public override string ToString()
{
return "{\"" + this.name + "\":" + JsonSerializer.Serialize(this) + "}";
}
}
public class Property
{
public bool value { get; set; }
public override string ToString()
{
return JsonSerializer.Serialize(this);
}
}
public class Properties
{
public Property IDS_PREVPANE_SVG_BOOL_TOGGLE_CONTROLL { get; set; }
public Property PREVPANE_MD_BOOL_TOGGLE_CONTROLL_ID { get; set; }
public Properties()
{
this.IDS_PREVPANE_SVG_BOOL_TOGGLE_CONTROLL = new Property();
this.PREVPANE_MD_BOOL_TOGGLE_CONTROLL_ID = new Property();
}
public override string ToString()
{
return JsonSerializer.Serialize(this);
}
}
}

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json;
namespace Microsoft.PowerToys.Settings.UI.Lib
{
/// <summary>
/// PowerToys runner expects a json text that contains one of the following attributes: refresh, general and powertoys.
/// The one for general settings is placed in the General settings model. This class represents the json text that starts with the "powertoys" attribute.
/// this will tell the runner that we are sending settings for a powertoy module and not for general settings.
/// </summary>
/// <typeparam name="M">M stands for the Model of PT Module Settings to be sent.</typeparam>
public class SndModuleSettings<M>
{
public M powertoys { get; set; }
public SndModuleSettings(M ptModuleSettings)
{
this.powertoys = ptModuleSettings;
}
public override string ToString()
{
return "{\"powertoys\":" + this.powertoys.ToString() + "}";
}
}
}