From aed6bdf267bdb9c42e5c3e15da62208a864015f1 Mon Sep 17 00:00:00 2001 From: Don Ho Date: Mon, 27 Apr 2009 23:17:51 +0000 Subject: [PATCH] [BUG_FIXED] Fixed crash bug : Double click a file associated with an older version of Notepad++ while a newer version of Notepad++ instance is running. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@467 f5eea248-9336-0410-98b8-ebc06183d4e3 --- PowerEditor/installer/nppSetup.nsi | 114 +++++++++++++++++- PowerEditor/installer/packageAll.bat | 3 + PowerEditor/src/Notepad_plus.cpp | 5 +- PowerEditor/src/Parameters.cpp | 8 +- PowerEditor/src/Parameters.h | 2 +- .../src/ScitillaComponent/AutoCompletion.cpp | 3 + .../WinControls/ColourPicker/WordStyleDlg.rc | 2 +- PowerEditor/src/resource.h | 6 +- 8 files changed, 132 insertions(+), 11 deletions(-) diff --git a/PowerEditor/installer/nppSetup.nsi b/PowerEditor/installer/nppSetup.nsi index 1fe185994..2a35671b9 100644 --- a/PowerEditor/installer/nppSetup.nsi +++ b/PowerEditor/installer/nppSetup.nsi @@ -17,18 +17,18 @@ ; Define the application name !define APPNAME "Notepad++" -!define APPVERSION "5.3.1" -!define APPNAMEANDVERSION "Notepad++ v5.3.1" +!define APPVERSION "5.4" +!define APPNAMEANDVERSION "Notepad++ v5.4" !define APPWEBSITE "http://notepad-plus.sourceforge.net/" !define VERSION_MAJOR 5 -!define VERSION_MINOR 31 +!define VERSION_MINOR 4 ; Main Install settings Name "${APPNAMEANDVERSION}" InstallDir "$PROGRAMFILES\Notepad++" InstallDirRegKey HKLM "Software\${APPNAME}" "" -OutFile "..\bin\npp.5.3.1.Installer.exe" +OutFile "..\bin\npp.5.4.Installer.exe" ; GetWindowsVersion ; @@ -662,6 +662,60 @@ SubSection "Plugins" Plugins SectionEnd SubSectionEnd +SubSection "Themes" Themes + SetOverwrite off + Section "Black Board" BlackBoard + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Black board.xml" + SectionEnd + + Section "Choco" Choco + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Choco.xml" + SectionEnd + + Section "Hello Kitty" HelloKitty + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Hello Kitty.xml" + SectionEnd + + Section "Mono Industrial" MonoIndustrial + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Mono Industrial.xml" + SectionEnd + + Section "Monokai" Monokai + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Monokai.xml" + SectionEnd + + Section "Obsidian" Obsidian + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Obsidian.xml" + SectionEnd + + Section "Plastic Code Wrap" PlasticCodeWrap + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Plastic Code Wrap.xml" + SectionEnd + + Section "Ruby Blue" RubyBlue + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Ruby Blue.xml" + SectionEnd + + Section "Twilight" Twilight + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Twilight.xml" + SectionEnd + + Section "Vibrant Ink" VibrantInk + SetOutPath "$INSTDIR\themes" + File "..\bin\themes\Vibrant Ink.xml" + SectionEnd + +SubSectionEnd + Section /o "As default html viewer" htmlViewer SetOutPath "$INSTDIR\" File "..\bin\nppIExplorerShell.exe" @@ -913,6 +967,58 @@ SubSection un.Plugins SectionEnd SubSectionEnd +SubSection un.Themes + Section un.BlackBoard + Delete "$INSTDIR\themes\Black board.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.Choco + Delete "$INSTDIR\themes\Choco.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.HelloKitty + Delete "$INSTDIR\themes\Hello Kitty.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.MonoIndustrial + Delete "$INSTDIR\themes\Mono Industrial.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.Monokai + Delete "$INSTDIR\themes\Monokai.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.Obsidian + Delete "$INSTDIR\themes\Obsidian.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.PlasticCodeWrap + Delete $INSTDIR\themes\Plastic Code Wrap.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.RubyBlue + Delete $INSTDIR\themes\Ruby Blue.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.Twilight + Delete $INSTDIR\themes\Twilight.xml" + RMDir "$INSTDIR\themes\" + SectionEnd + + Section un.VibrantInk + Delete $INSTDIR\themes\Vibrant Ink.xml" + RMDir "$INSTDIR\themes\" + SectionEnd +SubSectionEnd + Section un.htmlViewer DeleteRegKey HKLM "SOFTWARE\Microsoft\Internet Explorer\View Source Editor" Delete "$INSTDIR\nppIExplorerShell.exe" diff --git a/PowerEditor/installer/packageAll.bat b/PowerEditor/installer/packageAll.bat index f31835dca..02575ed9a 100644 --- a/PowerEditor/installer/packageAll.bat +++ b/PowerEditor/installer/packageAll.bat @@ -1,4 +1,5 @@ copy /Y ".\nativeLang\*.*" ..\bin\localization + cd ..\bin\ del /F /S /Q .\zipped.package.release\unicode\*.* @@ -20,6 +21,7 @@ copy /Y ".\plugins\APIs\*.xml" .\zipped.package.release\unicode\plugins\APIs copy /Y ".\plugins\doc\*.*" .\zipped.package.release\unicode\plugins\doc copy /Y ".\plugins\Config\tidy\*.*" .\zipped.package.release\unicode\plugins\Config\tidy copy /Y ".\localization\*.*" .\zipped.package.release\unicode\localization +copy /Y ".\themes\*.*" .\zipped.package.release\unicode\themes del /F /S /Q .\zipped.package.release\ansi\config.xml @@ -39,6 +41,7 @@ copy /Y shortcuts.xml .\zipped.package.release\ansi\ copy /Y doLocalConf.xml .\zipped.package.release\ansi\ copy /Y LINEDRAW.TTF .\zipped.package.release\ansi\ copy /Y ".\plugins\Config\tidy\*.*" .\zipped.package.release\ansi\plugins\Config\tidy +copy /Y ".\themes\*.*" .\zipped.package.release\ansi\themes "C:\Program Files\7-Zip\7z.exe" a -tzip -r npp.bin.zip .\zipped.package.release\* "C:\Program Files\7-Zip\7z.exe" a -r npp.bin.7z .\zipped.package.release\* diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp index 5b05d2193..6973e3004 100644 --- a/PowerEditor/src/Notepad_plus.cpp +++ b/PowerEditor/src/Notepad_plus.cpp @@ -2069,6 +2069,9 @@ generic_string Notepad_plus::getLangDesc(LangType langType, bool shortDesc) return generic_string(elc._desc); } + if (langType > L_EXTERNAL) + langType = L_TXT; + generic_string str2Show = ScintillaEditView::langNames[langType].longName; if (langType == L_USER) @@ -9799,7 +9802,7 @@ void Notepad_plus::loadCommandlineParams(const TCHAR * commandLine, CmdLineParam lastOpened = bufID; - if (lt != L_EXTERNAL) + if (lt != L_EXTERNAL && lt < NppParameters::getInstance()->L_END) { Buffer * pBuf = MainFileManager->getBufferByID(bufID); pBuf->setLangType(lt); diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp index 8ed58df14..1744dd9f5 100644 --- a/PowerEditor/src/Parameters.cpp +++ b/PowerEditor/src/Parameters.cpp @@ -579,7 +579,13 @@ bool NppParameters::reloadStylers(TCHAR *stylePath) _lexerStylerArray.eraseAll(); _widgetStyleArray.setNbStyler( 0 ); - return getUserStylersFromXmlTree(); + getUserStylersFromXmlTree(); + + // Reload plugin styles. + for( size_t i = 0; i < getExternalLexerDoc()->size(); i++) + { + getExternalLexerFromXmlTree( getExternalLexerDoc()->at(i) ); + } } bool NppParameters::reloadLang() diff --git a/PowerEditor/src/Parameters.h b/PowerEditor/src/Parameters.h index 76f4414ca..c71f629e3 100644 --- a/PowerEditor/src/Parameters.h +++ b/PowerEditor/src/Parameters.h @@ -898,7 +898,7 @@ public : }; void addDefaultThemeFromXml(generic_string xmlFullPath) { - _themeList.push_back(pair(TEXT("Default"), xmlFullPath)); + _themeList.push_back(pair(TEXT("Default (styles.xml)"), xmlFullPath)); }; generic_string getThemeFromXmlFileName(const TCHAR *fn) const; diff --git a/PowerEditor/src/ScitillaComponent/AutoCompletion.cpp b/PowerEditor/src/ScitillaComponent/AutoCompletion.cpp index ad14a07a4..af37db480 100644 --- a/PowerEditor/src/ScitillaComponent/AutoCompletion.cpp +++ b/PowerEditor/src/ScitillaComponent/AutoCompletion.cpp @@ -301,6 +301,9 @@ const TCHAR * AutoCompletion::getApiFileName() { if (_curLang >= L_EXTERNAL && _curLang < NppParameters::getInstance()->L_END) return NppParameters::getInstance()->getELCFromIndex(_curLang - L_EXTERNAL)._name; + if (_curLang > L_EXTERNAL) + _curLang = L_TXT; + return ScintillaEditView::langNames[_curLang].lexerName; } diff --git a/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.rc b/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.rc index 206f04c95..aa6ae9441 100644 --- a/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.rc +++ b/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.rc @@ -31,7 +31,7 @@ CAPTION "Style Configurator" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Switch to theme : ",IDC_SWITCH2THEME_STATIC,6,9,83,8,0,WS_EX_RIGHT - COMBOBOX IDC_SWITCH2THEME_COMBO,95,7,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SWITCH2THEME_COMBO,95,7,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP LTEXT "Foreground color",IDC_FG_STATIC,203,72,59,8,0,WS_EX_RIGHT LTEXT "Background color",IDC_BG_STATIC,203,99,59,8,0,WS_EX_RIGHT COMBOBOX IDC_FONT_COMBO,371,68,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP diff --git a/PowerEditor/src/resource.h b/PowerEditor/src/resource.h index dac1c87d4..85276e08f 100644 --- a/PowerEditor/src/resource.h +++ b/PowerEditor/src/resource.h @@ -18,9 +18,9 @@ #ifndef RESOURCE_H #define RESOURCE_H -#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ v5.3.1") -#define VERSION_VALUE TEXT("5.31\0") // should be X.Y : ie. if VERSION_DIGITALVALUE == 4, 7, 1, 0 , then X = 4, Y = 71 -#define VERSION_DIGITALVALUE 5, 3, 1, 0 +#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ v5.4") +#define VERSION_VALUE TEXT("5.4\0") // should be X.Y : ie. if VERSION_DIGITALVALUE == 4, 7, 1, 0 , then X = 4, Y = 71 +#define VERSION_DIGITALVALUE 5, 4, 0, 0 #ifdef UNICODE #define UNICODE_ANSI_MODE TEXT("(UNICODE)")