Пример #1
0
        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();
        }
Пример #2
0
        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;
        }
Пример #3
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();
        }
Пример #4
0
        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);
        }