OSDN Git Service

selection for type of whitespace comparison
authorDennis Lim <dlkj@users.sourceforge.net>
Sat, 6 Oct 2001 11:59:44 +0000 (11:59 +0000)
committerDennis Lim <dlkj@users.sourceforge.net>
Sat, 6 Oct 2001 11:59:44 +0000 (11:59 +0000)
Src/MainFrm.cpp
Src/MainFrm.h
Src/Merge.rc
Src/PropGeneral.cpp
Src/PropGeneral.h
Src/resource.h

index 2563bd8..f75d10c 100644 (file)
@@ -115,7 +115,7 @@ CMainFrame::CMainFrame()
        m_bShowIdent = theApp.GetProfileInt(_T("Settings"), _T("ShowIdentical"), TRUE)!=0;
        m_bBackup = theApp.GetProfileInt(_T("Settings"), _T("BackupFile"), TRUE)!=0;
        m_bScrollToFirst = theApp.GetProfileInt(_T("Settings"), _T("ScrollToFirst"), FALSE)!=0;
-       m_bIgnoreWhitespace = theApp.GetProfileInt(_T("Settings"), _T("IgnoreSpace"), TRUE)!=0;
+       m_nIgnoreWhitespace = theApp.GetProfileInt(_T("Settings"), _T("IgnoreSpace"), 1);
        m_bHideBak = theApp.GetProfileInt(_T("Settings"), _T("HideBak"), TRUE)!=0;
        m_nVerSys = theApp.GetProfileInt(_T("Settings"), _T("VersionSystem"), 0);
        m_strVssProject = theApp.GetProfileString(_T("Settings"), _T("VssProject"), _T(""));
@@ -150,11 +150,12 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
                return -1;
 
        mf = this;
-       ignore_all_space_flag = m_bIgnoreWhitespace;
-       length_varies = m_bIgnoreWhitespace;
+       ignore_space_change_flag = (m_nIgnoreWhitespace==1);
+       ignore_all_space_flag = (m_nIgnoreWhitespace==2);
+       length_varies = (m_nIgnoreWhitespace!=0);
        ignore_case_flag = m_bIgnoreCase;
        ignore_blank_lines_flag = m_bIgnoreBlankLines;
-       ignore_some_changes = m_bIgnoreWhitespace || m_bIgnoreCase || m_bIgnoreBlankLines;
+       ignore_some_changes = (m_nIgnoreWhitespace!=0) || m_bIgnoreCase || m_bIgnoreBlankLines;
        // build the initial reg expression list
        RebuildRegExpList();
 
@@ -510,7 +511,7 @@ void CMainFrame::OnProperties()
        vss.m_strPath = m_strVssPath;
 
        gen.m_bBackup = m_bBackup;
-       gen.m_bIgnoreWhite = m_bIgnoreWhitespace;
+       gen.m_nIgnoreWhite = m_nIgnoreWhitespace;
        gen.m_bIgnoreCase = m_bIgnoreCase;
        gen.m_bIgnoreBlankLines = m_bIgnoreBlankLines;
        gen.m_bScroll = m_bScrollToFirst;
@@ -531,17 +532,19 @@ void CMainFrame::OnProperties()
                m_nTabSize = gen.m_nTabSize;
                theApp.m_bDisableSplash = gen.m_bDisableSplash;
 
-               ignore_all_space_flag = m_bIgnoreWhitespace = gen.m_bIgnoreWhite;
+               m_nIgnoreWhitespace = gen.m_nIgnoreWhite;
+               ignore_all_space_flag = (m_nIgnoreWhitespace==2);
+               ignore_space_change_flag = (m_nIgnoreWhitespace==1);
                ignore_blank_lines_flag = m_bIgnoreBlankLines = gen.m_bIgnoreBlankLines;
                ignore_case_flag = m_bIgnoreCase = gen.m_bIgnoreCase;
-               ignore_some_changes = m_bIgnoreWhitespace || m_bIgnoreCase || m_bIgnoreBlankLines;
-               length_varies = m_bIgnoreWhitespace;
+               ignore_some_changes = (m_nIgnoreWhitespace!=0) || m_bIgnoreCase || m_bIgnoreBlankLines;
+               length_varies = (m_nIgnoreWhitespace!=0);
                
                m_bIgnoreRegExp = filter.m_bIgnoreRegExp;
                m_sPattern = filter.m_sPattern;
 
                theApp.WriteProfileInt(_T("Settings"), _T("VersionSystem"), m_nVerSys);
-               theApp.WriteProfileInt(_T("Settings"), _T("IgnoreSpace"), m_bIgnoreWhitespace);
+               theApp.WriteProfileInt(_T("Settings"), _T("IgnoreSpace"), m_nIgnoreWhitespace);
                theApp.WriteProfileInt(_T("Settings"), _T("ScrollToFirst"), m_bScrollToFirst);
                theApp.WriteProfileInt(_T("Settings"), _T("BackupFile"), m_bBackup);
                theApp.WriteProfileString(_T("Settings"), _T("VssPath"), m_strVssPath);
