From: Kimmo Varis Date: Mon, 3 May 2004 15:49:29 +0000 (+0000) Subject: PATCH: [ 942565 ] Option for closing windows with ESC X-Git-Tag: 2.16.5~6955 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=461737b7016cffe6249d427cf31b8dde7e3c3422;p=winmerge-jp%2Fwinmerge-jp.git PATCH: [ 942565 ] Option for closing windows with ESC --- diff --git a/Src/DirDoc.cpp b/Src/DirDoc.cpp index 16d52da7a..4d40b7534 100644 --- a/Src/DirDoc.cpp +++ b/Src/DirDoc.cpp @@ -606,6 +606,7 @@ void CDirDoc::RefreshOptions() options.bEolSensitive = mf->m_options.GetInt(OPT_CMP_EOL_SENSITIVE); m_diffWrapper.SetOptions(&options); + m_pDirView->RefreshOptions(); } /** diff --git a/Src/DirView.cpp b/Src/DirView.cpp index a573e2fc7..fffe438f3 100644 --- a/Src/DirView.cpp +++ b/Src/DirView.cpp @@ -76,6 +76,7 @@ CDirView::CDirView() , m_pHeaderPopup(NULL) { m_pList = NULL; + m_bEscCloses = mf->m_options.GetInt(OPT_CLOSE_WITH_ESC); } CDirView::~CDirView() @@ -1525,10 +1526,13 @@ void CDirView::OnRefresh() BOOL CDirView::PreTranslateMessage(MSG* pMsg) { // Check if we got 'ESC pressed' -message - if ((pMsg->message == WM_KEYDOWN) && (pMsg->wParam == VK_ESCAPE)) + if ((pMsg->message == WM_KEYDOWN) && (pMsg->wParam == VK_ESCAPE)) { - AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_FILE_CLOSE); - return FALSE; + if (m_bEscCloses) + { + AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_FILE_CLOSE); + return FALSE; + } } return CListViewEx::PreTranslateMessage(pMsg); } @@ -2133,3 +2137,11 @@ void CDirView::ResetColumnWidths() } } +/** + * @brief Refresh cached options. + */ +void CDirView::RefreshOptions() +{ + m_bEscCloses = mf->m_options.GetInt(OPT_CLOSE_WITH_ESC); +} + diff --git a/Src/DirView.h b/Src/DirView.h index 7d93ead20..e69db4fd5 100644 --- a/Src/DirView.h +++ b/Src/DirView.h @@ -92,6 +92,7 @@ public: void GotoFirstDiff() { OnFirstdiff(); }; int AddSpecialItems(); void AddParentFolderItem(); + void RefreshOptions(); // Implementation types private: @@ -215,6 +216,7 @@ protected: CArray m_invcolorder; /**< invcolorder[physical]=logical# */ CPoint m_ptLastMousePos; CMenu * m_pHeaderPopup; + BOOL m_bEscCloses; /**< Cached value for option for ESC closing window */ // Generated message map functions afx_msg void OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult); diff --git a/Src/Languages/Brazilian/MergeBrazilian.rc b/Src/Languages/Brazilian/MergeBrazilian.rc index b1c531da7..1a8c105eb 100644 --- a/Src/Languages/Brazilian/MergeBrazilian.rc +++ b/Src/Languages/Brazilian/MergeBrazilian.rc @@ -462,10 +462,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,206,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Brazilian/resource.h b/Src/Languages/Brazilian/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Brazilian/resource.h +++ b/Src/Languages/Brazilian/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Bulgarian/MergeBulgarian.rc b/Src/Languages/Bulgarian/MergeBulgarian.rc index 620e51edf..7fe8f11f4 100644 --- a/Src/Languages/Bulgarian/MergeBulgarian.rc +++ b/Src/Languages/Bulgarian/MergeBulgarian.rc @@ -462,10 +462,12 @@ BEGIN CONTROL "&Close compare Statepane automatically", IDC_CMPPANE_AUTOCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Bulgarian/resource.h b/Src/Languages/Bulgarian/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Bulgarian/resource.h +++ b/Src/Languages/Bulgarian/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Catalan/MergeCatalan.rc b/Src/Languages/Catalan/MergeCatalan.rc index c0c58391e..936889cdb 100644 --- a/Src/Languages/Catalan/MergeCatalan.rc +++ b/Src/Languages/Catalan/MergeCatalan.rc @@ -461,10 +461,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,206,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Catalan/resource.h b/Src/Languages/Catalan/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Catalan/resource.h +++ b/Src/Languages/Catalan/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/ChineseSimplified/MergeChineseSimplified.rc b/Src/Languages/ChineseSimplified/MergeChineseSimplified.rc index c905d5019..fbe6ceb9e 100644 --- a/Src/Languages/ChineseSimplified/MergeChineseSimplified.rc +++ b/Src/Languages/ChineseSimplified/MergeChineseSimplified.rc @@ -456,10 +456,12 @@ BEGIN WS_TABSTOP,7,27,100,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/ChineseSimplified/resource.h b/Src/Languages/ChineseSimplified/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/ChineseSimplified/resource.h +++ b/Src/Languages/ChineseSimplified/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/ChineseTraditional/MergeChineseTraditional.rc b/Src/Languages/ChineseTraditional/MergeChineseTraditional.rc index 0749d1100..3839aa6a3 100644 --- a/Src/Languages/ChineseTraditional/MergeChineseTraditional.rc +++ b/Src/Languages/ChineseTraditional/MergeChineseTraditional.rc @@ -457,10 +457,12 @@ BEGIN WS_TABSTOP,7,27,100,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/ChineseTraditional/resource.h b/Src/Languages/ChineseTraditional/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/ChineseTraditional/resource.h +++ b/Src/Languages/ChineseTraditional/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Czech/MergeCzech.rc b/Src/Languages/Czech/MergeCzech.rc index 1748fa9dc..c4aacffb5 100644 --- a/Src/Languages/Czech/MergeCzech.rc +++ b/Src/Languages/Czech/MergeCzech.rc @@ -461,10 +461,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,206,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Czech/resource.h b/Src/Languages/Czech/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Czech/resource.h +++ b/Src/Languages/Czech/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Danish/MergeDanish.rc b/Src/Languages/Danish/MergeDanish.rc index 909380925..b572aa3dc 100644 --- a/Src/Languages/Danish/MergeDanish.rc +++ b/Src/Languages/Danish/MergeDanish.rc @@ -460,10 +460,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,79,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 162 diff --git a/Src/Languages/Danish/resource.h b/Src/Languages/Danish/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Danish/resource.h +++ b/Src/Languages/Danish/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Dutch/MergeDutch.rc b/Src/Languages/Dutch/MergeDutch.rc index 9001f12d4..aedcaa4c2 100644 --- a/Src/Languages/Dutch/MergeDutch.rc +++ b/Src/Languages/Dutch/MergeDutch.rc @@ -462,10 +462,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,87,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Dutch/resource.h b/Src/Languages/Dutch/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Dutch/resource.h +++ b/Src/Languages/Dutch/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/French/MergeFrench.rc b/Src/Languages/French/MergeFrench.rc index 79d5c9537..615ca017b 100644 --- a/Src/Languages/French/MergeFrench.rc +++ b/Src/Languages/French/MergeFrench.rc @@ -463,10 +463,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,80,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/French/resource.h b/Src/Languages/French/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/French/resource.h +++ b/Src/Languages/French/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/German/MergeGerman.rc b/Src/Languages/German/MergeGerman.rc index 6ae9914ac..8243d99ab 100644 --- a/Src/Languages/German/MergeGerman.rc +++ b/Src/Languages/German/MergeGerman.rc @@ -470,10 +470,12 @@ BEGIN CONTROL "&Close compare Statepane automatically", IDC_CMPPANE_AUTOCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Zurücksetzen",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Zurücksetzen",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/German/resource.h b/Src/Languages/German/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/German/resource.h +++ b/Src/Languages/German/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Italian/MergeItalian.rc b/Src/Languages/Italian/MergeItalian.rc index cf131fe5d..1c9d74901 100644 --- a/Src/Languages/Italian/MergeItalian.rc +++ b/Src/Languages/Italian/MergeItalian.rc @@ -460,10 +460,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,87,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Italian/resource.h b/Src/Languages/Italian/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Italian/resource.h +++ b/Src/Languages/Italian/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Korean/MergeKorean.rc b/Src/Languages/Korean/MergeKorean.rc index 9ae73a868..d50e29d9f 100644 --- a/Src/Languages/Korean/MergeKorean.rc +++ b/Src/Languages/Korean/MergeKorean.rc @@ -424,10 +424,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,98,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOGEX 0, 0, 213, 111 diff --git a/Src/Languages/Korean/resource.h b/Src/Languages/Korean/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Korean/resource.h +++ b/Src/Languages/Korean/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Norwegian/MergeNorwegian.rc b/Src/Languages/Norwegian/MergeNorwegian.rc index bf6e308ef..490c9bc8b 100644 --- a/Src/Languages/Norwegian/MergeNorwegian.rc +++ b/Src/Languages/Norwegian/MergeNorwegian.rc @@ -461,10 +461,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,79,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 162 diff --git a/Src/Languages/Norwegian/resource.h b/Src/Languages/Norwegian/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Norwegian/resource.h +++ b/Src/Languages/Norwegian/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Polish/MergePolish.rc b/Src/Languages/Polish/MergePolish.rc index 54c05edaa..f96f854bc 100644 --- a/Src/Languages/Polish/MergePolish.rc +++ b/Src/Languages/Polish/MergePolish.rc @@ -462,10 +462,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,100,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Polish/resource.h b/Src/Languages/Polish/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Polish/resource.h +++ b/Src/Languages/Polish/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Russian/MergeRussian.rc b/Src/Languages/Russian/MergeRussian.rc index ce8985e27..480a360d9 100644 --- a/Src/Languages/Russian/MergeRussian.rc +++ b/Src/Languages/Russian/MergeRussian.rc @@ -474,10 +474,12 @@ BEGIN CONTROL "&Çàêðûâàòü Statepane àâòîìàòè÷åñêè", IDC_CMPPANE_AUTOCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Ñáðîñ",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Ñáðîñ",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Íàæìèòå êíîïêó äëÿ ñáðîñà âñåõ ñîîáùåíèé",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Russian/resource.h b/Src/Languages/Russian/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Russian/resource.h +++ b/Src/Languages/Russian/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Slovak/MergeSlovak.rc b/Src/Languages/Slovak/MergeSlovak.rc index e88dc0775..cf4553c6b 100644 --- a/Src/Languages/Slovak/MergeSlovak.rc +++ b/Src/Languages/Slovak/MergeSlovak.rc @@ -461,10 +461,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,206,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Slovak/resource.h b/Src/Languages/Slovak/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Slovak/resource.h +++ b/Src/Languages/Slovak/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Spanish/MergeSpanish.rc b/Src/Languages/Spanish/MergeSpanish.rc index 7d801dc2d..72d704caa 100644 --- a/Src/Languages/Spanish/MergeSpanish.rc +++ b/Src/Languages/Spanish/MergeSpanish.rc @@ -460,10 +460,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,206,10 CONTROL "&Close compare Statepane automatically",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/Languages/Spanish/resource.h b/Src/Languages/Spanish/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Spanish/resource.h +++ b/Src/Languages/Spanish/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/Languages/Swedish/MergeSwedish.rc b/Src/Languages/Swedish/MergeSwedish.rc index f0e9750f9..cc58afeec 100644 --- a/Src/Languages/Swedish/MergeSwedish.rc +++ b/Src/Languages/Swedish/MergeSwedish.rc @@ -460,10 +460,12 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,7,27,206,10 CONTROL "&Stäng jämför Statepane automatiskt",IDC_CMPPANE_AUTOCLOSE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Återställ",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Återställ",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Tryck på knappen för att återställa alla meddelanderutor",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 162 diff --git a/Src/Languages/Swedish/resource.h b/Src/Languages/Swedish/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/Languages/Swedish/resource.h +++ b/Src/Languages/Swedish/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/Src/MainFrm.cpp b/Src/MainFrm.cpp index e4cefc9aa..4171ee038 100644 --- a/Src/MainFrm.cpp +++ b/Src/MainFrm.cpp @@ -195,6 +195,7 @@ CMainFrame::CMainFrame() m_options.InitOption(OPT_AUTOCLOSE_CMPPANE, FALSE); m_options.InitOption(OPT_MERGE_MODE, FALSE); m_options.InitOption(OPT_UNREC_APPLYSYNTAX, FALSE); + m_options.InitOption(OPT_CLOSE_WITH_ESC, TRUE); m_options.InitOption(OPT_CMP_IGNORE_WHITESPACE, 0); m_options.InitOption(OPT_CMP_IGNORE_BLANKLINES, FALSE); @@ -1112,6 +1113,9 @@ void CMainFrame::SetEOLMixed(BOOL bAllow) ApplyViewWhitespace(); } +/** + * @brief Opens Options-dialog and saves changed options + */ void CMainFrame::OnOptions() { CString sExtEditor; @@ -1136,6 +1140,7 @@ void CMainFrame::OnOptions() gen.m_bScroll = m_options.GetInt(OPT_SCROLL_TO_FIRST); gen.m_bDisableSplash = m_options.GetInt(OPT_DISABLE_SPLASH); gen.m_bAutoCloseCmpPane = m_options.GetInt(OPT_AUTOCLOSE_CMPPANE); + gen.m_bCloseWindowWithEsc = m_options.GetInt(OPT_CLOSE_WITH_ESC); regpage.m_strEditorPath = m_options.GetString(OPT_EXT_EDITOR_CMD); regpage.GetContextRegValues(); regpage.m_bUseRecycleBin = m_options.GetInt(OPT_USE_RECYCLE_BIN); @@ -1161,6 +1166,7 @@ void CMainFrame::OnOptions() m_options.SaveOption(OPT_SCROLL_TO_FIRST, gen.m_bScroll); m_options.SaveOption(OPT_DISABLE_SPLASH, gen.m_bDisableSplash); m_options.SaveOption(OPT_AUTOCLOSE_CMPPANE, gen.m_bAutoCloseCmpPane); + m_options.SaveOption(OPT_CLOSE_WITH_ESC, gen.m_bCloseWindowWithEsc); m_options.SaveOption(OPT_USE_RECYCLE_BIN, regpage.m_bUseRecycleBin); regpage.SaveMergePath(); sExtEditor = regpage.m_strEditorPath; diff --git a/Src/Merge.rc b/Src/Merge.rc index 1976f225d..184a4e146 100644 --- a/Src/Merge.rc +++ b/Src/Merge.rc @@ -462,10 +462,12 @@ BEGIN CONTROL "&Close compare Statepane automatically", IDC_CMPPANE_AUTOCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,37,206,10 - PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,57,49,13,NOT + CONTROL "Cl&ose windows with ESC",IDC_ESC_CLOSES_WINDOW,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,47,90,10 + PUSHBUTTON "Reset",IDC_RESET_ALL_MESSAGE_BOXES,167,67,49,13,NOT WS_TABSTOP LTEXT "Press button to reset all message boxes",IDC_STATIC,7, - 59,157,8 + 69,157,8 END IDD_LANGUAGE_SELECT DIALOG 0, 0, 213, 111 diff --git a/Src/MergeEditView.cpp b/Src/MergeEditView.cpp index 9b0a092d7..902f78c65 100644 --- a/Src/MergeEditView.cpp +++ b/Src/MergeEditView.cpp @@ -65,6 +65,7 @@ CMergeEditView::CMergeEditView() SetParser(&m_xParser); m_bAutomaticRescan = FALSE; fTimerWaitingForIdle = 0; + m_bCloseWithEsc = mf->m_options.GetInt(OPT_CLOSE_WITH_ESC); m_bSyntaxHighlight = mf->m_options.GetInt(OPT_SYNTAX_HIGHLIGHT); m_cachedColors.clrDiff = mf->m_options.GetInt(OPT_CLR_DIFF); @@ -1461,6 +1462,9 @@ BOOL CMergeEditView::PreTranslateMessage(MSG* pMsg) // Check if we got 'ESC pressed' -message if (pMsg->wParam == VK_ESCAPE) { + if (!m_bCloseWithEsc) + return CCrystalEditViewEx::PreTranslateMessage(pMsg); + // Ask about saving unsaved document, allow to cancel closing CMergeDoc *pd = GetDocument(); if (pd->SaveHelper(TRUE)) @@ -2055,6 +2059,8 @@ void CMergeEditView::OnUpdateWMGoto(CCmdUI* pCmdUI) */ void CMergeEditView::RefreshOptions() { + m_bCloseWithEsc = mf->m_options.GetInt(OPT_CLOSE_WITH_ESC); + m_bSyntaxHighlight = mf->m_options.GetInt(OPT_SYNTAX_HIGHLIGHT); m_cachedColors.clrDiff = mf->m_options.GetInt(OPT_CLR_DIFF); m_cachedColors.clrSelDiff = mf->m_options.GetInt(OPT_CLR_SELECTED_DIFF); diff --git a/Src/MergeEditView.h b/Src/MergeEditView.h index 71b1e575f..619b2ed8b 100644 --- a/Src/MergeEditView.h +++ b/Src/MergeEditView.h @@ -128,6 +128,7 @@ private: BOOL fTimerWaitingForIdle; COLORSETTINGS m_cachedColors; /**< Cached color settings */ BOOL m_bSyntaxHighlight; /**< Cached setting for syntax highlight */ + BOOL m_bCloseWithEsc; /**< Cached setting for closing windows with ESC */ /// active prediffer ID : helper to check the radio button int m_CurrentPredifferID; diff --git a/Src/OptionsDef.h b/Src/OptionsDef.h index cffd874ac..eb16bc346 100644 --- a/Src/OptionsDef.h +++ b/Src/OptionsDef.h @@ -34,6 +34,7 @@ const TCHAR OPT_EXT_EDITOR_CMD[] = _T("Settings/ExternalEditor"); const TCHAR OPT_USE_RECYCLE_BIN[] = _T("Settings/UseRecycleBin"); const TCHAR OPT_AUTOCLOSE_CMPPANE[] = _T("Settings/AutoCloseCmpPane"); const TCHAR OPT_MERGE_MODE[] = _T("Settings/MergingMode"); +const TCHAR OPT_CLOSE_WITH_ESC[] = _T("Settings/CloseWithEsc"); // Color options // The difference color diff --git a/Src/PropGeneral.cpp b/Src/PropGeneral.cpp index 110350922..d6264c05a 100644 --- a/Src/PropGeneral.cpp +++ b/Src/PropGeneral.cpp @@ -18,8 +18,14 @@ // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // ///////////////////////////////////////////////////////////////////////////// -// PropGeneral.cpp : implementation file -// +/** + * @file PropGeneral.h + * + * @brief Implementation file for CPropGeneral propertyheet + * + */ +// RCS ID line follows -- this is updated by CVS +// $Id$ #include "stdafx.h" #include "merge.h" @@ -36,6 +42,9 @@ static char THIS_FILE[] = __FILE__; IMPLEMENT_DYNCREATE(CPropGeneral, CPropertyPage) +/** + * @brief Constructor initialising members. + */ CPropGeneral::CPropGeneral() : CPropertyPage(CPropGeneral::IDD) { //{{AFX_DATA_INIT(CPropGeneral) @@ -43,6 +52,7 @@ CPropGeneral::CPropGeneral() : CPropertyPage(CPropGeneral::IDD) m_bScroll = FALSE; m_bDisableSplash = FALSE; m_bAutoCloseCmpPane = FALSE; + m_bCloseWindowWithEsc = TRUE; //}}AFX_DATA_INIT } @@ -66,6 +76,7 @@ void CPropGeneral::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_SCROLL_CHECK, m_bScroll); DDX_Check(pDX, IDC_DISABLE_SPLASH, m_bDisableSplash); DDX_Check(pDX, IDC_CMPPANE_AUTOCLOSE, m_bAutoCloseCmpPane); + DDX_Check(pDX, IDC_ESC_CLOSES_WINDOW, m_bCloseWindowWithEsc); //}}AFX_DATA_MAP } @@ -79,8 +90,10 @@ END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPropGeneral message handlers - -void CPropGeneral::OnResetAllMessageBoxes() +/** + * @brief Called when user wants to see all messageboxes again. + */ +void CPropGeneral::OnResetAllMessageBoxes() { CMessageBoxDialog::ResetMessageBoxes(); AfxMessageBox(ID_MESSAGE_BOX_ARE_RESET, MB_ICONINFORMATION); diff --git a/Src/PropGeneral.h b/Src/PropGeneral.h index b306c811e..ec7652c63 100644 --- a/Src/PropGeneral.h +++ b/Src/PropGeneral.h @@ -3,6 +3,8 @@ * * @brief Declaration of CPropGeneral class */ +// RCS ID line follows -- this is updated by CVS +// $Id$ #if !defined(AFX_PROPGENERAL_H__30AD07B0_E420_11D1_BBC5_00A024706EDC__INCLUDED_) #define AFX_PROPGENERAL_H__30AD07B0_E420_11D1_BBC5_00A024706EDC__INCLUDED_ @@ -11,6 +13,9 @@ ///////////////////////////////////////////////////////////////////////////// // CPropGeneral dialog +/** + * @brief Class for General options -propertypage. + */ class CPropGeneral : public CPropertyPage { DECLARE_DYNCREATE(CPropGeneral) @@ -27,6 +32,7 @@ public: BOOL m_bScroll; BOOL m_bDisableSplash; BOOL m_bAutoCloseCmpPane; + BOOL m_bCloseWindowWithEsc; //}}AFX_DATA diff --git a/Src/readme.txt b/Src/readme.txt index f988a0a13..9c3d4eb57 100644 --- a/Src/readme.txt +++ b/Src/readme.txt @@ -1,3 +1,9 @@ +2004-05-03 Kimmo + PATCH: [ 942565 ] Option for closing windows with ESC + Src: DirDoc.cpp DirView.cpp DirView.h MainFrm.cpp Merge.rc MergeEditView.cpp + MergeEditView.h OptionsDef.h PropGeneral.cpp PropGeneral.h resource.h + Languages: *.rc resource.h + 2004-05-03 Laoran PATCH: [ 946091 ] Fix for GetLineActualLength Src/editlib: ccrystaltextview.cpp diff --git a/Src/resource.h b/Src/resource.h index 9cf8a4350..9331fd973 100644 --- a/Src/resource.h +++ b/Src/resource.h @@ -351,6 +351,7 @@ #define IDC_OPEN_STATUS 1128 #define IDC_FILTERFILE_EDITBTN 1129 #define IDC_FILTERFILE_LIST 1130 +#define IDC_ESC_CLOSES_WINDOW 1131 #define IDS_NUM_REPLACED 8501 #define IDS_EDIT_TEXT_NOT_FOUND 8502 #define IDS_LINE_STATUS_INFO_EOL 8503 @@ -634,7 +635,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 32880 -#define _APS_NEXT_CONTROL_VALUE 1131 +#define _APS_NEXT_CONTROL_VALUE 1132 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif