From 8ae442cdc9f3607907d929475bd422d6b77879ea Mon Sep 17 00:00:00 2001 From: donho Date: Tue, 1 Jan 2008 00:50:50 +0000 Subject: [PATCH] [[RELEASE_47] 4.7 release - modification of nppSetup.nsi to adapt the new xml model protection system. Swap back the main icon. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@93 f5eea248-9336-0410-98b8-ebc06183d4e3 --- PowerEditor/installer/nppSetup.nsi | 82 +-- PowerEditor/src/Parameters.cpp | 10 +- PowerEditor/src/icons/npp.ico | Bin 32038 -> 7406 bytes PowerEditor/src/stylers.model.xml | 944 ++++++++++++++--------------- 4 files changed, 504 insertions(+), 532 deletions(-) diff --git a/PowerEditor/installer/nppSetup.nsi b/PowerEditor/installer/nppSetup.nsi index fb644976c..1f592b1e4 100644 --- a/PowerEditor/installer/nppSetup.nsi +++ b/PowerEditor/installer/nppSetup.nsi @@ -296,7 +296,7 @@ Section -"Notepad++" mainSection ; if isLocal -> copy file "doLocalConf.xml" StrCmp $IS_LOCAL "1" 0 IS_NOT_LOCAL File "..\bin\doLocalConf.xml" - goto LANGS_XML + goto GLOBAL_INST IS_NOT_LOCAL: IfFileExists $INSTDIR\doLocalConf.xml 0 +2 @@ -305,64 +305,28 @@ IS_NOT_LOCAL: StrCpy $UPDATE_PATH "$APPDATA\Notepad++" CreateDirectory $UPDATE_PATH\plugins\config -LANGS_XML: - IfFileExists $INSTDIR\langs.xml 0 COPY_LANGS_XML - SetOutPath "$TEMP\" - File "langsModel.xml" - File "..\bin\langs.xml" - ;UPGRATE $INSTDIR\langs.xml - nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\langsModel.xml" "$TEMP\langs.xml" "$INSTDIR\langs.xml"' - Pop $0 - ;MessageBox MB_OK "$0" - StrCmp $0 "0" 0 COPY_LANGS_XML +GLOBAL_INST: + SetOutPath "$TEMP\" + File "langsModel.xml" + File "configModel.xml" + File "stylesLexerModel.xml" + File "stylesGlobalModel.xml" + + File "..\bin\langs.model.xml" + File "..\bin\config.model.xml" + File "..\bin\stylers.model.xml" + + ;UPGRATE $INSTDIR\langs.xml + nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\langsModel.xml" "$TEMP\langs.model.xml" "$INSTDIR\langs.xml"' + nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\configModel.xml" "$TEMP\config.model.xml" "$UPDATE_PATH\config.xml"' + nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\stylesLexerModel.xml" "$TEMP\stylers.model.xml" "$UPDATE_PATH\stylers.xml"' + nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\stylesGlobalModel.xml" "$TEMP\stylers.model.xml" "$UPDATE_PATH\stylers.xml"' - goto CONFIG_XML -COPY_LANGS_XML: - ;SetOutPath "$INSTDIR\" - File /oname=$INSTDIR\langs.xml "..\bin\langs.xml" - -CONFIG_XML: - StrCmp $UPDATE_PATH "$APPDATA\Notepad++" 0 +2 - File /oname=$INSTDIR\config.xml "..\bin\config.xml" - - IfFileExists $UPDATE_PATH\config.xml 0 COPY_CONFIG_XML - SetOutPath "$TEMP\" - File "configModel.xml" - File "..\bin\config.xml" - nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\configModel.xml" "$TEMP\config.xml" "$UPDATE_PATH\config.xml"' - Pop $0 - ;MessageBox MB_OK "$0" - StrCmp $0 "0" 0 COPY_CONFIG_XML - - goto STYLES_XML -COPY_CONFIG_XML: - ;SetOutPath "$INSTDIR\" - File /oname=$INSTDIR\config.xml "..\bin\config.xml" - -STYLES_XML: - StrCmp $UPDATE_PATH "$APPDATA\Notepad++" 0 +2 - File /oname=$INSTDIR\stylers.xml "..\bin\stylers.xml" - - IfFileExists $UPDATE_PATH\stylers.xml 0 COPY_STYLERS_XML - SetOutPath "$TEMP\" - File "stylesLexerModel.xml" - File "stylesGlobalModel.xml" - File "..\bin\stylers.xml" - nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\stylesLexerModel.xml" "$TEMP\stylers.xml" "$UPDATE_PATH\stylers.xml"' - Pop $0 - ;MessageBox MB_OK "$0" - StrCmp $0 "0" 0 COPY_STYLERS_XML - nsExec::ExecToStack '"$TEMP\xmlUpdater.exe" "$TEMP\stylesGlobalModel.xml" "$TEMP\stylers.xml" "$UPDATE_PATH\stylers.xml"' - Pop $0 - ;MessageBox MB_OK "$0" - StrCmp $0 "0" 0 COPY_STYLERS_XML - goto ALL_XML -COPY_STYLERS_XML: - ;SetOutPath "$INSTDIR\" - File /oname=$INSTDIR\stylers.xml "..\bin\stylers.xml" - -ALL_XML: SetOutPath "$INSTDIR\" + File "..\bin\langs.model.xml" + File "..\bin\config.model.xml" + File "..\bin\stylers.model.xml" + SetOverwrite off File "..\bin\contextMenu.xml" File "..\bin\shortcuts.xml" @@ -906,6 +870,7 @@ SubSection un.Plugins Delete "$INSTDIR\plugins\doc\NppExec_TechInfo.txt" Delete "$INSTDIR\plugins\Config\NppExec.ini" RMDir "$INSTDIR\plugins\" + RMDir "$INSTDIR\plugins\doc\" SectionEnd Section un.QuickText @@ -986,8 +951,11 @@ Section Uninstall Delete "$INSTDIR\config.xml" + Delete "$INSTDIR\config.model.xml" Delete "$INSTDIR\langs.xml" + Delete "$INSTDIR\langs.model.xml" Delete "$INSTDIR\stylers.xml" + Delete "$INSTDIR\stylers.model.xml" Delete "$INSTDIR\contextMenu.xml" Delete "$INSTDIR\shortcuts.xml" Delete "$INSTDIR\nativeLang.xml" diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp index c745ac391..db112e0f1 100644 --- a/PowerEditor/src/Parameters.cpp +++ b/PowerEditor/src/Parameters.cpp @@ -159,6 +159,13 @@ bool NppParameters::load(/*bool noUserPath*/) char configPath[MAX_PATH]; strcpy(configPath, userPath); PathAppend(configPath, "config.xml"); + + char srcConfigPath[MAX_PATH]; + strcpy(srcConfigPath, nppPath); + PathAppend(srcConfigPath, "config.model.xml"); + + if (!::PathFileExists(configPath)) + ::CopyFile(srcConfigPath, configPath, FALSE); _pXmlUserDoc = new TiXmlDocument(configPath); loadOkay = _pXmlUserDoc->LoadFile(); @@ -167,9 +174,6 @@ bool NppParameters::load(/*bool noUserPath*/) int res = ::MessageBox(NULL, "Load config.xml failed!\rDo you want to recover your config.xml?", "Configurator",MB_YESNO); if (res ==IDYES) { - char srcConfigPath[MAX_PATH]; - strcpy(srcConfigPath, nppPath); - PathAppend(srcConfigPath, "config.model.xml"); ::CopyFile(srcConfigPath, configPath, FALSE); loadOkay = _pXmlUserDoc->LoadFile(); diff --git a/PowerEditor/src/icons/npp.ico b/PowerEditor/src/icons/npp.ico index 22ebb119b344753ead578ed0f4d504d67b239d2b..bd272c7e7aef295ca9d9ae79313862a0175d284b 100644 GIT binary patch literal 7406 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 literal 32038 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 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -37,24 +144,6 @@ - - - - - - - - - - - - - - - - - - @@ -73,25 +162,141 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -109,6 +314,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -129,143 +433,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -301,6 +468,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -317,75 +521,16 @@ - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -394,69 +539,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -480,23 +562,85 @@ - + - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -517,165 +661,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +