OSDN Git Service

Fix "ESC" = "push" when after commit
authorFrank Li <lznuaa@gmail.com>
Sun, 12 Jul 2009 15:21:01 +0000 (23:21 +0800)
committerFrank Li <lznuaa@gmail.com>
Sun, 12 Jul 2009 15:21:01 +0000 (23:21 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Resources/TortoiseProcENG.rc
src/TortoiseProc/CommitDlg.cpp
src/TortoiseProc/ProgressDlg.cpp
src/TortoiseProc/ProgressDlg.h

index 1b5703a..ed2c2fb 100644 (file)
Binary files a/src/Resources/TortoiseProcENG.rc and b/src/Resources/TortoiseProcENG.rc differ
index ebc94a2..76a7519 100644 (file)
@@ -523,7 +523,8 @@ void CCommitDlg::OnOK()
                else if(userResponse == IDCANCEL)\r
                {\r
                        //User pressed 'Push' button after successful commit.\r
-                       m_bPushAfterCommit=true;\r
+                       if(progress.m_bAltAbortPress)\r
+                               m_bPushAfterCommit=true;\r
                }\r
 \r
                CFile::Remove(tempfile);\r
index 1cc505e..21cf4dd 100644 (file)
@@ -14,6 +14,7 @@ CProgressDlg::CProgressDlg(CWnd* pParent /*=NULL*/)
        : CResizableStandAloneDialog(CProgressDlg::IDD, pParent), m_bShowCommand(true), m_bAutoCloseOnSuccess(false), m_bAbort(false), m_bDone(false)\r
 {\r
        m_pThread = NULL;\r
+       m_bAltAbortPress=false;\r
 }\r
 \r
 CProgressDlg::~CProgressDlg()\r
@@ -37,6 +38,7 @@ void CProgressDlg::DoDataExchange(CDataExchange* pDX)
 BEGIN_MESSAGE_MAP(CProgressDlg, CResizableStandAloneDialog)\r
        ON_MESSAGE(MSG_PROGRESSDLG_UPDATE_UI, OnProgressUpdateUI)\r
        ON_BN_CLICKED(IDOK, &CProgressDlg::OnBnClickedOk)\r
+       ON_BN_CLICKED(IDCANCEL,&CProgressDlg::OnBnClickedCancel)\r
 END_MESSAGE_MAP()\r
 \r
 BOOL CProgressDlg::OnInitDialog()\r
@@ -261,6 +263,22 @@ void CProgressDlg::OnBnClickedOk()
        OnOK();\r
 }\r
 \r
+void CProgressDlg::OnBnClickedCancel()\r
+{\r
+       if(!this->m_changeAbortButtonOnSuccessTo.IsEmpty())\r
+       {\r
+               CString text;\r
+               GetDlgItem(IDCANCEL)->GetWindowText(text);\r
+               if(m_changeAbortButtonOnSuccessTo == text)\r
+               {\r
+                       m_bAltAbortPress=true;\r
+               }\r
+       \r
+       }\r
+       \r
+       OnCancel();\r
+       \r
+}\r
 void CProgressDlg::OnCancel()\r
 {\r
        if(m_bDone)\r
index 920a4fd..85fb602 100644 (file)
@@ -41,6 +41,7 @@ public:
 \r
        bool                    m_bAbort;\r
        bool                    m_bDone;\r
+       bool                    m_bAltAbortPress;\r
 protected:\r
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
        static UINT ProgressThreadEntry(LPVOID pVoid);\r
@@ -58,4 +59,5 @@ protected:
        DECLARE_MESSAGE_MAP()\r
 public:\r
        afx_msg void OnBnClickedOk();\r
+       afx_msg void OnBnClickedCancel();\r
 };\r