OSDN Git Service

theApp is unnecessary because these methods are a static methods
[winmerge-jp/winmerge-jp.git] / Src / HexMergeView.cpp
index 30231cd..f5a3114 100644 (file)
@@ -63,6 +63,7 @@ BEGIN_MESSAGE_MAP(CHexMergeView, CView)
        ON_WM_CREATE()
        ON_WM_HSCROLL()
        ON_WM_VSCROLL()
+       ON_WM_MOUSEWHEEL()
        ON_WM_NCCALCSIZE()
        ON_COMMAND(ID_HELP, OnHelp)
        ON_COMMAND(ID_EDIT_FIND, OnEditFind)
@@ -205,6 +206,16 @@ void CHexMergeView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar * pScrollBar)
        }
 }
 
+BOOL CHexMergeView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
+{
+       if ((GetAsyncKeyState(VK_CONTROL) &0x8000) != 0) // if (nFlags & MK_CONTROL)
+       {
+               PostMessage(WM_COMMAND, zDelta < 0 ? ID_VIEW_ZOOMOUT : ID_VIEW_ZOOMIN);
+               return 1;
+       }
+       return 0;
+}
+
 /**
  * @brief Synchronize file path bar activation states
  */
@@ -240,15 +251,15 @@ IMergeDoc::FileChange CHexMergeView::IsFileChangedOnDisk(LPCTSTR path)
 {
        DiffFileInfo dfi;
        if (!dfi.Update(path))
-               return IMergeDoc::FileRemoved;
+               return IMergeDoc::FileChange::Removed;
        int tolerance = 0;
        if (GetOptionsMgr()->GetBool(OPT_IGNORE_SMALL_FILETIME))
                tolerance = SmallTimeDiff; // From MainFrm.h
        int64_t timeDiff = dfi.mtime - m_fileInfo.mtime;
        if (timeDiff < 0) timeDiff = -timeDiff;
        if ((timeDiff > tolerance * Poco::Timestamp::resolution()) || (dfi.size != m_fileInfo.size))
-               return IMergeDoc::FileChanged;
-       return IMergeDoc::FileNoChange;
+               return IMergeDoc::FileChange::Changed;
+       return IMergeDoc::FileChange::NoChange;
 }
 
 /**
@@ -289,7 +300,7 @@ HRESULT CHexMergeView::LoadFile(LPCTSTR path)
 HRESULT CHexMergeView::SaveFile(LPCTSTR path)
 {
        // Warn user in case file has been changed by someone else
-       if (IsFileChangedOnDisk(path) == IMergeDoc::FileChanged)
+       if (IsFileChangedOnDisk(path) == IMergeDoc::FileChange::Changed)
        {
                String msg = strutils::format_string1(_("Another application has updated file\n%1\nsince WinMerge loaded it.\n\nOverwrite changed file?"), path);
                if (AfxMessageBox(msg.c_str(), MB_ICONWARNING | MB_YESNO) == IDNO)
@@ -298,11 +309,11 @@ HRESULT CHexMergeView::SaveFile(LPCTSTR path)
        // Ask user what to do about FILE_ATTRIBUTE_READONLY
        String strPath = path;
        bool bApplyToAll = false;
-       if (theApp.HandleReadonlySave(strPath, false, bApplyToAll) == IDCANCEL)
+       if (CMergeApp::HandleReadonlySave(strPath, false, bApplyToAll) == IDCANCEL)
                return S_OK;
        path = strPath.c_str();
        // Take a chance to create a backup
-       if (!theApp.CreateBackup(false, path))
+       if (!CMergeApp::CreateBackup(false, path))
                return S_OK;
        // Write data to an intermediate file
        String tempPath = env::GetTemporaryPath();