From c2025a23b1921c2112298d71c42e1aa741e029f6 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 15 Jun 2013 21:35:02 +0000 Subject: fix for dropping files into Scriver git-svn-id: http://svn.miranda-ng.org/main/trunk@4968 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Scriver/src/msgdialog.cpp | 8 +++++--- plugins/Scriver/src/msgs.cpp | 10 +++++++++- plugins/Scriver/src/msgs.h | 5 +++++ 3 files changed, 19 insertions(+), 4 deletions(-) (limited to 'plugins/Scriver/src') diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp index cf769776f9..06124f4f3a 100644 --- a/plugins/Scriver/src/msgdialog.cpp +++ b/plugins/Scriver/src/msgdialog.cpp @@ -36,7 +36,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern HCURSOR hCurSplitNS, hCurSplitWE, hCurHyperlinkHand, hDragCursor; extern HANDLE hHookWinEvt; extern HANDLE hHookWinPopup; -extern CREOleCallback reOleCallback, reOleCallback2; +extern CREOleCallback reOleCallback; +extern CREOleCallback2 reOleCallback2; static void UpdateReadChars(HWND hwndDlg, struct SrmmWindowData * dat); @@ -418,6 +419,7 @@ static LRESULT CALLBACK MessageEditSubclassProc(HWND hwnd, UINT msg, WPARAM wPar case EM_SUBCLASSED: dat = (struct MsgEditSubclassData *) mir_alloc(sizeof(struct MsgEditSubclassData)); SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR) dat); + DragAcceptFiles(hwnd, TRUE); dat->lastEnterTime = 0; return 0; @@ -494,6 +496,7 @@ static LRESULT CALLBACK MessageEditSubclassProc(HWND hwnd, UINT msg, WPARAM wPar } static void SubclassMessageEdit(HWND hwnd) { + RichUtil_SubClass(hwnd); mir_subclassWindow(hwnd, MessageEditSubclassProc); SendMessage(hwnd, EM_SUBCLASSED, 0, 0); } @@ -503,6 +506,7 @@ static void UnsubclassMessageEdit(HWND hwnd) { } static void SubclassLogEdit(HWND hwnd) { + RichUtil_SubClass(hwnd); mir_subclassWindow(hwnd, LogEditSubclassProc); SendMessage(hwnd, EM_SUBCLASSED, 0, 0); } @@ -858,8 +862,6 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP } /* get around a lame bug in the Windows template resource code where richedits are limited to 0x7FFF */ SendDlgItemMessage(hwndDlg, IDC_LOG, EM_LIMITTEXT, (WPARAM) sizeof(TCHAR) * 0x7FFFFFFF, 0); - RichUtil_SubClass(GetDlgItem(hwndDlg, IDC_MESSAGE)); - RichUtil_SubClass(GetDlgItem(hwndDlg, IDC_LOG)); SubclassLogEdit(GetDlgItem(hwndDlg, IDC_LOG)); SubclassMessageEdit(GetDlgItem(hwndDlg, IDC_MESSAGE)); dat->infobarData = CreateInfobar(hwndDlg, dat); diff --git a/plugins/Scriver/src/msgs.cpp b/plugins/Scriver/src/msgs.cpp index 3e775f2ac6..7acb87ab82 100644 --- a/plugins/Scriver/src/msgs.cpp +++ b/plugins/Scriver/src/msgs.cpp @@ -572,7 +572,8 @@ int OnLoadModule(void) /////////////////////////////////////////////////////////////////////////////////////////////////////// -CREOleCallback reOleCallback, reOleCallback2; +CREOleCallback reOleCallback; +CREOleCallback2 reOleCallback2; STDMETHODIMP CREOleCallback::QueryInterface(REFIID riid, LPVOID * ppvObj) { @@ -659,3 +660,10 @@ STDMETHODIMP CREOleCallback::ShowContainerUI(BOOL fShow) { return S_OK; } + +STDMETHODIMP CREOleCallback2::QueryAcceptData(LPDATAOBJECT lpdataobj, CLIPFORMAT * lpcfFormat, DWORD reco, BOOL fReally, HGLOBAL hMetaPict) +{ + *lpcfFormat = CF_TEXT; + return S_OK; +} + diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h index 72d521b69e..f39b3eb115 100644 --- a/plugins/Scriver/src/msgs.h +++ b/plugins/Scriver/src/msgs.h @@ -221,6 +221,11 @@ struct CREOleCallback : public IRichEditOleCallback STDMETHOD(GetContextMenu) (WORD seltype, LPOLEOBJECT lpoleobj, CHARRANGE FAR * lpchrg, HMENU FAR * lphmenu) ; }; +struct CREOleCallback2 : public CREOleCallback +{ + STDMETHOD(QueryAcceptData) (LPDATAOBJECT lpdataobj, CLIPFORMAT FAR * lpcfFormat, DWORD reco, BOOL fReally, HGLOBAL hMetaPict); +}; + INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK ErrorDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); -- cgit v1.2.3