From: Tim Gerundt Date: Fri, 3 Sep 2010 19:39:48 +0000 (+0000) Subject: BUG: [ 3022292 ] Location pane focus enabled "Save" X-Git-Tag: 2.16.4+-jp-10~1363^2~55 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=df5be77d4fd27fdd5df59e858ac7c71c3ffe5125;p=winmerge-jp%2Fwinmerge-jp.git BUG: [ 3022292 ] Location pane focus enabled "Save" --- diff --git a/Docs/Users/ChangeLog.txt b/Docs/Users/ChangeLog.txt index 18206f4e0..bb55cd15a 100644 --- a/Docs/Users/ChangeLog.txt +++ b/Docs/Users/ChangeLog.txt @@ -18,6 +18,7 @@ WinMerge 2.13.14 Bugfix: New fix for the bug #2210403 (#2929005) Bugfix: Take changed compareoptions into use in folder compare (#3046938) Bugfix: "Copy and advance" toolbar icons not automatically enabled (#3033325) + Bugfix: Location pane focus enabled "Save" (#3022292) Translation updates: - Chinese (#3033324) - French (#3025202) diff --git a/Src/LocationView.cpp b/Src/LocationView.cpp index 6ab15b22d..5dc1c4630 100644 --- a/Src/LocationView.cpp +++ b/Src/LocationView.cpp @@ -118,6 +118,9 @@ BEGIN_MESSAGE_MAP(CLocationView, CView) ON_WM_SIZE() ON_WM_VSCROLL() ON_WM_ERASEBKGND() + ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, OnUpdateFileSave) + ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_LEFT, OnUpdateFileSaveLeft) + ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_RIGHT, OnUpdateFileSaveRight) //}}AFX_MSG_MAP END_MESSAGE_MAP() @@ -1070,3 +1073,42 @@ void CLocationView::DrawDiffMarker(CDC* pDC, int yCoord) pDC->SelectObject(pOldBrush); pDC->SelectObject(oldObj); } + +/** + * @brief Called when "Save" item is updated + */ +void CLocationView::OnUpdateFileSave(CCmdUI* pCmdUI) +{ + CMergeDoc *pd = GetDocument(); + + if (pd->m_ptBuf[0]->IsModified() || pd->m_ptBuf[1]->IsModified()) + pCmdUI->Enable(true); + else + pCmdUI->Enable(false); +} + +/** + * @brief Called when "Save left (as...)" item is updated + */ +void CLocationView::OnUpdateFileSaveLeft(CCmdUI* pCmdUI) +{ + CMergeDoc *pd = GetDocument(); + + if (!pd->m_ptBuf[0]->GetReadOnly() && pd->m_ptBuf[0]->IsModified()) + pCmdUI->Enable(true); + else + pCmdUI->Enable(false); +} + +/** + * @brief Called when "Save right (as...)" item is updated + */ +void CLocationView::OnUpdateFileSaveRight(CCmdUI* pCmdUI) +{ + CMergeDoc *pd = GetDocument(); + + if (!pd->m_ptBuf[1]->GetReadOnly() && pd->m_ptBuf[1]->IsModified()) + pCmdUI->Enable(true); + else + pCmdUI->Enable(false); +} \ No newline at end of file diff --git a/Src/LocationView.h b/Src/LocationView.h index 32081c2bb..f2a2063d2 100644 --- a/Src/LocationView.h +++ b/Src/LocationView.h @@ -127,6 +127,9 @@ protected: afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnPaint(); + afx_msg void OnUpdateFileSave(CCmdUI* pCmdUI); + afx_msg void OnUpdateFileSaveLeft(CCmdUI* pCmdUI); + afx_msg void OnUpdateFileSaveRight(CCmdUI* pCmdUI); //}}AFX_MSG DECLARE_MESSAGE_MAP() };