private void updateStatus(string entry, LogIcon icon = LogIcon.Ready, bool displayTime = true, bool onlyStatusBar = false)
{
if (statusUpdated != null)
statusUpdated(entry);
if (onlyStatusBar)
{
labelStatus.GetCurrentParent().HybridInvoke(() =>
labelStatus.Text = entry);
}
else
{
Console.ProgramLog.Add(new LogEntry(entry, icon));
lsvLog.HybridInvoke(() =>
{
if (lsvLog.Items.Count > 0 && showTime)
{
lsvLog.Items[lsvLog.Items.Count - 1].SubItems.Add((getTimeSinceLastCheck().TotalMilliseconds / 1000).ToString("F2") + "s");
}
showTime = displayTime;
switch (icon)
{
case LogIcon.Error:
case LogIcon.Warning:
lsvLog.Items.Add(entry, (int)icon);
break;
default:
lsvLog.Items.Add(entry, (int)icon);
labelStatus.Text = entry;
break;
}
});
}
}
#endregion