From 8d4f1a36c5f7b68c4b602292b0a73b2323018398 Mon Sep 17 00:00:00 2001 From: Don Ho Date: Sat, 21 Jul 2012 00:46:03 +0000 Subject: [PATCH] [NEW_FEATURE] (Author: Andreas Jonsson) Make Document map togglable via menu. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@931 f5eea248-9336-0410-98b8-ebc06183d4e3 --- PowerEditor/src/NppBigSwitch.cpp | 6 ++++++ PowerEditor/src/NppCommands.cpp | 12 +++++++++++- .../src/WinControls/DocumentMap/documentMap.cpp | 2 ++ .../src/WinControls/DocumentMap/documentMap.h | 4 ++++ PowerEditor/src/resource.h | 1 + 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/PowerEditor/src/NppBigSwitch.cpp b/PowerEditor/src/NppBigSwitch.cpp index 243996d82..1e385930d 100644 --- a/PowerEditor/src/NppBigSwitch.cpp +++ b/PowerEditor/src/NppBigSwitch.cpp @@ -1881,6 +1881,12 @@ LRESULT Notepad_plus::process(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa return FALSE; } + case NPPM_INTERNAL_SETDOCMAPCHECK: + { + checkMenuItem(IDM_VIEW_DOC_MAP, lParam == TRUE ? true : false); + return TRUE; + } + // // These are sent by Preferences Dialog // diff --git a/PowerEditor/src/NppCommands.cpp b/PowerEditor/src/NppCommands.cpp index 6a3f9d026..d9d65e9dc 100644 --- a/PowerEditor/src/NppCommands.cpp +++ b/PowerEditor/src/NppCommands.cpp @@ -327,7 +327,17 @@ void Notepad_plus::command(int id) case IDM_VIEW_DOC_MAP: { - launchDocMap(); + if(_pDocMap && _pDocMap->isVisible()) + { + _pDocMap->display(false); + _pDocMap->vzDlgDisplay(false); + checkMenuItem(IDM_VIEW_DOC_MAP, false); + } + else + { + checkMenuItem(IDM_VIEW_DOC_MAP, true); + launchDocMap(); + } } break; diff --git a/PowerEditor/src/WinControls/DocumentMap/documentMap.cpp b/PowerEditor/src/WinControls/DocumentMap/documentMap.cpp index 56bd3be59..26f562fa5 100644 --- a/PowerEditor/src/WinControls/DocumentMap/documentMap.cpp +++ b/PowerEditor/src/WinControls/DocumentMap/documentMap.cpp @@ -309,6 +309,7 @@ BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara { case DMN_CLOSE: { + ::SendMessage(_hParent, NPPM_INTERNAL_SETDOCMAPCHECK, 0, FALSE); _vzDlg.display(false); return TRUE; } @@ -322,6 +323,7 @@ BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara case DMN_SWITCHOFF: { + ::SendMessage(_hParent, NPPM_INTERNAL_SETDOCMAPCHECK, 0, FALSE); _vzDlg.display(false); return TRUE; } diff --git a/PowerEditor/src/WinControls/DocumentMap/documentMap.h b/PowerEditor/src/WinControls/DocumentMap/documentMap.h index e4f26e33f..0e81f2aaf 100644 --- a/PowerEditor/src/WinControls/DocumentMap/documentMap.h +++ b/PowerEditor/src/WinControls/DocumentMap/documentMap.h @@ -114,6 +114,10 @@ public: _hParent = parent2set; }; + void vzDlgDisplay(bool toShow = true) { + _vzDlg.display(toShow); + } + void reloadMap(); void wrapMap(); void initWrapMap(); diff --git a/PowerEditor/src/resource.h b/PowerEditor/src/resource.h index 72674bf59..4b72bffda 100644 --- a/PowerEditor/src/resource.h +++ b/PowerEditor/src/resource.h @@ -375,6 +375,7 @@ #define NPPM_INTERNAL_RECENTFILELIST_UPDATE (NOTEPADPLUS_USER_INTERNAL + 35) #define NPPM_INTERNAL_RECENTFILELIST_SWITCH (NOTEPADPLUS_USER_INTERNAL + 36) #define NPPM_INTERNAL_GETSCINTEDTVIEW (NOTEPADPLUS_USER_INTERNAL + 37) + #define NPPM_INTERNAL_SETDOCMAPCHECK (NOTEPADPLUS_USER_INTERNAL + 38) //wParam: 0 //lParam: document new index