[Winmerge-svn] SF.net SVN: winmerge: [4820] branches/R2_6/Src/DirView.cpp
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ga...@us...> - 2007-12-09 12:24:42
|
Revision: 4820 http://winmerge.svn.sourceforge.net/winmerge/?rev=4820&view=rev Author: galh Date: 2007-12-09 04:24:39 -0800 (Sun, 09 Dec 2007) Log Message: ----------- BUG [ 1738790 ] Unexpected backspace key handling in rename. Modified Paths: -------------- branches/R2_6/Src/DirView.cpp Modified: branches/R2_6/Src/DirView.cpp =================================================================== --- branches/R2_6/Src/DirView.cpp 2007-12-08 18:46:44 UTC (rev 4819) +++ branches/R2_6/Src/DirView.cpp 2007-12-09 12:24:39 UTC (rev 4820) @@ -1971,24 +1971,13 @@ // Handle special shortcuts here if (pMsg->message == WM_KEYDOWN) { + if (FALSE == IsLabelEdit()) + { // Check if we got 'ESC pressed' -message if (pMsg->wParam == VK_ESCAPE) { - // ESC doesn't close window when user is renaming an item. - if (TRUE == IsLabelEdit()) + if (m_bEscCloses) { - m_bUserCancelEdit = TRUE; - - // The edit control send LVN_ENDLABELEDIT when it loses focus, - // so we use it to cancel the rename action. - m_pList->SetFocus(); - - // Stop the ESC before it reach the main frame which might - // cause a program termination. - return TRUE; - } - else if (m_bEscCloses) - { AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_FILE_CLOSE); return FALSE; } @@ -1996,13 +1985,9 @@ // Check if we got 'DEL pressed' -message if (pMsg->wParam == VK_DELETE) { - // DEL doesn't delete a file when user is renaming an item. - if (!IsLabelEdit()) - { AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_MERGE_DELETE); return FALSE; } - } // Check if we got 'Backspace pressed' -message if (pMsg->wParam == VK_BACK) { @@ -2010,6 +1995,23 @@ return FALSE; } } + else + { + // ESC doesn't close window when user is renaming an item. + if (pMsg->wParam == VK_ESCAPE) + { + m_bUserCancelEdit = TRUE; + + // The edit control send LVN_ENDLABELEDIT when it loses focus, + // so we use it to cancel the rename action. + m_pList->SetFocus(); + + // Stop the ESC before it reach the main frame which might + // cause a program termination. + return TRUE; + } + } + } return CListView::PreTranslateMessage(pMsg); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |