From a388fb9eb38d31c0ab82dc8ab4d332cecd88dee8 Mon Sep 17 00:00:00 2001 From: "rods%netscape.com" Date: Tue, 16 May 2000 21:57:06 +0000 Subject: [PATCH] DD&D now checks for readonly and disabled b 38773 git-svn-id: svn://10.0.0.236/trunk@70101 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/editor/base/nsEditorEventListeners.cpp | 16 ++++++++++++++++ .../libeditor/text/nsEditorEventListeners.cpp | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/mozilla/editor/base/nsEditorEventListeners.cpp b/mozilla/editor/base/nsEditorEventListeners.cpp index 4d17b6f3faf..42158945f89 100644 --- a/mozilla/editor/base/nsEditorEventListeners.cpp +++ b/mozilla/editor/base/nsEditorEventListeners.cpp @@ -732,6 +732,14 @@ nsTextEditorDragListener::DragEnter(nsIDOMEvent* aDragEvent) if ( NS_SUCCEEDED(rv) ) { nsCOMPtr dragSession(do_QueryInterface(dragService)); if ( dragSession ) { + PRUint32 flags; + if (NS_SUCCEEDED(mEditor->GetFlags(&flags))) { + if ((flags & nsIHTMLEditor::eEditorDisabledMask) || + (flags & nsIHTMLEditor::eEditorReadonlyMask)) { + dragSession->SetCanDrop(PR_FALSE); + return NS_OK; + } + } PRBool flavorSupported = PR_FALSE; dragSession->IsDataFlavorSupported(kUnicodeMime, &flavorSupported); if ( !flavorSupported ) @@ -757,6 +765,14 @@ nsTextEditorDragListener::DragOver(nsIDOMEvent* aDragEvent) if ( NS_SUCCEEDED(rv) ) { nsCOMPtr dragSession(do_QueryInterface(dragService)); if ( dragSession ) { + PRUint32 flags; + if (NS_SUCCEEDED(mEditor->GetFlags(&flags))) { + if ((flags & nsIHTMLEditor::eEditorDisabledMask) || + (flags & nsIHTMLEditor::eEditorReadonlyMask)) { + dragSession->SetCanDrop(PR_FALSE); + return NS_OK; + } + } PRBool flavorSupported = PR_FALSE; dragSession->IsDataFlavorSupported(kUnicodeMime, &flavorSupported); if ( !flavorSupported ) diff --git a/mozilla/editor/libeditor/text/nsEditorEventListeners.cpp b/mozilla/editor/libeditor/text/nsEditorEventListeners.cpp index 4d17b6f3faf..42158945f89 100644 --- a/mozilla/editor/libeditor/text/nsEditorEventListeners.cpp +++ b/mozilla/editor/libeditor/text/nsEditorEventListeners.cpp @@ -732,6 +732,14 @@ nsTextEditorDragListener::DragEnter(nsIDOMEvent* aDragEvent) if ( NS_SUCCEEDED(rv) ) { nsCOMPtr dragSession(do_QueryInterface(dragService)); if ( dragSession ) { + PRUint32 flags; + if (NS_SUCCEEDED(mEditor->GetFlags(&flags))) { + if ((flags & nsIHTMLEditor::eEditorDisabledMask) || + (flags & nsIHTMLEditor::eEditorReadonlyMask)) { + dragSession->SetCanDrop(PR_FALSE); + return NS_OK; + } + } PRBool flavorSupported = PR_FALSE; dragSession->IsDataFlavorSupported(kUnicodeMime, &flavorSupported); if ( !flavorSupported ) @@ -757,6 +765,14 @@ nsTextEditorDragListener::DragOver(nsIDOMEvent* aDragEvent) if ( NS_SUCCEEDED(rv) ) { nsCOMPtr dragSession(do_QueryInterface(dragService)); if ( dragSession ) { + PRUint32 flags; + if (NS_SUCCEEDED(mEditor->GetFlags(&flags))) { + if ((flags & nsIHTMLEditor::eEditorDisabledMask) || + (flags & nsIHTMLEditor::eEditorReadonlyMask)) { + dragSession->SetCanDrop(PR_FALSE); + return NS_OK; + } + } PRBool flavorSupported = PR_FALSE; dragSession->IsDataFlavorSupported(kUnicodeMime, &flavorSupported); if ( !flavorSupported )