OSDN Git Service

Toolbar: Move "Folder Compare Method" list items to drop down menu
authorsdottaka <sdottaka@sourceforge.net>
Sun, 16 Mar 2014 12:48:13 +0000 (21:48 +0900)
committersdottaka <sdottaka@sourceforge.net>
Sun, 16 Mar 2014 12:48:13 +0000 (21:48 +0900)
--HG--
branch : stable

Src/MainFrm.cpp
Src/MainFrm.h
Src/Merge.rc
Src/Merge2.rc
Src/PropCompareFolder.cpp
Src/resource.h

index 47c17cb..d94e32f 100644 (file)
@@ -246,7 +246,8 @@ BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
        ON_UPDATE_COMMAND_UI(IDC_DIFF_CASESENSITIVE, OnUpdateDiffCaseSensitive)
        ON_COMMAND(IDC_DIFF_IGNOREEOL, OnDiffIgnoreEOL)
        ON_UPDATE_COMMAND_UI(IDC_DIFF_IGNOREEOL, OnUpdateDiffIgnoreEOL)
-       ON_CBN_SELENDOK(IDC_COMPAREMETHODCOMBO, OnSelectCompareMethod)
+       ON_COMMAND_RANGE(ID_COMPMETHOD_FULL_CONTENTS, ID_COMPMETHOD_SIZE, OnCompareMethod)
+       ON_UPDATE_COMMAND_UI_RANGE(ID_COMPMETHOD_FULL_CONTENTS, ID_COMPMETHOD_SIZE, OnUpdateCompareMethod)
        //}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
@@ -2501,31 +2502,6 @@ void CMainFrame::OnActivateApp(BOOL bActive, HTASK hTask)
        }
 }
 
