diff --git a/PowerEditor/bin/change.log b/PowerEditor/bin/change.log index f4fdfed75..4ea56a1a3 100644 --- a/PowerEditor/bin/change.log +++ b/PowerEditor/bin/change.log @@ -1,46 +1,5 @@ -Notepad++ v6.7.3 bug fixes: +Notepad++ v6.7.4 Je suis Charlie edition -1. Fix a crash issue for old processors due to SSE2 instruction. -2. Fix the regression for the translation: remap the sub-menu entry for the added command "Mark...". - - -Notepad++ v6.7.2 enhancements and bug fixes: - -1. Fix the crash issue while config.xml and stylers.xml are not loaded. -2. Fix NPPM_LAUNCHFINDINFILESDLG API regression issue. -3. Prevent auto-insert of {} [] () "" and '' from inserting in column mode. -4. Fix the bug that "Function parameters hint on input" checkbox in preferences dialog is not initialized correctly. -5. Fix saving theme modified styles not working problem (Copy theme files in %APPDATA% to avoid UAC problem). -6. Improve the usability of User Defined Language dialog: reduce dialog's height. - - -Notepad++ v6.7.1 new feature and bug fixes: - -1. Fix crash issue on GotoLine. -2. Fix a random crash issue while typing random characters. -3. Fix the bug of auto-insert skipping feature that ] and } don't be skipped if "auto-insert ()" is disabled. -4. Add new feature: auto-insert skipping character feature works for "" and '' now. -5. Fix reloaded file on dirty status issue. -6. Add "Mark..." menu command. -7. Fix a regression (broken with compare plugin) due to a new feature of MRU in v6.7 (the feature is removed). - - -Notepad++ v6.7 new features and bug fixes: - -1. Add Smart Indent feature for php/javascript/c/c++/java/c#/Objective-C. -2. Enhance Auto-insert feature for {} [] (): typing and skipping }, ] and ). -3. Add new feature of MRU: While current file is closed the previous activated file will be activated. -4. Allow users to disable Easter eggs by adding noEasterEggs.xml in Notepad++ installed directory. -5. Enhancement: Resize column Name filed correctly while hiding column Ext. -6. Fix Global colours not applied to all text of the "Find result" pane. -7. Add C# and enhance php parser in Function List. -8. Fix document list panel has no selection while start up. -9. Fix docSwitcher bug which shows new 0 after loading a session of files. -10. Fix crash issue on quit Notepad++ while session snapshot period backup feature is on. -11. Make "Text Direction RTL" command and "Text Direction LTR" command work without reloading file. -12. Make document map matches the current text direction (RTL/LTR). -13. Fix a crash issue while the opened document is deleted/moved from outside. -14. Fix undo actions on unsaved snapshot file removing the dirty state bug. Included plugins: diff --git a/PowerEditor/bin/npp.pdb b/PowerEditor/bin/npp.pdb index 8938e0ac6..f6b57a686 100644 Binary files a/PowerEditor/bin/npp.pdb and b/PowerEditor/bin/npp.pdb differ diff --git a/PowerEditor/installer/nppSetup.nsi b/PowerEditor/installer/nppSetup.nsi index 00f345c3b..a593730f0 100644 --- a/PowerEditor/installer/nppSetup.nsi +++ b/PowerEditor/installer/nppSetup.nsi @@ -28,10 +28,10 @@ ; Define the application name !define APPNAME "Notepad++" -!define APPVERSION "6.7.3" +!define APPVERSION "6.7.4" !define APPNAMEANDVERSION "${APPNAME} v${APPVERSION}" !define VERSION_MAJOR 6 -!define VERSION_MINOR 73 +!define VERSION_MINOR 74 !define APPWEBSITE "http://notepad-plus-plus.org/" @@ -150,7 +150,8 @@ FunctionEnd Function LaunchNpp - Exec '"$INSTDIR\notepad++.exe" "$INSTDIR\change.log" ' + ;Exec '"$INSTDIR\notepad++.exe" "$INSTDIR\change.log" ' + Exec '"$INSTDIR\notepad++.exe" -e#JeSuisCharlie ' FunctionEnd ; Modern interface settings diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp index 5aa29f9b9..f3c44d886 100644 --- a/PowerEditor/src/Notepad_plus.cpp +++ b/PowerEditor/src/Notepad_plus.cpp @@ -5487,7 +5487,7 @@ struct Quote{ const char *_quote; }; -const int nbQuote = 201; +const int nbQuote = 202; Quote quotes[nbQuote] = { {"Notepad++", "Good programmers use Notepad++ to code.\nExtreme programmers use MS Word to code, in Comic Sans, center aligned."}, {"Martin Golding", "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."}, @@ -5695,7 +5695,8 @@ Quote quotes[nbQuote] = { {"Dhalsim", "Pain is a state of mind and I don't mind your pain."}, {"Elie Wiesel", "Human beings can be beautiful or more beautiful,\nthey can be fat or skinny, they can be right or wrong,\nbut illegal? How can a human being be illegal?"}, {"Dennis Ritchie", "Empty your memory, with a free(), like a pointer.\nIf you cast a pointer to a integer, it becomes the integer.\nIf you cast a pointer to a struct, it becomes the struct.\nThe pointer can crash, and can overflow.\nBe a pointer my friend."}, -{"Chewbacca", "Uuuuuuuuuur Ahhhhrrrrrr\nUhrrrr Ahhhhrrrrrr\nAaaarhg..."} +{"Chewbacca", "Uuuuuuuuuur Ahhhhrrrrrr\nUhrrrr Ahhhhrrrrrr\nAaaarhg..."}, +{"#JeSuisCharlie", "Freedom of expression is like the air we breathe, we don't feel it, until people take it away from us.\n\nFor this reason, Je suis Charlie, not because I endorse everything they published, but because I cherish the right to speak out freely without risk even when it offends others.\nAnd no, you cannot just take someone's life for whatever he/she expressed.\n\nHence this \"Je suis Charlie\" edition.\n" } }; diff --git a/PowerEditor/src/Notepad_plus.h b/PowerEditor/src/Notepad_plus.h index 60ad69ba4..f9ca975dc 100644 --- a/PowerEditor/src/Notepad_plus.h +++ b/PowerEditor/src/Notepad_plus.h @@ -306,7 +306,8 @@ public: return _pEditView->getCurrentBuffer(); }; void launchDocumentBackupTask(); - + int getQuoteIndexFrom(const char *quoter) const; + void showQuoteFromIndex(int index) const; private: Notepad_plus_Window *_pPublicInterface; @@ -625,8 +626,6 @@ private: void launchProjectPanel(int cmdID, ProjectPanel ** pProjPanel, int panelID); void launchDocMap(); void launchFunctionList(); - int getQuoteIndexFrom(const char *quoter) const; - void showQuoteFromIndex(int index) const; void showAllQuotes() const; static DWORD WINAPI threadTextPlayer(void *text2display); static DWORD WINAPI threadTextTroller(void *params); diff --git a/PowerEditor/src/Notepad_plus.rc b/PowerEditor/src/Notepad_plus.rc index eba667995..ba6c030a2 100644 --- a/PowerEditor/src/Notepad_plus.rc +++ b/PowerEditor/src/Notepad_plus.rc @@ -63,6 +63,7 @@ END // remains consistent on all systems. IDI_M30ICON ICON "icons\\npp.ico" IDI_CHAMELEON ICON "icons\\chameleon.ico" +IDI_JESUISCHARLIE ICON "icons\\Je_suis_Charlie.ico" IDI_NEW_OFF_ICON ICON "icons\\new_off.ico" IDI_OPEN_OFF_ICON ICON "icons\\open_off.ico" IDI_SAVE_OFF_ICON ICON "icons\\save_off.ico" @@ -869,7 +870,8 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_BORDER | WS_SYSMENU FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1 BEGIN EDITTEXT IDC_BUILD_DATETIME,150,2,150,10, ES_READONLY | NOT WS_BORDER - CONTROL "",IDI_CHAMELEON,"Static",SS_OWNERDRAW,20,5,64,64 + //CONTROL "",IDI_CHAMELEON,"Static",SS_OWNERDRAW,20,5,64,64 + CONTROL "",IDI_JESUISCHARLIE,"Static",SS_OWNERDRAW,20,5,64,64 LTEXT NOTEPAD_PLUS_VERSION, IDC_STATIC,70,20,140,11 LTEXT "Author :",IDC_STATIC,21,45,31,8 LTEXT "Notepad++ team",IDC_AUTHOR_NAME,78,45,70,8 diff --git a/PowerEditor/src/Notepad_plus_Window.cpp b/PowerEditor/src/Notepad_plus_Window.cpp index 3c258ea75..4be6558dd 100644 --- a/PowerEditor/src/Notepad_plus_Window.cpp +++ b/PowerEditor/src/Notepad_plus_Window.cpp @@ -213,6 +213,17 @@ void Notepad_plus_Window::init(HINSTANCE hInst, HWND parent, const TCHAR *cmdLin scnN.nmhdr.idFrom = 0; _notepad_plus_plus_core._pluginsManager.notify(&scnN); + if (cmdLineParams->_easterEggName != TEXT("")) + { + char dest[MAX_PATH]; + wcstombs(dest, (cmdLineParams->_easterEggName).c_str(), sizeof(dest)); + int iQuote = _notepad_plus_plus_core.getQuoteIndexFrom(dest); + if (iQuote != -1) + { + _notepad_plus_plus_core.showQuoteFromIndex(iQuote); + } + } + if (cmdLineParams->_showLoadingTime) { time_t timestampEnd = time(NULL); diff --git a/PowerEditor/src/Parameters.h b/PowerEditor/src/Parameters.h index 56df9adee..0c1921e8c 100644 --- a/PowerEditor/src/Parameters.h +++ b/PowerEditor/src/Parameters.h @@ -202,8 +202,10 @@ struct CmdLineParams { LangType _langType; generic_string _localizationPath; + generic_string _easterEggName; CmdLineParams() : _isNoPlugin(false), _isReadOnly(false), _isNoSession(false), _isNoTab(false),_showLoadingTime(false),\ - _isPreLaunch(false), _line2go(-1), _column2go(-1), _langType(L_EXTERNAL), _isPointXValid(false), _isPointYValid(false), _localizationPath(TEXT("")) + _isPreLaunch(false), _line2go(-1), _column2go(-1), _langType(L_EXTERNAL), _isPointXValid(false), _isPointYValid(false),\ + _localizationPath(TEXT("")), _easterEggName(TEXT("")) { _point.x = 0; _point.y = 0; diff --git a/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp b/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp index 294640657..fc7c2ede1 100644 --- a/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp +++ b/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp @@ -81,7 +81,8 @@ BOOL CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) case WM_DRAWITEM : { - HICON hIcon = (HICON)::LoadImage(_hInst, MAKEINTRESOURCE(IDI_CHAMELEON), IMAGE_ICON, 64, 64, LR_DEFAULTSIZE); + //HICON hIcon = (HICON)::LoadImage(_hInst, MAKEINTRESOURCE(IDI_CHAMELEON), IMAGE_ICON, 64, 64, LR_DEFAULTSIZE); + HICON hIcon = (HICON)::LoadImage(_hInst, MAKEINTRESOURCE(IDI_JESUISCHARLIE), IMAGE_ICON, 64, 64, LR_DEFAULTSIZE); DRAWITEMSTRUCT *pdis = (DRAWITEMSTRUCT *)lParam; ::DrawIconEx(pdis->hDC, 0, 0, hIcon, 64, 64, 0, NULL, DI_NORMAL); return TRUE; diff --git a/PowerEditor/src/icons/Je_suis_Charlie.ico b/PowerEditor/src/icons/Je_suis_Charlie.ico new file mode 100644 index 000000000..5aabb8644 Binary files /dev/null and b/PowerEditor/src/icons/Je_suis_Charlie.ico differ diff --git a/PowerEditor/src/resource.h b/PowerEditor/src/resource.h index eee214a72..457cd10a8 100644 --- a/PowerEditor/src/resource.h +++ b/PowerEditor/src/resource.h @@ -29,12 +29,13 @@ #ifndef RESOURCE_H #define RESOURCE_H -#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ v6.7.3") +//#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ v6.7.3") +#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ Je suis Charlie edition") // should be X.Y : ie. if VERSION_DIGITALVALUE == 4, 7, 1, 0 , then X = 4, Y = 71 // ex : #define VERSION_VALUE TEXT("5.63\0") -#define VERSION_VALUE TEXT("6.73\0") -#define VERSION_DIGITALVALUE 6, 7, 3, 0 +#define VERSION_VALUE TEXT("6.74\0") +#define VERSION_DIGITALVALUE 6, 7, 4, 0 #ifndef IDC_STATIC #define IDC_STATIC -1 @@ -42,6 +43,7 @@ #define IDI_M30ICON 100 #define IDI_CHAMELEON 101 +#define IDI_JESUISCHARLIE 102 #define IDR_RT_MANIFEST 103 #define IDI_NEW_OFF_ICON 201 diff --git a/PowerEditor/src/winmain.cpp b/PowerEditor/src/winmain.cpp index a897c0f1c..b75cde998 100644 --- a/PowerEditor/src/winmain.cpp +++ b/PowerEditor/src/winmain.cpp @@ -177,6 +177,13 @@ int getNumberFromParam(char paramName, ParamVector & params, bool & isParamePres return generic_atoi(numStr.c_str()); }; +generic_string getEasterEggNameFromParam(ParamVector & params) +{ + generic_string EasterEggName; + if (!getParamVal('e', params, EasterEggName)) + return TEXT(""); + return EasterEggName; +} const TCHAR FLAG_MULTI_INSTANCE[] = TEXT("-multiInst"); const TCHAR FLAG_NO_PLUGIN[] = TEXT("-noPlugin"); @@ -226,6 +233,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int) cmdLineParams._column2go = getNumberFromParam('c', params, isParamePresent); cmdLineParams._point.x = getNumberFromParam('x', params, cmdLineParams._isPointXValid); cmdLineParams._point.y = getNumberFromParam('y', params, cmdLineParams._isPointYValid); + cmdLineParams._easterEggName = getEasterEggNameFromParam(params); if (showHelp) {