From 1b4c6c745c1a7b9c164381f6feaceb780184a633 Mon Sep 17 00:00:00 2001 From: CFrank Date: Sat, 26 May 2018 04:05:29 +0200 Subject: [PATCH] provides feature request 57 functionality --- PythonScript/src/NotepadPlusWrapper.cpp | 13 +++++++++++++ PythonScript/src/NotepadPlusWrapper.h | 1 + PythonScript/src/NotepadPython.cpp | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/PythonScript/src/NotepadPlusWrapper.cpp b/PythonScript/src/NotepadPlusWrapper.cpp index 572b43e5..59a89499 100644 --- a/PythonScript/src/NotepadPlusWrapper.cpp +++ b/PythonScript/src/NotepadPlusWrapper.cpp @@ -1079,6 +1079,19 @@ void NotepadPlusWrapper::disableAutoUpdate() callNotepad(NPPM_DISABLEAUTOUPDATE, 0, 0); } +void NotepadPlusWrapper::flashWindow(UINT count, DWORD timeout) +{ + FLASHWINFO flashinfo; + flashinfo.cbSize = sizeof(flashinfo); + flashinfo.hwnd = m_nppHandle; + flashinfo.dwFlags = FLASHW_ALL; + flashinfo.dwTimeout = timeout; + flashinfo.uCount = count; + + FlashWindowEx(&flashinfo); +} + + void NotepadPlusWrapper::notAllowedInScintillaCallback(const char *message) { DWORD currentThreadID = ::GetCurrentThreadId(); diff --git a/PythonScript/src/NotepadPlusWrapper.h b/PythonScript/src/NotepadPlusWrapper.h index ea743e54..6d8a6383 100644 --- a/PythonScript/src/NotepadPlusWrapper.h +++ b/PythonScript/src/NotepadPlusWrapper.h @@ -739,6 +739,7 @@ class NotepadPlusWrapper boost::python::str getPluginVersion(); + void flashWindow(UINT count, DWORD timeout); protected: LRESULT callNotepad(UINT message, WPARAM wParam = 0, LPARAM lParam = 0) diff --git a/PythonScript/src/NotepadPython.cpp b/PythonScript/src/NotepadPython.cpp index faaa914c..c585926c 100644 --- a/PythonScript/src/NotepadPython.cpp +++ b/PythonScript/src/NotepadPython.cpp @@ -119,8 +119,8 @@ void export_notepad() .def("makeCurrentBufferDirty", &NotepadPlusWrapper::makeCurrentBufferDirty, "Makes current document dirty") .def("getEnableThemeTextureFunc", &NotepadPlusWrapper::getEnableThemeTextureFunc, "TODO") .def("triggerTabbarContextMenu", &NotepadPlusWrapper::triggerTabbarContextMenu, boost::python::args("view, index2Activate"), "Activates the context menu for provided view and tab index") - .def("disableAutoUpdate", &NotepadPlusWrapper::disableAutoUpdate, "Disables notepad++ auto update functionality"); - + .def("disableAutoUpdate", &NotepadPlusWrapper::disableAutoUpdate, "Disables notepad++ auto update functionality") + .def("flashWindow", &NotepadPlusWrapper::flashWindow, boost::python::args("count", "timeout"), "Flashes notepad++ for the given count and timeout"); boost::python::enum_("LANGTYPE") .value("TXT", L_TEXT)