void TimerCallback(Object obj, EventArgs eventArgs) { if (m_state == State.Finish) { Close(); } else { StringBuilder builder = new StringBuilder(); Strings s = Resources.Strings.Current; switch (m_state) { case State.Start: case State.Work: { switch (m_type) { case Type.ApplyAction: switch (m_action) { case CoreDll.LocalActionType.DeleteDefect: builder.Append(s.ProgressForm_DeleteDefect); break; case CoreDll.LocalActionType.DeleteFirst: builder.Append(s.ProgressForm_DeleteFirst); break; case CoreDll.LocalActionType.DeleteSecond: builder.Append(s.ProgressForm_DeleteSecond); break; case CoreDll.LocalActionType.DeleteBoth: builder.Append(s.ProgressForm_DeleteBoth); break; case CoreDll.LocalActionType.PerformHint: builder.Append(s.ProgressForm_PerformHint); break; case CoreDll.LocalActionType.Mistake: builder.Append(s.ProgressForm_Mistake); break; case CoreDll.LocalActionType.RenameFirstToSecond: case CoreDll.LocalActionType.RenameSecondToFirst: builder.Append(s.ProgressForm_RenameCurrent); break; } m_cancelButton.Enabled = true; break; case Type.RenameCurrent: builder.Append(s.ProgressForm_RenameCurrent); m_cancelButton.Enabled = false; break; case Type.RefreshResults: builder.Append(s.ProgressForm_RefreshResults); m_cancelButton.Enabled = true; break; case Type.Undo: builder.Append(s.ProgressForm_Undo); m_cancelButton.Enabled = false; break; case Type.Redo: builder.Append(s.ProgressForm_Redo); m_cancelButton.Enabled = false; break; case Type.LoadResults: builder.Append(s.StartFinishForm_LoadResults_Text); m_cancelButton.Enabled = true; break; case Type.SaveResults: builder.Append(s.StartFinishForm_SaveResults_Text); m_cancelButton.Enabled = true; break; case Type.ClearResults: builder.Append(s.StartFinishForm_ClearTemporary_Text); m_cancelButton.Enabled = false; break; case Type.ClearTemporary: builder.Append(s.StartFinishForm_ClearTemporary_Text); m_cancelButton.Enabled = true; break; case Type.ClearDatabase: builder.Append(s.StartFinishForm_LoadImages_Text); m_cancelButton.Enabled = false; break; case Type.LoadImages: builder.Append(s.StartFinishForm_LoadImages_Text); m_cancelButton.Enabled = true; break; case Type.SaveImages: builder.Append(s.StartFinishForm_SaveImages_Text); m_cancelButton.Enabled = false; break; } CoreStatus status = m_core.StatusGet(CoreDll.ThreadType.Main, 0); if (status != null) { double progress = status.total > 0 ? ((double)status.current) / status.total : 0; builder.AppendFormat(" ({0})...", ProgressUtils.GetProgressString(progress, m_startDateTime)); m_progressPanel.UpdateStatus(status.total, status.current, status.current, status.path); } else { m_progressPanel.UpdateStatus(0, 0, 0, ""); } } break; case State.Stopped: { builder.Append(s.CancelButton_Text); builder.Append("..."); } break; } Text = builder.ToString(); } }
void TimerCallback(Object obj, EventArgs eventArgs) { if (m_state == State.Finish) { if (m_notifyIcon.Visible) { OnNotifyIconDoubleClick(null, null); } m_timer.Stop(); Close(); m_mainForm.Resize -= new EventHandler(OnMainFormResize); m_mainForm.WindowState = m_mainFormWindowState; m_mainForm.UpdateCaption(); m_mainForm.Activate(); m_mainSplitContainer.UpdateResults(); } else { StringBuilder builder = new StringBuilder(); if (m_notifyIcon.Visible || WindowState == FormWindowState.Minimized) { builder.Append(Application.ProductName); builder.Append(" - "); } Strings s = Resources.Strings.Current; switch (m_state) { case State.Start: case State.ClearResults: case State.ClearTemporary: { m_stopButton.Enabled = false; builder.Append(s.StartFinishForm_ClearTemporary_Text); builder.Append("..."); EstimateOtherProgress(); } break; case State.LoadImages: { m_stopButton.Enabled = false; builder.Append(s.StartFinishForm_LoadImages_Text); builder.Append("..."); EstimateOtherProgress(); } break; case State.Search: { m_stopButton.Enabled = true; builder.Append(s.SearchExecuterForm_Search); double progress = EstimateSearchProgress(); builder.AppendFormat(" ({0})...", ProgressUtils.GetProgressString(progress, m_startDateTime)); } break; case State.SetGroup: case State.SetHint: { m_stopButton.Enabled = false; builder.Append(s.SearchExecuterForm_Result); builder.Append("..."); EstimateOtherProgress(); } break; case State.SaveImages: { m_stopButton.Enabled = false; builder.Append(s.StartFinishForm_SaveImages_Text); builder.Append("..."); EstimateOtherProgress(); } break; case State.Stopped: { builder.Append(s.SearchExecuterForm_Stopped); builder.Append("..."); } break; } if (m_notifyIcon.Visible) { m_notifyIcon.Text = builder.ToString(); } else if (WindowState == FormWindowState.Minimized) { m_mainForm.Text = builder.ToString(); } else { Text = builder.ToString(); m_mainForm.UpdateCaption(); } } }