OSDN Git Service

DirView.cpp: Disable Compare As → Text ~ XML in the context menu when the selected...
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sun, 30 May 2021 01:45:34 +0000 (10:45 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sun, 30 May 2021 01:45:34 +0000 (10:45 +0900)
Src/DirView.cpp

index a4e5312..5b41f24 100644 (file)
@@ -1895,7 +1895,7 @@ void CDirView::DoUpdateOpen(SELECTIONTYPE selectionType, CCmdUI* pCmdUI, bool op
                if (!openableForDir)
                {
                        const DIFFITEM& di1 = GetDiffItem(sel1);
-                       if (di1.diffcode.isDirectory())
+                       if (di1.diffcode.isDirectory() || GetItemKey(sel1) == reinterpret_cast<DIFFITEM*>(SPECIAL_ITEM_POS))
                        {
                                pCmdUI->Enable(FALSE);
                                return;
@@ -3724,9 +3724,8 @@ void CDirView::OnMergeCompareAs(UINT nID)
 
 void CDirView::OnUpdateMergeCompare(CCmdUI *pCmdUI)
 {
-       bool openableForDir = (pCmdUI->m_nID != ID_MERGE_COMPARE_XML &&
-                                                  pCmdUI->m_nID != ID_MERGE_COMPARE_HEX &&
-                                                  pCmdUI->m_nID != ID_MERGE_COMPARE_IMAGE);
+       bool openableForDir = !(pCmdUI->m_nID >= ID_MERGE_COMPARE_TEXT &&
+                                                   pCmdUI->m_nID <= ID_MERGE_COMPARE_XML);
 
        DoUpdateOpen(SELECTIONTYPE_NORMAL, pCmdUI, openableForDir);
 }