-BOOL CMainFrame::CreateComboBoxOnToolbar()
-{
-       const int methods[] =
-               {IDS_COMPMETHOD_FULL_CONTENTS, IDS_COMPMETHOD_QUICK_CONTENTS, IDS_COMPMETHOD_MODDATE, IDS_COMPMETHOD_DATESIZE, IDS_COMPMETHOD_SIZE};
-       CRect rcComboBox;
-       int index = m_wndToolBar.CommandToIndex(IDC_COMPAREMETHODCOMBO);
-       m_wndToolBar.SetButtonInfo(index, IDC_COMPAREMETHODCOMBO, TBBS_SEPARATOR, 128);
-       m_wndToolBar.GetItemRect(index, &rcComboBox);
-       rcComboBox.left += 6;
-       if (rcComboBox.Height() > 24)
-               rcComboBox.top += rcComboBox.Height() / 4;
-       rcComboBox.bottom = rcComboBox.top + 128;
-       if (!m_ctlCompareMethod.Create(
-                               CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE,
-                               rcComboBox, &m_wndToolBar, IDC_COMPAREMETHODCOMBO ) )
-       {
-               return FALSE;
-       }
-       m_ctlCompareMethod.SetFont(CFont::FromHandle((HFONT)GetStockObject(DEFAULT_GUI_FONT)));
-       for (int i = 0; i < sizeof(methods)/sizeof(methods[0]); ++i)
-               m_ctlCompareMethod.AddString(theApp.LoadString(methods[i]).c_str());
-       m_ctlCompareMethod.SetCurSel(GetOptionsMgr()->GetInt(OPT_CMP_METHOD));
-       return TRUE;
-}
-
 BOOL CMainFrame::CreateToolbar()
 {
        if (!m_wndToolBar.CreateEx(this) ||
@@ -2557,10 +2533,6 @@ BOOL CMainFrame::CreateToolbar()
        nStyle |= TBSTYLE_DROPDOWN;
        m_wndToolBar.SetButtonInfo(index, nID, nStyle, iImage);
 
-       // Create "Folder Compare Method" ComboBox on toolbar
-       if (!CreateComboBoxOnToolbar())
-               return FALSE;
-
        if (GetOptionsMgr()->GetBool(OPT_SHOW_TOOLBAR) == false)
        {
                CMDIFrameWnd::ShowControlBar(&m_wndToolBar, false, 0);
@@ -2948,7 +2920,7 @@ void CMainFrame::OnDiffWhitespace(UINT nID)
 
 void CMainFrame::OnUpdateDiffWhitespace(CCmdUI* pCmdUI)
 {
-       pCmdUI->SetRadio(pCmdUI->m_nID - IDC_DIFF_WHITESPACE_COMPARE == GetOptionsMgr()->GetInt(OPT_CMP_IGNORE_WHITESPACE));
+       pCmdUI->SetRadio((pCmdUI->m_nID - IDC_DIFF_WHITESPACE_COMPARE) == GetOptionsMgr()->GetInt(OPT_CMP_IGNORE_WHITESPACE));
        pCmdUI->Enable();
 }
 
@@ -2976,9 +2948,15 @@ void CMainFrame::OnUpdateDiffIgnoreEOL(CCmdUI* pCmdUI)
        pCmdUI->Enable();
 }
 
-void CMainFrame::OnSelectCompareMethod()
+void CMainFrame::OnCompareMethod(UINT nID)
 { 
-       GetOptionsMgr()->SaveOption(OPT_CMP_METHOD, m_ctlCompareMethod.GetCurSel());
+       GetOptionsMgr()->SaveOption(OPT_CMP_METHOD, nID - ID_COMPMETHOD_FULL_CONTENTS);
+}
+
+void CMainFrame::OnUpdateCompareMethod(CCmdUI* pCmdUI)
+{
+       pCmdUI->SetRadio((pCmdUI->m_nID - ID_COMPMETHOD_FULL_CONTENTS) == GetOptionsMgr()->GetInt(OPT_CMP_METHOD));
+       pCmdUI->Enable();
 }
 
 /**
index 2b838ce..0992d5c 100644 (file)
@@ -286,7 +286,8 @@ protected:
        afx_msg void OnUpdateDiffCaseSensitive(CCmdUI* pCmdUI);
        afx_msg void OnDiffIgnoreEOL();
        afx_msg void OnUpdateDiffIgnoreEOL(CCmdUI* pCmdUI);
-       afx_msg void OnSelectCompareMethod();
+       afx_msg void OnCompareMethod(UINT nID);
+       afx_msg void OnUpdateCompareMethod(CCmdUI* pCmdUI);
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
 
index 6063796..363988a 100644 (file)
@@ -109,6 +109,10 @@ BEGIN
         MENUITEM "Sa&ve Project...",            ID_FILE_SAVEPROJECT
         MENUITEM SEPARATOR
         MENUITEM "Recent Projects",             ID_FILE_MRU_FILE1
+        POPUP "Recent Files Or Folders"
+        BEGIN
+            MENUITEM "< Empty >",               ID_NO_MRU
+        END
         MENUITEM SEPARATOR
         MENUITEM "E&xit",                       ID_APP_EXIT
     END
@@ -658,8 +662,16 @@ BEGIN
             MENUITEM "I&gnore changes",     IDC_DIFF_WHITESPACE_IGNORE
             MENUITEM "Ig&nore all",         IDC_DIFF_WHITESPACE_IGNOREALL
         END
-       MENUITEM "Case sensi&tive", IDC_DIFF_CASESENSITIVE
-       MENUITEM "Igno&re carriage return differences (Windows/Unix/Mac)", IDC_DIFF_IGNOREEOL
+        MENUITEM "Case sensi&tive", IDC_DIFF_CASESENSITIVE
+        MENUITEM "Igno&re carriage return differences (Windows/Unix/Mac)", IDC_DIFF_IGNOREEOL
+        POPUP "&Compare method:"
+        BEGIN
+            MENUITEM "Full Contents",          ID_COMPMETHOD_FULL_CONTENTS
+            MENUITEM "Quick Contents",         ID_COMPMETHOD_QUICK_CONTENTS
+            MENUITEM "Modified Date",          ID_COMPMETHOD_MODDATE
+                       MENUITEM "Modified Date and Size", ID_COMPMETHOD_DATESIZE
+                       MENUITEM "Size",                   ID_COMPMETHOD_SIZE
+        END
     END
 END
 
@@ -2202,11 +2214,11 @@ END
 // COMPARE OPTIONS
 STRINGTABLE
 BEGIN
-    IDS_COMPMETHOD_FULL_CONTENTS "Full Contents"
-    IDS_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
-    IDS_COMPMETHOD_MODDATE  "Modified Date"
-    IDS_COMPMETHOD_DATESIZE "Modified Date and Size"
-    IDS_COMPMETHOD_SIZE     "Size"
+    ID_COMPMETHOD_FULL_CONTENTS "Full Contents"
+    ID_COMPMETHOD_QUICK_CONTENTS "Quick Contents"
+    ID_COMPMETHOD_MODDATE  "Modified Date"
+    ID_COMPMETHOD_DATESIZE "Modified Date and Size"
+    ID_COMPMETHOD_SIZE     "Size"
 END
 
 // FILTER OPTIONS
index 21c9d50..2debb5c 100644 (file)
@@ -97,7 +97,6 @@ BEGIN
     BUTTON      ID_AUTO_MERGE
     SEPARATOR
     BUTTON      ID_REFRESH
-    BUTTON      IDC_COMPAREMETHODCOMBO
 END
 
 
index 238da2c..f4ac1fa 100644 (file)
@@ -103,15 +103,15 @@ BOOL PropCompareFolder::OnInitDialog()
        CPropertyPage::OnInitDialog();
        CComboBox * combo = (CComboBox*) GetDlgItem(IDC_COMPAREMETHODCOMBO);
 
-       String item = theApp.LoadString(IDS_COMPMETHOD_FULL_CONTENTS);
+       String item = theApp.LoadString(ID_COMPMETHOD_FULL_CONTENTS);
        combo->AddString(item.c_str());
-       item = theApp.LoadString(IDS_COMPMETHOD_QUICK_CONTENTS);
+       item = theApp.LoadString(ID_COMPMETHOD_QUICK_CONTENTS);
        combo->AddString(item.c_str());
-       item = theApp.LoadString(IDS_COMPMETHOD_MODDATE);
+       item = theApp.LoadString(ID_COMPMETHOD_MODDATE);
        combo->AddString(item.c_str());
-       item = theApp.LoadString(IDS_COMPMETHOD_DATESIZE);
+       item = theApp.LoadString(ID_COMPMETHOD_DATESIZE);
        combo->AddString(item.c_str());
-       item = theApp.LoadString(IDS_COMPMETHOD_SIZE);
+       item = theApp.LoadString(ID_COMPMETHOD_SIZE);
        combo->AddString(item.c_str());
        combo->SetCurSel(m_compareMethod);
 
index 984d6bc..c329f4f 100644 (file)
 #define IDS_PROJECTFILES                16419
 #define IDS_PROJECTFILES_EXT            16420
 #define IDS_INIFILES                    16421
-#define IDS_COMPMETHOD_FULL_CONTENTS    16432
-#define IDS_COMPMETHOD_QUICK_CONTENTS   16433
-#define IDS_COMPMETHOD_MODDATE          16434
-#define IDS_COMPMETHOD_DATESIZE         16435
-#define IDS_COMPMETHOD_SIZE             16436
+#define ID_COMPMETHOD_FULL_CONTENTS     16432
+#define ID_COMPMETHOD_QUICK_CONTENTS    16433
+#define ID_COMPMETHOD_MODDATE           16434
+#define ID_COMPMETHOD_DATESIZE          16435
+#define ID_COMPMETHOD_SIZE              16436
 #define IDS_FILTERFILE_NAMETITLE        16448
 #define IDS_FILTERFILE_PATHTITLE        16449
 #define IDS_FILTER_TITLE                16450