public object GetPreview(string serializedData) {
var ini = IniFile.Parse(serializedData);
var result = new StringBuilder();
// input method
result.AppendFormat(ControlsStrings.Controls_Preview_InputMethod, ini["HEADER"].GetEntry("INPUT_METHOD", Controls.InputMethods).DisplayName);
// device
var section = ini["CONTROLLERS"];
var devices = LinqExtension.RangeFrom().Select(x => section.GetNonEmpty("CON" + x.ToInvariantString())).TakeWhile(x => x != null).Distinct().ToList();
if (devices.Count > 1) {
result.Append('\n');
result.AppendFormat(ControlsStrings.Controls_Preview_Devices, devices.JoinToString(@", "));
} else if (devices.Count == 1) {
result.Append('\n');
result.AppendFormat(ControlsStrings.Controls_Preview_Device, devices[0]);
}
return new BbCodeBlock {
BbCode = result.ToString()
};
}