private void Logic_JobAdded(object sender, Helper.JobQueue.JobAddedEventArgs <Data.CachedLog> e) { JobsTotal++; Action setDataSource = () => { lblWorkCount.Text = $"{JobsDone} of {JobsTotal}"; UpdateProgress((double)(JobsDone - 1) / JobsTotal); flpProgress.Refresh(); }; lblWorkCount.Invoke(setDataSource); GCTimer.Stop(); }
private void Logic_JobsDone(object sender, Helper.JobQueue.JobQueueEmptyEventArgs e) { Action setDataSource = () => { lblWorkCount.Text = $"{JobsTotal} of {JobsTotal}"; lblWorkType.Visible = false; UpdateProgress(1); flpProgress.Refresh(); GCTimer.Start(); }; lblWorkCount.Invoke(setDataSource); JobsTotal = 0; JobsDone = 0; }
private void SetPreview(LogPreview perv) { flpPlayers.Visible = false; if (perv.Players != null) { flpPlayers.Controls.Clear(); flpPlayers.Controls.Add(PlayerDataHeader); flpPlayers.Controls.AddRange(perv.Players.ToArray()); flpPlayers.Visible = true; flpPlayers.Refresh(); } lblDetBoss.Text = perv.Name; lblDetSize.Text = perv.SizeKb.ToString(Languages.Language.Current == eLanguage.DE ? "0 'Kb'" : "0 'Kb'"); if (perv.MultiSelect) { lblDetDate.Text = perv.Date.ToString(Languages.Language.Current == eLanguage.DE ? "dd'.'MM'.'yy" : "MM'-'dd'-'yy"); } else { lblDetDate.Text = perv.Date.ToString(Languages.Language.Current == eLanguage.DE ? "dd'.'MM'.'yy HH':'mm" : "MM'-'dd'-'yy HH':'mm"); } lblDetDuration.Text = perv.MaxDuratin.ToString(Languages.Language.Current == eLanguage.DE ? "h':'mm':'ss','fff" : "h':'mm':'ss'.'fff"); lblDetHp.Text = perv.HPLeft.ToString("F2") + " %"; cbDetCorrected.CheckState = perv.Corrected; cbDetSuccess.CheckState = perv.Success; cbDetCM.CheckState = perv.IsCM; cbDetParsed.CheckState = perv.HasHtmlCb; cbDetUploaded.CheckState = perv.HasLinkCb; lblDetOpenLocal.Visible = perv.HasHtml; lblDetOpenRemot.Visible = perv.HasLink; btnOpenLocal.Enabled = perv.HasHtmlCb != CheckState.Unchecked; btnOpenDpsReport.Enabled = perv.HasLinkCb != CheckState.Unchecked; btnParse.Enabled = perv.HasHtmlCb != CheckState.Checked || perv.OutDatedJson; btnUpload.Enabled = perv.HasLinkCb != CheckState.Checked || perv.OutDatedJson; btnParsAndUpload.Enabled = (perv.HasHtmlCb != CheckState.Checked) || (perv.HasLinkCb != CheckState.Checked) || perv.OutDatedJson; tpDetailsTop.Refresh(); GCTimer.Start(); }
private async void UpdateSelected() { GCTimer.Stop(); CTSUpdateSelection.Cancel(); CTSUpdateSelection = new System.Threading.CancellationTokenSource(); var token = CTSUpdateSelection.Token; flpPlayers.Controls.Clear(); lblSelectedCount.Text = dBLogDataGridView.SelectedRows.Count.ToString(); var logsToDisplay = dBLogDataGridView.SelectedRows.Cast <DataGridViewRow>() .Select(row => (int)row.Cells["colID"].Value) .ToArray(); if (token.IsCancellationRequested) { return; } var a = await Task.Run(() => Logic.GetQuickPreview(token, logsToDisplay)); if (token.IsCancellationRequested) { return; } Action <LogPreview> set = SetPreview; lock (PrevLock) this.Invoke(set, a); if (a.MultiSelect) { return; } GCTimer.Stop(); if (token.IsCancellationRequested) { return; } var b = await Task.Run(() => Logic.GetFullPreview(token, logsToDisplay)); if (token.IsCancellationRequested) { return; } lock (PrevLock) this.Invoke(set, b); }