Update of /cvsroot/anyedit/AnyEditBin In directory sc8-pr-cvs1:/tmp/cvs-serv23780 Modified Files: AnyEdit.exe BCGCB473.dll License.txt SciLexer.dll Added Files: AnyEdit.nsi ChangeLog.txt ToDo.txt ZipDLL.nsh download.ini download.nsh Log Message: Beta 2 testers release .... --- NEW FILE: AnyEdit.nsi --- ;AnyEdit Installer ;Copied heavily from Filezilla installer :) !define VERSION "v2.0 Beta 2" Name "AnyEdit ${VERSION}" ;Define your own software name here !include "MUI.nsh" !include "download.nsh" !define SOURCE_MIRROR_LOCATION "http://anyedit.sourceforge.net/install_data/2beta2/mirrors.txt" !define SOURCE_PACKAGE_FILE "AnyEdit2_Beta2_src.zip" ;Download dialog LangString DownloadDialogNext ${CURLANG} "&Install" LangString DownloadDialog1 ${CURLANG} "The following components are not included in the installer to reduce its size:" LangString DownloadDialog3 ${CURLANG} "To install these components, the installer can download the required files. If you do not want to download the files now, you can run the installer again later, or you can download the files manually from http://filezilla.sourceforge.net" LangString DownloadDialog4 ${CURLANG} "Download and Install from the internet" LangString DownloadDialog5 ${CURLANG} "Skip these components" LangString DownloadDialog6 ${CURLANG} "Use local package directory (enter below):" LangString DownloadDialog8 ${CURLANG} "When using the package directory, the installer will save all downloaded files in this directory. It will also only download the files which aren't already present in the package directory." ;Download strings LangString DownloadDownloading ${CURLANG} "Downloading $0" LangString DownloadRetrievingMirrorList ${CURLANG} " Retrieving mirror list from $1" ;Do not remove the leading two whitespaces LangString DownloadDownloadFailed ${CURLANG} " Download failed: $0" ;Do not remove the leading two whitespaces LangString DownloadMirrorDownloadFailedBox ${CURLANG} "Failed to download mirror list for $0. Reason: $R1$\nThis component will not be installed.$\nRun the installer again later to retry downloading this component.$\nIf this error stays, the installer may not able to access the internet. In any case you can download the components manually from http://www.anyedit.org" LangString DownloadDownloadCancelled ${CURLANG} " Download cancelled" ;Do not remove the leading two whitespaces LangString DownloadRetrievingMirrorListSuccessful ${CURLANG} " Mirror list download successful" ;Do not remove the leading two whitespaces LangString DownloadUsingMirror ${CURLANG} " Using mirror $R3" ;Do not remove the leading two whitespaces LangString DownloadDownloadFailedBox ${CURLANG} "Failed to download $0. Reason: $R1$\nThis component will not be installed.$\nRun the installer again later to retry downloading this component.$\nIf this error stays, the installer may not able to access the internet. In any case you can download the components manually from http://filezilla.sourceforge.net" LangString DownloadDownloadSuccessful ${CURLANG} " Download successful" ;Do not remove the leading two whitespaces LangString DownloadExtractFailedBox ${CURLANG} "Failed to extract contents of $0. Reason: $R1$\nThis component will not be installed." ;-------------------------------- ;Configuration ;General OutFile "AESetupB20.exe" ;Folder selection page InstallDir "$PROGRAMFILES\AnyEdit" ;Remember install folder InstallDirRegKey HKCU "Software\AnyEdit" "" ;-------------------------------- ;Modern UI Configuration !insertmacro MUI_PAGE_LICENSE "license.txt" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY ; !insertmacro MUI_PAGE_STARTMENU Page custom DownloadOptions !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;Languages !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ;Language Strings ;Description LangString DESC_SecMain ${LANG_ENGLISH} "Install AnyEdit" LangString DESC_StartMenu ${LANG_ENGLISH} "Install Startup Menu shortcuts" LangString DESC_SecDesktop ${LANG_ENGLISH} "Create desktop shortcut for launching AnyEdit" LangString DESC_SecQuick ${LANG_ENGLISH} "Create Quick Launch shortcut for launching AnyEdit" LangString DESC_SecCode ${LANG_ENGLISH} "Downloads source code from AnyEdit website." ;-------------------------------- ;Data LicenseData ".\License.txt" ;-------------------------------- ;Reserve Files ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression !insertmacro MUI_RESERVEFILE_WELCOMEFINISHPAGE BrandingText "NSIS" ;-------------------------------- ;Reserve Files ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression !insertmacro MUI_RESERVEFILE_LANGDLL ReserveFile "download.ini" !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ReserveFile "${NSISDIR}\Plugins\NSISdl.dll" ;-------------------------------- ;Installer Sections InstType "Standard" InstType "Full" Section "!AnyEdit" SecMain SectionIn 1 2 RO ###This must remain only for the alphas DeleteRegKey HKEY_CURRENT_USER "Software\DeepSoft\AnyEdit" ####------Remember SetOutPath $INSTDIR SetOverwrite on File 'AnyEdit.exe' File 'BCGCB473.dll' File 'SciLexer.dll' File 'AnyEdit.chm' File 'grep.exe' File 'Readme.txt' File 'Changelog.txt' File 'License.txt' File 'Todo.txt' File 'UserImages.bmp' File 'gnu_regex.dll' CreateDirectory '$INSTDIR\Plugins' SetOutPath $INSTDIR\Plugins File './Plugins\*.dll' CreateDirectory '$INSTDIR\Favourites' CreateDirectory '$INSTDIR\Clips' SetOutPath $INSTDIR\Clips File './Clips\*' CreateDirectory '$INSTDIR\Syntax' SetOutPath $INSTDIR\Syntax File './Syntax\*' CreateDirectory '$INSTDIR\StartPage' SetOutPath $INSTDIR\StartPage File './StartPage\*' CreateDirectory '$INSTDIR\temp' SetOutPath $INSTDIR\temp File './License.txt' #####---- Creating workspace information -----####### CreateDirectory '$INSTDIR\Templates' CreateDirectory '$INSTDIR\Templates\File' CreateDirectory '$INSTDIR\Templates\File\Html' SetOutPath $INSTDIR\Templates\File\Html File './Templates/File/Html\*' CreateDirectory '$INSTDIR\Templates\File\Java' SetOutPath $INSTDIR\Templates\File\Java File './Templates/File/Java\*' CreateDirectory '$INSTDIR\Templates\Project' CreateDirectory '$INSTDIR\Templates\Project\Blank Project' SetOutPath '$INSTDIR\Templates\Project\Blank Project' File '.\Templates\Project\Blank Project\*' CreateDirectory '$INSTDIR\Templates\Project\Java Applet' SetOutPath '$INSTDIR\Templates\Project\Java Applet' File '.\Templates\Project\Java Applet\*' CreateDirectory '$INSTDIR\Templates\Project\Java Applet\Files' SetOutPath '$INSTDIR\Templates\Project\Java Applet\Files' File '.\Templates\Project\Java Applet\Files\*' WriteUninstaller "$INSTDIR\Uninstall.exe" WriteRegStr HKCU "Software\AnyEdit" "" $INSTDIR SectionEnd Section "Download Source Code" SecSourceCode SectionIn 2 AddSize 1488 Push $1 Push $2 SetOutPath $INSTDIR StrCpy $0 ${SOURCE_PACKAGE_FILE} StrCpy $1 ${SOURCE_MIRROR_LOCATION} StrCpy $2 $INSTDIR call DownloadAndExtract Pop $0 StrCmp $0 success "" source_failure StrCpy $0 "source" goto source_end source_failure: StrCpy $0 "" source_end: Pop $2 Pop $1 SectionEnd Section "Start menu shortcuts" SecStartMenu SectionIn 1 2 SetOutPath $SMPROGRAMS\AnyEditPro CreateShortCut '$SMPROGRAMS\AnyEditPro\AnyEdit.lnk' '$INSTDIR\AnyEdit.exe' SectionEnd Section "Desktop Shortcut" SecDesktop SectionIn 1 2 SetOutPath $INSTDIR CreateShortCut '$DESKTOP\AnyEdit Professional.lnk' '$INSTDIR\AnyEdit.exe' '/CD /PAUSE' SectionEnd Section "Quick Launch Shortcut" SecQuickLaunch SectionIn 2 SetOutPath $INSTDIR CreateShortCut '$QUICKLAUNCH\AnyEdit Professional.lnk' '$INSTDIR\AnyEdit.exe' '/CD /PAUSE' SectionEnd Section -post WriteRegStr HKEY_LOCAL_MACHINE SOFTWARE\AnyEditPro "" $INSTDIR WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\AnyEditPro" "DisplayName" "AnyEdit ${VERSION}" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\AnyEditPro" "UninstallString" "$INSTDIR\Uninstall.exe" SectionEnd ;-------------------------------- ;Descriptions !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecMain} $(DESC_SecMain) !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(DESC_StartMenu) !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} $(DESC_SecDesktop) !insertmacro MUI_DESCRIPTION_TEXT ${SecQuickLaunch} $(DESC_SecQuick) !insertmacro MUI_DESCRIPTION_TEXT ${SecSourceCode} $(DESC_SecCode) !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Uninstaller Section Section "Uninstall" DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\AnyEditPro" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\AnyEditPro" DeleteRegKey HKEY_CURRENT_USER "Software\DeepSoft\AnyEdit" DeleteRegKey HKEY_CURRENT_USER "Software\DeepSoft\AnyEdit Editor" DeleteRegKey HKEY_CURRENT_USER "Software\DeepSoft\AnyEdit" DeleteRegKey HKEY_CURRENT_USER "Software\DeepSoft" Delete $SMPROGRAMS\AnyEdit\*.lnk Delete $WINDIR\SendTo\AnyEdit.lnk RMDir $SMPROGRAMS\AnyEdit RMDir /r $INSTDIR !insertmacro MUI_UNFINISHHEADER SectionEnd Function DownloadOptions StrCpy $R1 "" SectionGetFlags 6 $R0 Intop $R0 $R0 & "0x1" StrCmp $R0 0 +5 StrCmp $R1 "" +2 StrCpy $R1 "$R1, " StrCpy $R0 "Download Source code" StrCpy $R1 "$R1$R0" StrCmp $R1 "" "" +2 Return !insertmacro MUI_HEADER_TEXT "Download Options" "Some components have to be downloaded" !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 1" text $(DownloadDialog1) !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 3" text $(DownloadDialog3) !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 4" text $(DownloadDialog4) !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 5" text $(DownloadDialog5) !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 6" text $(DownloadDialog6) !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 8" text $(DownloadDialog8) !insertmacro MUI_INSTALLOPTIONS_WRITE "download.ini" "Field 2" text $R1 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "download.ini" FunctionEnd --- NEW FILE: ChangeLog.txt --- Change Log : ============ Beta 2.0 -------- 1) Fixed setting focus problem on ctrl+tab [#765240] 2) Word wrap is now saved between sessions and applies to all files Word wrap option added on to preferences -> Editor Options 3) Unwanted options in Prefs -> Editor Options hidden 4) Highlight current line in menu works 5) Rewrote font handling. It must work as expected now :) 6) AnyEdit identifies modified files ! Warns you about it :) 7) Sorting of function names in class view is now available 8) When find fails.. it notifies user with a dialog 9) Goto and class view jump to line becomes first line of document always. 10) Find dialog vanishes after first successful find... further find carries on with F3 Find options are carried on between different files. 11) Changed all 'bool''s to BOOL which removes many performance warnings [Source change] 12) Output window automatically is shown when a tool is run with the output window hidden 13) Fixed input entry length restriction bug. 14) Fixed accelerators for Bookmarking and changed behaviour 15) Fixed input entry length restriction bug. [#745642] 16) AnyEdit now works properly for all users. Even if the admin setsup the program. 17) AnyEdit saves file only if it has to... 18) Added MiniToolbar feature. 19) Fixed bug which caused wrong Autocomplete file to be displayed in Language preferences [#769366] 20) Find & replace allows null replacement [#745169] 21) Tabs to spaces works correctly [#722975] 22) Bug replace whole word fixed.[#741234] 23) User tool can run with no window open [#750948] 24) Added Initial Plugin support 25) Added Diff Plugin 26) Fixed regular expression not working with find and find replace [#787886] 27) Added folding support to html files 28) Fixed regular expression in replace patterns [#798478] 29) Added option in replace to remove transform backslash expressions. Beta 1.0 -------- 1) Fixed Single Application Instance problems 2) Fixed problems with Tab document selection. Made default as tabs at top 3) Fixed problem with displaying menu... with XP luna theme the menu was having extra space ... not anymore :) 4) Fixed focus issues after finding for a text Beta 1.0 - I am HERE !!! [TESTERS RELEASE] ------------------------------ 1) Very high speed up and less memory usage 2) Hopefully fixed the nasty bug which made AnyEdit close with resource unavailability... 3) Proper highlighting on file type change 4) Proper document modification show with help of * on window. 5) Hour glass when converting docs to different eol modes 6) Two new functions SetLineStyle and ResetLineStyle - useful for displaying errors and warnings These functions can be made use in the error handling system to underline lines with errors and warnings with different color lines and different style lines 7) Added status bar update of line and col number 8) Added VI like comment helping feature where comments automatically appear, be it // or /* followed by *'s automatic addition of // and * on the next line is done by AE now. 9) Added AutoCompletion support :) 10) Added AutoCompletion List 11) Added Box Comment Feature 12) Added Stream Comment and uncomment feature 13) Changed about box contents 14) Added FunctionComboList with support for single file alone 15) Fixed class view positional bugs ... all functions are shown in the order they are in the file 16) Fixed Tabwidth and indendation bug 17) Added Right margin support 18) Entire doc path is shown on top of window but only filename in tabs 19) Added quick jump support 20) Changed to Scintilla 1.51 21) Added find next option and made changes to find methodology and usage 22) Added goto feature 23) Wrote plenty of lang syntax files... more to come soon..! 25) Fixed quick jump crash bug... Made critical section to be commonly used for using shared tag list from classview, quick jump and autocompletion list filling Quick jump was crashing because of this... Alpha 9.0 - Give Me Beta ! -------------------------- 1) Added Initial CTags Support 2) Fixed up flicker in ClassView 3) Fixed up tool execution bug wherein tools dont work when paths have spaces 4) AE now adds on document words in autocompletion list ;) 5) Multiline Clip Text insertion works now 6) Startup page starting is configurable - I know some of you hate it :) 7) Added many new options Remaining --------- 1) Code completion 2) Workspace loading bug - Will be finished only when rewriting the entire workspace handling ! Remaining later --- --------------- Rewrite entire workspace handling .... --- NEW FILE: ToDo.txt --- Todo ==== 1) Fix up code completion 3) Add other language files 4) Add features that Scintilla supports 5) Make comment chars as configurable... HTML, XML, Cpp No registry entries need to be present in the registry for starting ! Todo In the near future ======================= 1) Rewrite entire workspace handling with support for project compilation and build 2) A Very good plugin architecture... possibly with events and configurable menu items 3) Error handling facilities.. Marking errors, warnings and taking to a line on clicking error 4) Save find replace options and contents in registry. Feature Additions ============= *) Show the tools name in the hint box. The VB version does this. *) Make a beep (maybe optional) when tool execution finishes. *) In Configure->Preferences->Tools->Command, make it possible to use the . and .. operators. Example: ./make.bat Where . would be the directory stated under Initial Dir. *) The output window is allways text. That means it doesn't need the smooth scrolling. (slow on my computer) *) The error parser uses the 'current directory' from the latest opened file. It should/ought to use the Initial Dir. (my compiler doesn't ouput the full path) *) Save ALL open files before executing the tool. *) Don't save a file (write it to disk) when it don't need to be saved. *) Make it possible to add an extension to the macros Example $FILEBASE.r21 in the arguments box *) Assign a keystroke to more than the first User Tool. *) Make it possible to select a smaller font in the output window. colors, function Why I can't set background colour to black?? There is option to do so, but when i do that I can't see normal text because it is black too. And other than editor window are uncolorable !?! Good idea would be a window whitch contains all names of functions defined in editor window (double click on name scroll editor window to this function) and functions in files included to current file. -- Have to add option to load and save color configurations :) like vim >>>> Pop up function definitions would detect a previously defined function from the file ( or external if possible ) and pop up a tool tip with the function definition in it with the current location of the cursor in the definitions i.e. void FooBar(int i, bool b); //the functions definition FooBar(//at this point ( the '(' ) a tool tip pops up with //"void FooBar(<b>int i</b>, bool b)" in it FooBar(10, //at this point (after the ',' ), the tooltip now reads //"void FooBar(int i, <b>bool b</b>)" Basically what MS VC++ does. The b tags, of course, denoting bold. The auto complete suggestions would work on the same basic level, but when used with a member operator: for instance '.' or '->'. When a member operator is used, the editor looks through its list of defined classes/structs/whatever to see if the object is there. If it is, it pops up a list of members to select from to auto complete. The list would move as chars are typed after the member operator. ie: class Foo { int i; bool b; } Foo myFoo; myFoo.//at this point, the editor pops up a list with b and i as items ( nothing highlighted yet ) myFoo.b//at this point, the b is highlighted in the list Again, basically like MS VC++. These are to features necessary to any great ide, which AE is almost the best I've ever used. >>>>>> It would be nice to have a place in the .syn file to set an autoindent for block chars. For instance, in cpp, after a { the next line could be set to tab (previous line indent + 1), and after the closing }, the tab should be set back. >>>>> A nice feature would be to convert tabs to spaces when saving files. Bug Fixes ========= - There is a problem with the "Auto Indentation Style" and "Class View" radio buttons group: indeed, they form only one group (meaning one can select one and only one radio button for both boxes) where one would expect to be able to independently select the indentation style and class view scope (single file or project -- not implemented yet, unfortunately ;)) - I created a tool bar for use with perl after leaving the editor and returning the perl toolbar loaded before the standard TB I tried moving the custom tool bar below the standard tool bar without any perminant success. each time i exit the editor and return the custom bar is back on top. - Regular expressions in Search and Replace don't work - Missing "revert to saved" option - Tools arguments FILEDIR and FILEPATH are not converted to their expected value (not converted at all !) - Auto indentation doesn't work - Long file names are displayed is their unreadable short form (e.g., "Document and Settings" -> "DOCUM~1" in title bar, recent files and Window menu - [MAJOR] The latter is probably responsible of this one: Can't open files with long file name in path when it's on a Samba mounted disk /////////////////////////////////////////////////////////////////////////////////// AnyEdit Version : Professional v 2.0 AnyEdit Build : Beta 1.0 OS Version : Microsoft Windows 98 Version 4.90. .4.3000 (a.k.a Win ME ) /////////////////////////////////////////////////////////////////////////////////// 1 - Project file list in workspace: -Adding a large number of files (59) to project doesn't work -Files aren't sorted alphabetically, just as they were added. -Add directory contents doesn't work ? -Add files path isn't remembered 3 - Autocompletion - When the code list has one only word the completed word adds the "?0" characters. e.g: abcdefg and now: abcd-> is autocompleted to abcdefg?0 - Starting the completion list (Ctrl+space) with just one character don't works well e.g: aeiou abcdeeeee abcdefghi now: a -> Ctrl+Space and continue typing "bcd..." don't scrolls properly in the list - Auto Complete is by default assigned to "Ctrl+C", just like Copy. It just don't seems to work... 4 - Most changes in Preferences don't take effect until AnyEdit is restarted 5 - Horizontal and Vertical splitting don't work. Enabling them in preferences has no effect. 6 - Keystroke recording doesn't work - in a project, classes are usually shown twice in the tags pane, one for the header and another for the implementation file. 8 - Keyboard customization doesn't show the default assigned keys. For instance, by default Ctrl+A is assigned to "Select all", but in Customize->Keyboard->Edit->Select All there's no current key assigned shown and when "Ctrl+A" is assigned to any other command, it is not shown as already assigned. Then, assigning Ctrl+A to a command like keystroke 1 or any other has no effect, because Ctrl+A continues acting as "select all". So it is *very* hard make assignments which make sense. 10 - After being editing for some time, just opening a menu from main menu causes AnyEdit to crash. It also crashes at exit from time to time... --- NEW FILE: ZipDLL.nsh --- ;ZipDLL include file for NSIS ;Written by Tim Kosse (mailto:tim...@gm...) ;Compatible with Modern UI 1.63 ;German translation by Tim Kosse ;Spanish translation by "dark_boy" ;French translation by "veekee" ;Brazilian Portuguese translation by "deguix" ;Traditional Chinese traslation by "matini" !ifndef MUI_INCLUDED !error "Please include modern UI first!!" !endif !ifndef MUI_ZIPDLL_USED !define MUI_ZIPDLL_USED !macro MUI_ZIPDLL_EXTRACTFILE SOURCE DESTINATION FILE Push "${FILE}" Push "${DESTINATION}" Push "${SOURCE}" ;The strings that will be translated are: ;" Error: %s" ;"Could not get file attributes." ;"Error: Could not get file attributes." ;"Could not extract %s" ;" Error: Could not extract %s" ;"Specified file does not exist in archive." ;"Error: Specified file does not exist in archive." ;"Extracting the file %s from %s to %s" !ifdef "MUI_LANGUAGEFILE_FRENCH_USED" strcmp $LANGUAGE ${LANG_FRENCH} 0 +10 Push " Erreur : %s" Push "Impossible de récupérer les informations sur le fichier." Push "Erreur : Impossible de récupérer les informations sur le fichier." Push "Impossible de décompresser %s." Push " Erreur : Impossible de décompresser %s." Push "Le fichier spécifié n'existe pas dans l'archive" Push "Erreur : Le fichier spécifié n'existe pas dans l'archive" Push "Décompression du fichier %s depuis %s vers %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_GERMAN_USED" strcmp $LANGUAGE ${LANG_GERMAN} 0 +10 Push " Fehler: %s" Push "Dateiattribute konnten nicht ermittelt werden." Push "Fehler: Dateiattribute konnten nicht ermittelt werden." Push "%s konnte nicht dekomprimiert werden." Push " Fehler: %s konnte nicht dekomprimiert werden." Push "Die angegebene Datei existiert nicht im Archiv" Push "Fehler: Die angegebene Datei existiert nicht im Archiv" Push "Dekomprimiere Datei %s von %s nach %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_SPANISH_USED" strcmp $LANGUAGE ${LANG_SPANISH} 0 +10 Push "Error: %s" Push "No se obtuvieron atributos del archivo" Push "Error: No se obtuvieron atributos del archivo" Push "No se pudo extraer %s" Push " Error: No se pudo extraer %s" Push "Archivo especificado no existe en el ZIP" Push "Error: El archivo especificado no existe en el ZIP" Push "Extrayendo el archivo %s de %s a %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_PORTUGUESEBR_USED" strcmp $LANGUAGE ${LANG_PORTUGUESEBR} 0 +10 Push "Erro: %s" Push "Não se pode ler os atributos do arquivo" Push "Error: Não se pode ler os atributos do arquivo" Push "Não se pode extrair %s" Push " Erro: Não se pode extrair %s" Push "O arquivo especificado não existe no ZIP" Push "Erro: O arquivo especificado não existe no ZIP" Push "Extraindo o arquivo %s de %s a %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_TRADCHINESE_USED" StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +10 Push " ¿ù»~¡G%s" Push "µLªk¨ú±oÀÉ®×ÄݩʡC" Push "¿ù»~¡GµLªk¨ú±oÀÉ®×ÄݩʡC" Push "µLªk¸ÑÀ£ÁY %s" Push " ¿ù»~¡GµLªk¸ÑÀ£ÁY %s" Push "«ü©wªºÀɮפ£¦s¦b©óÀ£ÁYÀɤ¤¡C" Push "¿ù»~¡G«ü©wªºÀɮפ£¦s¦b©óÀ£ÁYÀɤ¤¡C" Push "¥¿¦b¸ÑÀ£ÁYÀÉ®× %s¡A±q %s ¨ì %s" Push "/TRANSLATE" !endif ZipDLL::extractfile !macroend !macro MUI_ZIPDLL_EXTRACTALL SOURCE DESTINATION Push "${DESTINATION}" Push "${SOURCE}" ;The strings that will be translated are: ;" Error: %s" ;"Could not get file attributes." ;"Error: Could not get file attributes." ;"Could not extract %s" ;" Error: Could not extract %s" ;" Extract : %s" ;" Extracting %d files and directories" ;"Extracting contents of %s to %s" !ifdef "MUI_LANGUAGEFILE_FRENCH_USED" strcmp $LANGUAGE ${LANG_FRENCH} 0 +10 Push " Erreur : %s" Push "Impossible de récupérer les informations sur le fichier." Push "Erreur : Impossible de récupérer les informations sur le fichier." Push "Impossible de décompresser %s." Push " Erreur : Impossible de décompresser %s." Push " Décompression : %s" Push " Décompression de %d fichiers et répertoires" Push "Décompression des données de %s vers %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_GERMAN_USED" strcmp $LANGUAGE ${LANG_GERMAN} 0 +10 Push " Fehler: %s" Push "Dateiattribute konnten nicht ermittelt werden." Push "Fehler: Dateiattribute konnten nicht ermittelt werden." Push "%s konnte nicht dekomprimiert werden." Push " Fehler: %s konnte nicht dekomprimiert werden." Push " Dekomprimiere: %s" Push " Dekomprimiere %d Dateien und Verzeichnisse" Push "Dekomprimiere Inhalt von %s nach %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_SPANISH_USED" strcmp $LANGUAGE ${LANG_SPANISH} 0 +10 Push "Error: %s" Push "No se obtuvieron atributos del archivo" Push "Error: No se obtuvieron atributos del archivo" Push "No se pudo extraer %s" Push " Error: No se pudo extraer %s" Push " Extraer: %s" Push " Extrayendo %d archivos y directorios" Push "Extraer archivos de %s a %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_PORTUGUESEBR_USED" strcmp $LANGUAGE ${LANG_PORTUGUESEBR} 0 +10 Push "Erro: %s" Push "Não se pode ler os atributos do arquivo" Push "Error: Não se pode ler os atributos do arquivo" Push "Não se pode extrair %s" Push " Erro: Não se pode extrair %s" Push " Extraindo: %s" Push " Extraindo %d arquivos e diretórios" Push "Extraindo arquivos de %s a %s" Push "/TRANSLATE" !endif !ifdef "MUI_LANGUAGEFILE_TRADCHINESE_USED" StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +10 Push " ¿ù»~¡G%s" Push "µLªk¨ú±oÀÉ®×ÄݩʡC" Push "¿ù»~¡GµLªk¨ú±oÀÉ®×ÄݩʡC" Push "µLªk¸ÑÀ£ÁY %s" Push " ¿ù»~¡GµLªk¸ÑÀ£ÁY %s" Push " ¸ÑÀ£ÁY¡G%s" Push " ¥¿¦b¸ÑÀ£ÁY %d ÀɮשM¸ê®Æ§¨" Push "¥¿¦b¸ÑÀ£ÁY %s ªº¤º®e¨ì %s" Push "/TRANSLATE" !endif ZipDLL::extractall !macroend !endif --- NEW FILE: download.ini --- [Settings] NumFields=8 ; comment this out to hide the back button BackEnabled=1 [Field 1] Type=label left=0 right=300 top=0 bottom=10 [Field 2] Type=label left=0 right=300 top=10 bottom=30 [Field 3] Type=label left=0 right=300 top=30 bottom=60 [Field 4] Type=RadioButton State=1 left=0 right=300 top=60 bottom=70 [Field 5] Type=RadioButton State=0 left=0 right=300 top=70 bottom=80 [Field 6] Type=CheckBox State=0 left=0 right=300 top=85 bottom=95 [Field 7] Type=DirRequest left=11 right=300 top=97 bottom=110 [Field 8] Type=label left=11 right=300 top=113 bottom=145 --- NEW FILE: download.nsh --- !include ZipDLL.nsh !macro Print PARAM SetDetailsPrint both DetailPrint "${PARAM}" SetDetailsPrint textonly !macroend Function MirrorCleanup Pop $R5 ;Get number of mirrors on the stack mirror_cleanupstart: IntCmp $R5 0 mirror_cleanupcomplete Pop $R3 IntOp $R5 $R5 - "1" goto mirror_cleanupstart mirror_cleanupcomplete: FunctionEnd ;------------------------------------------------------------------------------ ; TrimNewlines ; input, top of stack (i.e. whatever$\r$\n) ; output, top of stack (replaces, with i.e. whatever) ; modifies no other variables. ; Function TrimNewlines Exch $0 Push $1 Push $2 StrCpy $1 0 loop: IntOp $1 $1 - 1 StrCpy $2 $0 1 $1 StrCmp $2 "$\r" loop StrCmp $2 "$\n" loop IntOp $1 $1 + 1 StrLen $2 $0 IntOp $2 $2 + $1 StrCpy $0 $0 $2 Pop $2 Pop $1 Exch $0 FunctionEnd ;------------------------------------------------------------------------------ ; TrimBackslashes ; input, top of stack (i.e. whatever\) ; output, top of stack (replaces, with i.e. whatever) ; modifies no other variables. ; Function TrimBackslashes Exch $0 Push $1 Push $2 StrCpy $1 0 loop: IntOp $1 $1 - 1 StrCpy $2 $0 1 $1 StrCmp $2 "\" loop IntOp $1 $1 + 1 StrLen $2 $0 IntOp $2 $2 + $1 StrCpy $0 $0 $2 Pop $2 Pop $1 Exch $0 FunctionEnd Function DownloadAndExtract SetDetailsPrint textonly StrCpy $R9 success ; Check if user has selected "Skip" StrCpy $R0 "" ReadIniStr $R0 "$PLUGINSDIR\download.ini" "Field 5" state StrCmp $R0 "1" function_end ; Check if installer should use local package directory and if the target file already exists StrCpy $R0 "" ReadIniStr $R0 "$PLUGINSDIR\download.ini" "Field 6" state StrCmp $R0 "1" try_use_local goto dl_mirror try_use_local: StrCpy $R0 "" ReadIniStr $R0 "$PLUGINSDIR\download.ini" "Field 7" state StrCmp $R0 "" use_temp ClearErrors CreateDirectory $R0 IfFileExists "$R0\*.*" "" dl_mirror IfErrors dl_mirror Push $R0 Call TrimBackslashes Pop $R0 StrCpy $R0 "$R0\$0" StrCpy $R2 1 IfFileExists $R0 startextract dl_mirror: !insertmacro Print $(DownloadDownloading) !insertmacro Print $(DownloadRetrievingMirrorList) ; Safe variables Push $0 StrCpy $0 "" ; make the call to download GetTempFileName $R0 nsisdl::download_quiet $1 $R0 ; for a quiet install, use download_quiet ; check if download succeeded Pop $0 StrCmp $0 "success" mirrorsuccessful StrCmp $0 "cancel" mirrorcancelled ; we failed !insertmacro Print $(DownloadDownloadFailed) Delete $R0 StrCpy $R1 $0 Pop $0 MessageBox MB_OK|MB_ICONEXCLAMATION $(DownloadMirrorDownloadFailedBox) StrCpy $R9 failure goto function_end mirrorcancelled: !insertmacro Print $(DownloadDownloadCancelled) Delete $R0 Pop $0 Quit mirrorsuccessful: !insertmacro Print $(DownloadRetrievingMirrorListSuccessful) Pop $0 ;Now parse the mirror list FileOpen $R1 $R0 a ;Read number of mirrors into $R5 FileRead $R1 $R5 ;Chose one random mirror ;Calculate a random number based on the filetime of the downloaded mirror list GetFileTime $R0 $R7 $R6 IntOp $R6 $R6 & "16777215" ;Just keep the last few bits, also ensure that $R6 is positive IntOp $R6 $R6 / "100" ;Skip last 2 digits, they aren't really random due to low timer resolution IntOp $R6 $R6 % $R5 IntOp $R6 $R6 + "1" ; $R6 now contains the index of the mirror to use first StrCpy $R7 $R5 readmirror: FileRead $R1 $R4 IntOp $R6 $R6 - "1" IntOp $R7 $R7 - "1" Push $R4 Call TrimNewlines IntCmp $R6 0 readmirror_random IntCmp $R7 0 readmirror_done goto readmirror readmirror_random: Pop $R3 IntCmp $R7 0 readmirror_done goto readmirror readmirror_done: IntOp $R5 $R5 - "1" Push $R5 ;$R3 now contains the mirror to use ;The other mirrors are on top of the stack !insertmacro Print $(DownloadUsingMirror) FileClose $R1 ;Done parsing Delete $R0 ;Now download the file ; Safe variables Push $0 ; make the call to download ; Check if installer should use local package directory StrCpy $R0 "" ReadIniStr $R0 "$PLUGINSDIR\download.ini" "Field 6" state StrCmp $R0 "1" use_local use_temp: StrCpy $R2 0 GetTempFileName $R0 goto dl_start use_local: StrCpy $R0 "" ReadIniStr $R0 "$PLUGINSDIR\download.ini" "Field 7" state StrCmp $R0 "" use_temp ClearErrors CreateDirectory $R0 IfFileExists "$R0\*.*" use_local2 use_temp use_local2: IfErrors use_temp Push $R0 Call TrimBackslashes Pop $R0 StrCpy $R0 "$R0\$0" StrCpy $R2 1 dl_start: nsisdl::download $R3 $R0 ; for a quiet install, use download_quiet ; check if download succeeded Pop $0 StrCmp $0 "success" dlsuccessful StrCmp $0 "cancel" dlcancelled ; we failed !insertmacro Print $(DownloadDownloadFailed) Delete $R0 StrCpy $R1 $0 Pop $0 MessageBox MB_OK|MB_ICONEXCLAMATION $(DownloadDownloadFailedBox) StrCpy $R9 failure call MirrorCleanup goto function_end dlcancelled: !insertmacro Print $(DownloadDownloadCancelled) Delete $R0 Pop $0 call MirrorCleanup Quit dlsuccessful: !insertmacro Print $(DownloadDownloadSuccessful) Pop $0 call MirrorCleanup startextract: ;Now extract the file ; make the call to ExtractAll !insertmacro MUI_ZIPDLL_EXTRACTALL $R0 $2 ; check if extract succeeded Pop $R1 StrCmp $R1 "success" extract_end MessageBox MB_OK|MB_ICONEXCLAMATION $(DownloadExtractFailedBox) StrCpy $R9 failure extract_end: StrCmp $R2 1 no_delete Delete $R0 no_delete: function_end: Push $R9 SetDetailsPrint both FunctionEnd Index: AnyEdit.exe =================================================================== RCS file: /cvsroot/anyedit/AnyEditBin/AnyEdit.exe,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvshEDb9Q and /tmp/cvs6Gl72B differ Index: BCGCB473.dll =================================================================== RCS file: /cvsroot/anyedit/AnyEditBin/BCGCB473.dll,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsCyijCY and /tmp/cvsW4g05S differ Index: License.txt =================================================================== RCS file: /cvsroot/anyedit/AnyEditBin/License.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** License.txt 8 May 2003 12:21:02 -0000 1.1 --- License.txt 30 Sep 2003 10:41:33 -0000 1.2 *************** *** 1,3 **** ! Copyright (C) 2002 DeepSoft - M.Deepak This software is provided 'as-is', without any express or implied --- 1,3 ---- ! Copyright (C) 2003 DeepSoft - M.Deepak This software is provided 'as-is', without any express or implied Index: SciLexer.dll =================================================================== RCS file: /cvsroot/anyedit/AnyEditBin/SciLexer.dll,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs9BKFm9 and /tmp/cvsk4nKpb differ |