Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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();
                }
            }
        }