OSDN Git Service

Sync Dialog progress command output correct handle \r
authorFrank Li <lznuaa@gmail.com>
Thu, 23 Jul 2009 15:58:01 +0000 (23:58 +0800)
committerFrank Li <lznuaa@gmail.com>
Thu, 23 Jul 2009 15:58:01 +0000 (23:58 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/TortoiseProc/SyncDlg.cpp
src/TortoiseProc/SyncDlg.h

index 9795415..e1185a6 100644 (file)
@@ -35,6 +35,7 @@ CSyncDlg::CSyncDlg(CWnd* pParent /*=NULL*/)
 {\r
        m_pTooltip=&this->m_tooltips;\r
        m_bInited=false;\r
+       m_CmdOutCurrentPos=0;\r
 }\r
 \r
 CSyncDlg::~CSyncDlg()\r
@@ -440,20 +441,18 @@ void CSyncDlg::ParserCmdOutput(TCHAR ch)
        if( ch == _T('\r') )\r
        {\r
                if(linenum>0)\r
-                       index = this->m_ctrlCmdOut.LineIndex(linenum-1);\r
+                       m_CmdOutCurrentPos = this->m_ctrlCmdOut.LineIndex(linenum-1);\r
                else\r
-                       index = 0;\r
+                       m_CmdOutCurrentPos = 0;\r
 \r
                //TRACE(_T("line %d - %d\n"),index,m_ctrlCmdOut.GetTextLength());\r
        }else\r
-               index = m_ctrlCmdOut.GetTextLength();\r
-\r
-       this->m_ctrlCmdOut.SetSel(index,m_ctrlCmdOut.GetTextLength()-1);\r
+               m_CmdOutCurrentPos++;\r
+               \r
+       this->m_ctrlCmdOut.SetSel(m_CmdOutCurrentPos,m_CmdOutCurrentPos+1);\r
        \r
        if( ch != _T('\r') )\r
                this->m_ctrlCmdOut.ReplaceSel(CString(ch));\r
-       else\r
-               this->m_ctrlCmdOut.ReplaceSel(CString(_T("")));\r
        \r
        int firstline = m_ctrlCmdOut.GetFirstVisibleLine();\r
        if( linenum - firstline > 4 )\r
index 03432d2..c40ba20 100644 (file)
@@ -51,6 +51,7 @@ protected:
        CRegDWORD m_regPullButton;\r
        CRegDWORD m_regPushButton;\r
        CMFCTabCtrl m_ctrlTabCtrl;\r
+\r
        CBalloon                        m_tooltips;\r
        \r
        BOOL            m_bInited;\r
@@ -64,6 +65,7 @@ protected:
        CRichEditCtrl      m_ctrlCmdOut;\r
 \r
        CTGitPathList   m_arOutChangeList;\r
+       int                             m_CmdOutCurrentPos;\r
 \r
        CWinThread*                             m_pThread;      \r
 \r