private void HandleUpdateTransmissionEvent(Transmission item) {
lock (lockTransmissionItems) {
for (int i = 0; i < TransmissionItems.Count; ++i) {
if (TransmissionItems[i].Path == item.Path) {
TransmissionItems[i] = item;
if (item.Done) {
// finished TransmissionItem should put to the tail
if (i < TransmissionItems.Count - 1 && !TransmissionItems[i + 1].Done) {
TransmissionItems[i] = TransmissionItems[i + 1];
TransmissionItems[i + 1] = item;
changeAll = true;
continue;
}
}
return;
}
}
}
}