@@ -645,7 +648,7 @@ BOOL CMainFrame::DoFileOpen(LPCTSTR pszLeft /*=NULL*/, LPCTSTR pszRight /*=NULL*
                                  m_nVerSys,
                                  m_strVssPath,
                                  m_bBackup,
-                                 m_bIgnoreWhitespace,
+                                 m_nIgnoreWhitespace,
                                  m_bScrollToFirst);
        }
 
index 83649cb..3a7c9f9 100644 (file)
@@ -83,7 +83,7 @@ public:
        CString m_strVssProject;
        int m_nVerSys;
        BOOL m_bHideBak;
-       BOOL m_bIgnoreWhitespace;
+       int m_nIgnoreWhitespace;
        BOOL m_bScrollToFirst;
        void ShowMergeDoc(LPCTSTR szLeft, LPCTSTR szRight);
        CMergeEditView *m_pLeft, *m_pRight;
index 931a43f..46031aa 100644 (file)
@@ -298,17 +298,21 @@ BEGIN
     CONTROL         "Automatically &scroll to first difference",
                     IDC_SCROLL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
                     17,33,129,10
-    CONTROL         "Ignore &whitespace",IDC_WHITESPACE_CHECK,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,17,45,74,10
     CONTROL         "Ignore blan&k lines",IDC_IGNBLANKS_CHECK,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,17,57,71,10
+                    BS_AUTOCHECKBOX | WS_TABSTOP,17,45,71,10
     CONTROL         "Ignore &case",IDC_IGNCASE_CHECK,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,17,69,53,10
-    GROUPBOX        "Tabs",IDC_STATIC,7,105,221,30
+                    BS_AUTOCHECKBOX | WS_TABSTOP,17,57,53,10
+    CONTROL         "&Disable Splash Screen",IDC_DISABLE_SPLASH,"Button",
+                    BS_AUTOCHECKBOX | WS_TABSTOP,17,69,87,10
+    CONTROL         "Compare &whitespace",IDC_WHITESPACE,"Button",
+                    BS_AUTORADIOBUTTON | WS_GROUP,128,45,82,10
+    CONTROL         "Ignore whitespace c&hange",IDC_WHITE_CHANGE,"Button",
+                    BS_AUTORADIOBUTTON,128,57,100,10
+    CONTROL         "Ignore &all whitespace",IDC_ALL_WHITE,"Button",
+                    BS_AUTORADIOBUTTON,128,69,83,10
+    GROUPBOX        "Tabs",IDC_STATIC,7,105,221,30,WS_GROUP
     LTEXT           "&Tab size:",IDC_STATIC,15,119,30,8
     EDITTEXT        IDC_TAB_EDIT,47,118,27,12,ES_AUTOHSCROLL
-    CONTROL         "&Disable Splash Screen",IDC_DISABLE_SPLASH,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,17,81,87,10
 END
 
 IDD_LANGUAGE_SELECT DIALOG DISCARDABLE  0, 0, 213, 111
@@ -459,6 +463,7 @@ BEGIN
     BEGIN
         LEFTMARGIN, 7
         RIGHTMARGIN, 228
+        VERTGUIDE, 128
         TOPMARGIN, 7
         BOTTOMMARGIN, 149
     END
index b757f11..a4ee533 100644 (file)
@@ -41,11 +41,11 @@ CPropGeneral::CPropGeneral() : CPropertyPage(CPropGeneral::IDD)
        //{{AFX_DATA_INIT(CPropGeneral)
        m_bBackup = FALSE;
        m_bScroll = FALSE;
-       m_bIgnoreWhite = FALSE;
        m_nTabSize = 0;
        m_bIgnoreCase = FALSE;
        m_bIgnoreBlankLines = FALSE;
        m_bDisableSplash = FALSE;
+       m_nIgnoreWhite = -1;
        //}}AFX_DATA_INIT
 }
 
@@ -59,11 +59,11 @@ void CPropGeneral::DoDataExchange(CDataExchange* pDX)
        //{{AFX_DATA_MAP(CPropGeneral)
        DDX_Check(pDX, IDC_BACKUP_CHECK, m_bBackup);
        DDX_Check(pDX, IDC_SCROLL_CHECK, m_bScroll);
-       DDX_Check(pDX, IDC_WHITESPACE_CHECK, m_bIgnoreWhite);
        DDX_Text(pDX, IDC_TAB_EDIT, m_nTabSize);
        DDX_Check(pDX, IDC_IGNCASE_CHECK, m_bIgnoreCase);
        DDX_Check(pDX, IDC_IGNBLANKS_CHECK, m_bIgnoreBlankLines);
        DDX_Check(pDX, IDC_DISABLE_SPLASH, m_bDisableSplash);
+       DDX_Radio(pDX, IDC_WHITESPACE, m_nIgnoreWhite);
        //}}AFX_DATA_MAP
 }
 
index 3e84a1c..cfef2f7 100644 (file)
@@ -24,11 +24,11 @@ public:
        enum { IDD = IDD_PROPPAGE_LARGE };
        BOOL    m_bBackup;
        BOOL    m_bScroll;
-       BOOL    m_bIgnoreWhite;
        UINT    m_nTabSize;
        BOOL    m_bIgnoreCase;
        BOOL    m_bIgnoreBlankLines;
        BOOL    m_bDisableSplash;
+       int             m_nIgnoreWhite;
        //}}AFX_DATA
 
 
index 1627515..fdbe047 100644 (file)
 #define IDC_IGNOREREGEXP                1020
 #define IDC_EDITPATTERN                 1021
 #define IDC_DISABLE_SPLASH              1023
+#define IDC_ALL_WHITE                   1024
+#define IDC_WHITE_CHANGE                1025
+#define IDC_WHITESPACE                  1026
 #define IDR_MARGIN_CURSOR               22900
 #define IDD_LANGUAGE_SELECT             30000
 #define IDD_PROPSYNTAX                  30001
 #define _APS_3D_CONTROLS                     1
 #define _APS_NEXT_RESOURCE_VALUE        135
 #define _APS_NEXT_COMMAND_VALUE         32807
-#define _APS_NEXT_CONTROL_VALUE         1024
+#define _APS_NEXT_CONTROL_VALUE         1027
 #define _APS_NEXT_SYMED_VALUE           106
 #endif
 #endif