From 4d12c5a857251ba2f122ffe109ed85a9404e84f7 Mon Sep 17 00:00:00 2001 From: kichik Date: Fri, 7 Apr 2006 18:49:03 +0000 Subject: [PATCH] fixed bug #1466486 - typo and menu problems in MakeNSISw git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4651 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/Makensisw/makensisw.cpp | 8 ++++---- Contrib/Makensisw/makensisw.h | 7 +------ Contrib/Makensisw/resource.h | 10 ++++++++-- Contrib/Makensisw/resource.rc | 34 ++++++++++++++++----------------- Contrib/Makensisw/toolbar.cpp | 4 ++-- Contrib/Makensisw/update.cpp | 2 +- Contrib/Makensisw/utils.cpp | 14 ++++++++++++++ Contrib/Makensisw/utils.h | 2 ++ 8 files changed, 49 insertions(+), 32 deletions(-) diff --git a/Contrib/Makensisw/makensisw.cpp b/Contrib/Makensisw/makensisw.cpp index 7036cf3c..bad61a04 100644 --- a/Contrib/Makensisw/makensisw.cpp +++ b/Contrib/Makensisw/makensisw.cpp @@ -106,9 +106,9 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { SendMessage(GetDlgItem(hwndDlg,IDC_LOGWIN),EM_SETEVENTMASK,NULL,ENM_SELCHANGE|ENM_MOUSEEVENTS|ENM_KEYEVENTS); DragAcceptFiles(g_sdata.hwnd,FALSE); g_sdata.menu = GetMenu(g_sdata.hwnd); - g_sdata.fileSubmenu = GetSubMenu(g_sdata.menu, FILE_MENU_INDEX); - g_sdata.editSubmenu = GetSubMenu(g_sdata.menu, EDIT_MENU_INDEX); - g_sdata.toolsSubmenu = GetSubMenu(g_sdata.menu, TOOLS_MENU_INDEX); + g_sdata.fileSubmenu = FindSubMenu(g_sdata.menu, IDM_FILE); + g_sdata.editSubmenu = FindSubMenu(g_sdata.menu, IDM_EDIT); + g_sdata.toolsSubmenu = FindSubMenu(g_sdata.menu, IDM_TOOLS); RestoreMRUList(); CreateToolBar(); InitTooltips(g_sdata.hwnd); @@ -1253,7 +1253,7 @@ void SetCompressor(NCOMPRESSOR compressor) } else { compressor = COMPRESSOR_SCRIPT; - command = IDM_SCRIPT; + command = IDM_COMPRESSOR_SCRIPT; compressor_name = ""; } g_sdata.compressor = compressor; diff --git a/Contrib/Makensisw/makensisw.h b/Contrib/Makensisw/makensisw.h index 4f74f02b..d71b8605 100644 --- a/Contrib/Makensisw/makensisw.h +++ b/Contrib/Makensisw/makensisw.h @@ -56,11 +56,6 @@ #define TIMEOUT 100 #define MINWIDTH 350 #define MINHEIGHT 180 -#define FILE_MENU_INDEX 0 -#define EDIT_MENU_INDEX 1 -#define SCRIPT_MENU_INDEX 2 -#define COMPRESSOR_MENU_INDEX 4 -#define TOOLS_MENU_INDEX 3 #define COMPRESSOR_MESSAGE "\n\nThe %s compressor created the smallest installer (%d bytes)." #define RESTORED_COMPRESSOR_MESSAGE "\n\nThe %s compressor created the smallest installer (%d bytes)." #define EXE_HEADER_COMPRESSOR_STAT "EXE header size:" @@ -112,7 +107,7 @@ char *compressor_display_names[] = {"Defined in Script/Compiler Default", "LZMA", "LZMA (solid)", "Best Compressor"}; -WORD compressor_commands[] = {IDM_SCRIPT, +WORD compressor_commands[] = {IDM_COMPRESSOR_SCRIPT, IDM_ZLIB, IDM_ZLIB_SOLID, IDM_BZIP2, diff --git a/Contrib/Makensisw/resource.h b/Contrib/Makensisw/resource.h index eadb9abd..80ea742b 100644 --- a/Contrib/Makensisw/resource.h +++ b/Contrib/Makensisw/resource.h @@ -83,7 +83,7 @@ #define IDM_BROWSESCR 40013 #define IDM_FORUM 40016 #define IDM_NSISUPDATE 40018 -#define IDM_SCRIPT 40020 +#define IDM_COMPRESSOR_SCRIPT 40020 #define IDM_ZLIB 40021 #define IDM_ZLIB_SOLID 40022 #define IDM_BZIP2 40023 @@ -96,13 +96,19 @@ #define IDM_BEST 40034 #define IDM_SETTINGS 40035 #define IDM_CANCEL 40036 +#define IDM_FILE 40037 +#define IDM_EDIT 40038 +#define IDM_SCRIPT 40039 +#define IDM_COMPRESSOR_SUBMENU 40040 +#define IDM_TOOLS 40041 +#define IDM_HELP 40042 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 133 -#define _APS_NEXT_COMMAND_VALUE 40037 +#define _APS_NEXT_COMMAND_VALUE 40043 #define _APS_NEXT_CONTROL_VALUE 1032 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/Contrib/Makensisw/resource.rc b/Contrib/Makensisw/resource.rc index 8ffb8671..368bb8f8 100644 --- a/Contrib/Makensisw/resource.rc +++ b/Contrib/Makensisw/resource.rc @@ -62,37 +62,37 @@ IDI_SHELL ICON "shell.ico" // Menu // -IDM_MENU MENU +IDM_MENU MENUEX BEGIN - POPUP "&File" + POPUP "&File", IDM_FILE BEGIN MENUITEM "&Save Output...", IDM_SAVE MENUITEM "&Load Script...\tCtrl+L", IDM_LOADSCRIPT - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "E&xit\tAlt+X", IDM_EXIT - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "", IDM_MRU_FILE END - POPUP "&Edit" + POPUP "&Edit", IDM_EDIT BEGIN MENUITEM "&Copy\tCtrl+C", IDM_COPYSELECTED MENUITEM "Copy &All", IDM_COPY - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "&Find...\tCtrl+F", IDM_FIND - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "&Select All\tCtrl+A", IDM_SELECTALL MENUITEM "Clear &Log Window\tCtrl+W", IDM_CLEARLOG END - POPUP "&Script" + POPUP "&Script", IDM_SCRIPT BEGIN MENUITEM "&Recompile\tCtrl+R", IDM_RECOMPILE MENUITEM "Test &Installer\tCtrl+T", IDM_TEST MENUITEM "Reco&mpile and Test\tCtrl+M", IDM_RECOMPILE_TEST MENUITEM "C&ancel compilation", IDM_CANCEL - MENUITEM SEPARATOR - POPUP "Set &Compressor" + MENUITEM "", -1, MFT_SEPARATOR + POPUP "Set &Compressor", IDM_COMPRESSOR_SUBMENU BEGIN - MENUITEM "&Defined in Script/Compiler Default", IDM_SCRIPT + MENUITEM "&Defined in Script/Compiler Default", IDM_COMPRESSOR_SCRIPT MENUITEM "&ZLIB", IDM_ZLIB MENUITEM "ZLIB (solid)", IDM_ZLIB_SOLID MENUITEM "BZI&P2", IDM_BZIP2 @@ -101,24 +101,24 @@ BEGIN MENUITEM "LZMA (solid)", IDM_LZMA_SOLID MENUITEM "&Best Compressor", IDM_BEST END - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "&Edit Script\tCtrl+E", IDM_EDITSCRIPT MENUITEM "Open Script &Folder\tCtrl+B", IDM_BROWSESCR END - POPUP "&Tools" + POPUP "&Tools", IDM_TOOLS BEGIN MENUITEM "&Settings..\tCtrl+S", IDM_SETTINGS - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "Clear Recent &Files List", IDM_CLEAR_MRU_LIST END - POPUP "&Help" + POPUP "&Help", IDM_HELP BEGIN MENUITEM "NSIS Users &Manual\tF1", IDM_DOCS - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "NSIS &Homepage", IDM_NSISHOME MENUITEM "NSIS &Forum", IDM_FORUM MENUITEM "NSIS &Update", IDM_NSISUPDATE - MENUITEM SEPARATOR + MENUITEM "", -1, MFT_SEPARATOR MENUITEM "&About MakeNSISW", IDM_ABOUT END END diff --git a/Contrib/Makensisw/toolbar.cpp b/Contrib/Makensisw/toolbar.cpp index 3cf23713..23273c4e 100644 --- a/Contrib/Makensisw/toolbar.cpp +++ b/Contrib/Makensisw/toolbar.cpp @@ -108,8 +108,8 @@ void CreateToolBar() SendMessage(g_toolbar.hwnd, TB_ADDBITMAP, IMAGECOUNT, (LONG) &tbBitmap); } - HMENU toolmenu = GetSubMenu(g_sdata.menu, SCRIPT_MENU_INDEX); - g_toolbar.dropdownmenu = GetSubMenu(toolmenu, COMPRESSOR_MENU_INDEX); + HMENU toolmenu = FindSubMenu(g_sdata.menu, IDM_SCRIPT); + g_toolbar.dropdownmenu = FindSubMenu(toolmenu, IDM_COMPRESSOR_SUBMENU); RECT rect; SendMessage(g_toolbar.hwnd, TB_GETITEMRECT, TBB_COMPRESSOR, (LPARAM) (LPRECT) &rect); g_toolbar.dropdownpoint.x = rect.left; diff --git a/Contrib/Makensisw/update.cpp b/Contrib/Makensisw/update.cpp index a7144a34..04601669 100644 --- a/Contrib/Makensisw/update.cpp +++ b/Contrib/Makensisw/update.cpp @@ -119,7 +119,7 @@ DWORD CALLBACK UpdateThread(LPVOID v) { ShellExecute(g_sdata.hwnd,"open",NSIS_DL_URL,NULL,NULL,SW_SHOWNORMAL); } } - else MessageBox(g_sdata.hwnd,"There is no update available for NSIS at this time.","NSIS pdate",MB_OK|MB_ICONINFORMATION); + else MessageBox(g_sdata.hwnd,"There is no update available for NSIS at this time.","NSIS Update",MB_OK|MB_ICONINFORMATION); GlobalFree(response); delete get; EnableMenuItem(g_sdata.menu,IDM_NSISUPDATE,MF_ENABLED); diff --git a/Contrib/Makensisw/utils.cpp b/Contrib/Makensisw/utils.cpp index da588911..e990f1e5 100644 --- a/Contrib/Makensisw/utils.cpp +++ b/Contrib/Makensisw/utils.cpp @@ -920,3 +920,17 @@ BOOL FileExists(char *fname) return true; } } + +HMENU FindSubMenu(HMENU hMenu, UINT uId) +{ + MENUITEMINFO mii = { + sizeof(MENUITEMINFO), + MIIM_SUBMENU, + }; + + mii.hSubMenu = NULL; + + GetMenuItemInfo(hMenu, uId, FALSE, &mii); + + return mii.hSubMenu; +} diff --git a/Contrib/Makensisw/utils.h b/Contrib/Makensisw/utils.h index d0b5a216..a2755973 100644 --- a/Contrib/Makensisw/utils.h +++ b/Contrib/Makensisw/utils.h @@ -60,4 +60,6 @@ void LoadMRUFile(int position); void ClearMRUList(); BOOL FileExists(char *fname); + +HMENU FindSubMenu(HMENU hMenu, UINT uId); #endif \ No newline at end of file