private void UpdateLostObjects()
{
Cursor.Current = Cursors.WaitCursor;
string dialogResult;
using (var process = new FormProcess("fsck-objects" + GetOptions()))
{
process.ShowDialog(this);
dialogResult = process.OutputString.ToString();
}
if (FormProcess.IsOperationAborted(dialogResult))
{
DialogResult = DialogResult.Abort;
return;
}
lostObjects.Clear();
lostObjects.AddRange(dialogResult
.Split('\r', '\n')
.Where(s => !string.IsNullOrEmpty(s))
.Select <string, LostObject>(LostObject.TryParse)
.Where(parsedLostObject => parsedLostObject != null));
UpdateFilteredLostObjects();
Cursor.Current = Cursors.Default;
}