Communicator Drag & Drop Specification
Authored by: User Interface Group, ©1998 Netscape Communications Corp.
Last updated:
Summary
This document is the user interface specification for drag-and-drop mechanisms in Communicator
Table of Contents
Summary
Table of contents
Design goals
Design specification
Drag-and-drop feedback (this area is under construction) |
Cursor |
draggable objects |
drop targets |
|
|
Design Goals 
This is the centralized spec for drag-and-drop. Drag-and-drop refers to users clicking
on a piece of information, and moving this information to another place
by holding the mouse button down, finally releasing the mouse button to
"drop" the information.
Drag and drop provides a way for the end-user to quickly transfer information between
places in the communicator application, and to exchange information between
communicator and other applications or the OS environment.
As a rule of thumb, for most operations drag-and-drop should not be the only means
by which information can be transferred as this capability cannot be readily
discovered. Designers should thus always provide alternative means of accomplishing
the same transfer of information, e.g. by using the clipboard or through
menu commands.
Design Specification 
Dragging Content 
Dragging content from one HTML editor to another (including HTML Mail Compose) will preserve
all formatting and spacing. If the drop target is a plain text compose
window, or an unknown type of target, then convert the html to plaintext
and drop the formatting.
Dragging text  |
to this window |
on this target |
performs this action |
Current browser window |
Print button |
Prints selection |
Compose window |
Message pane |
Pastes text |
Editor window |
Any insertion point |
Pastes text |
Desktop |
Anywhere |
Saves the text as a clipping (Mac) On other |
Dragging an image  |
to this window |
on this target |
performs this action |
Desktop |
Anywhere |
(Single image only) Copies image to local hard drive |
Current browser window |
Print button |
Prints selected image |
Compose window |
Attachment pane or tab |
Attaches image - does not appear inline |
HTML message pane |
Pastes image inline; image does not appear in the attachment pane |
Non-HTML message pane |
Attaches image - does not appear inline |
Editor window |
Any insertion point |
Pastes image |
Dragging linked text  |
to this window |
on this target |
performs this action |
Current browser window |
Print button |
Prints selection |
Quickfile |
Adds bookmark |
Customizable toolbar |
Creates button which acts as a link to that page |
Another browser window |
Location field |
Pastes URL without loading |
Page area |
Loads page |
Bookmark window |
Bookmark folder |
Adds bookmark to folder (at bottom) |
Anywhere else |
Adds bookmark |
Compose
window |
HTML
message pane |
Pastes
text with link intact |
Non-HTML
message pane |
Pastes
text without link intact |
Editor
window |
Any
selection |
Makes
the selection a link |
Any
insertion point |
Pastes
the text with link intact |
Taskbar |
Browser
icon |
Opens
link in new browser window |
Dragging
a linked image  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
(Single
image only) Copies image to local hard drive |
Current
browser window |
Print
button |
Prints
selection |
Quickfile |
Adds
bookmark to the link |
Customizable
toolbar |
Creates
button which acts as a link to that page |
Another
browser window |
Location
field |
Pastes
link URL without loading |
Page
area |
Loads
linked page |
Bookmark
window |
Bookmark
folder |
Adds
bookmark to link to folder (at bottom) |
Anywhere
else |
Adds
bookmark to link |
Compose
window |
Attachment
pane or tab |
Attaches
image without link intact; image does not appear inline |
HTML
message pane |
Pastes
image inline with link intact |
Plain
message pane |
Attaches
image without link intact; image does not appear inline |
Editor
window |
Any
selection |
Inserts
image with link intact and makes the selection a link |
Any
insertion point |
Pastes
the image with link intact |
Taskbar |
Browser
icon |
Opens
link in new browser window |
Dragging
from the Desktop 
Any file can
be dragged from the desktop to the compose window, on the attachments pane
or tab, where it is attached (but not viewed inline). Any file that the
browser supports, such as an .html, .gif or .aif, can be dragged to the
browser window, the bookmarks window, the bookmarks quickfile, and the
customizable toolbar. A file dragged to a browser window is immediately
loaded an viewed/played.
HTML files
and Messenger/Collabra message files can also be dragged to these
places:
Dragging
a HTML file from the desktop  |
to
this window |
on
this target |
performs
this action |
Desktop |
Navigator
icon |
Opens
file in Navigator |
Composer
icon |
Opens
file in Composer |
Compose
window |
Attachment
pane or tab |
Attaches
file (does not appear inline) |
Editor
window |
Any
selection |
Makes
the selection a link |
Any
insertion point |
Pastes
the title of the page and makes it a link |
Taskbar |
Browser
icon |
Loads
file in new browser window |
Editor
icon |
Opens
file in the editor |
.
Dragging
an Messenger or Collabra file from the desktop  |
to
this window |
on
this target |
performs
this action |
Compose
window |
Attachment
pane or tab |
Attaches
file (does not appear inline) |
Desktop |
Messenger
or Collabra icon |
Opens
that file in that application. |
Taskbar |
Mail
icon |
Opens
message in message window |
Dragging
from the Browser 
Dragging
from the Browser window
Dragging
a page proxy from a browser window  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Creates
shortcut to page |
Current
browser window |
Customizable
toolbar |
Creates
button which acts as a link to that page |
Quickfile |
Adds
bookmark |
Print
button |
Prints
current page (brings up print dialog box) |
Another
browser window |
Location
field |
Pastes
URL without loading |
Page
area |
Loads
page |
Bookmark
window |
Bookmark
folder |
Adds
bookmark in folder (at bottom) |
Anywhere
else |
Adds
bookmark |
Compose
window |
Attachment
pane or tab |
Attaches
page (does not appear inline) |
HTML
message pane |
Pastes
link (page is not attached and does not appear inline) |
Non-HTML
message pane |
Attaches
page (does not appear inline) |
Editor
window |
Any
selection |
Makes
the selection a link |
Any
insertion point |
Pastes
the title of the page and makes it a link |
Taskbar |
Browser
icon |
Loads
file in new browser window |
Editor
icon |
Opens
file in the editor |
Dragging
from the History window 
Dragging
a page icon from the history window  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Creates
shortcut to page |
Any
browser window |
Customizable
toolbar |
Creates
button which acts as a link to that page |
Location
field |
Pastes
URL without loading |
Page
area |
Loads
page |
Quickfile |
Adds
bookmark |
Bookmark
window |
Bookmark
folder |
Adds
bookmark in folder (at bottom) |
Anywhere
else |
Adds
bookmark |
Compose
window |
Attachment
pane or tab |
Attaches
page (does not appear inline) |
HTML
message pane |
Pastes
link (page is not attached and does not appear inline) |
Non-HTML
message pane |
Attaches
page (does not appear inline) |
Editor
window |
Any
selection |
Makes
the selection a link |
Any
insertion point |
Pastes
the title of the page and makes it a link |
Taskbar |
Browser
icon |
Opens
page in new browser window |
Editor
icon |
Opens
page in editor |
Dragging
from the Bookmarks window 
Dragging
a page icon from the bookmarks window  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Creates
shortcut to page |
Any
browser window |
Customizable
toolbar |
Creates
button which acts as a link to that page |
Location
field |
Pastes
URL without loading |
Page
area |
Loads
page |
Compose
window |
Attachment
pane or tab |
Attaches
page (does not appear inline) |
HTML
message pane |
Pastes
link (page is not attached and does not appear inline) |
Non-HTML
message pane |
Attaches
page (does not appear inline) |
Editor
window |
Any
selection |
Makes
the selection a link |
Any
insertion point |
Pastes
the title of the page and makes it a link |
Taskbar |
Browser
icon |
Opens
page in new browser window |
Editor
icon |
Opens
page in editor |
Dragging
from Mail & News 
Dragging
from the Folders Pane
Dragging
a folder proxy or several folder proxys  |
to
this window |
on
this target |
performs
this action |
Desktop |
anywhere
but the trash |
creats
a shortcut / alias to the folder |
trash |
deletes
the folder |
Navigator |
Customizable
toolbar |
creates
a button that opens Messenger to that folder |
Bookmarks
quickfile |
creates
a bookmark that opens Messenger to that folder |
NavCenter |
Any
writable container (bookmarks, history) |
creates
a bookmark that opens Messenger to that folder |
Messenger:
Folder pane |
Folder
pane: personal folder |
moves
the folder into it |
Folder
pane: shared / writable folder |
copies
the folder into it |
Messenger:Thread
pane |
Anywhere |
opens
that folder into it |
Mail
Compose |
addressing
pane |
if
the item is a public folder, then this will add a address line to the folder
(currently out) |
if
it is a personal folder. then a CC line is added, copying the message to
the folder (Not on the in list) |
Dragging
a newsgroup proxy or proxys  |
to
this window |
on
this target |
performs
this action |
Desktop |
anywhere
but the trash |
creats
a shortcut / alias to the newsgroup |
trash |
unsubscribes
from the newsgroup |
Navigator |
Customizable
toolbar |
creates
a button that opens Messenger to that newsgroup |
Bookmarks
quickfile |
creates
a bookmark that opens Messenger to that newsgroup |
NavCenter |
Any
writable container (bookmarks, history) |
creates
a bookmark that opens Messenger to that newsgroup |
Messenger:
Folder pane |
Anywhere
within the newsgroup's server |
reorders
the newsgroup |
Messenger:Thread
pane |
Anywhere |
opens
that newsgroup into it |
Mail
Compose |
Addressing
pane |
addresses
the message to the newsgroup(s) |
Aside from that,
drag and drop from the folders window is restricted to:
dragging
local, user-made mail folders (this means folders other than the inbox,
outbox, trash, and drafts folders) to:
-
the local inbox
-
the local trash
- if the folder's thread window or any of its message windows are open
at the time, this action closes them.
-
another local
user-created mail folder
-
top level of
local mail server
-
any mail folder
on the remote server, including the top level.*
dragging any
remote server mail folder other than the inbox or the trash to:
-
the local inbox*
-
the local trash*
-
another local
user-created mail folder*
-
top level of
local mail server*
-
any other remote
mail folder
-
top level of
the remote mail server
Anytime a folder
is dragged to the trash, its thread window and any associated message windows
are automatically closed.
* These actions
move the folder after one of the following dialog boxes pops up:
or
However,
when the destination is the wrong trash folder, one of the following dialogs
pops up instead:
or
All of these
dialogs should be followed by a cancellable progress dialog. Note that
none of these warnings should appear when moving messages around from the
thread or message windows - they only apply when moving entire folders.
Dragging
from the Thread window 
The drag and
drop behavior of the content of HTML messages is the same as that of browser
windows (see above).
Dragging
the thread window proxy  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Creates
a shortcut to that window |
Any
browser window |
Customizable
toolbar |
Creates
a button which acts as a shortcut to that window |
Quickfile |
Creates
a bookmark to that window |
Dragging
a message or several messages  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Creates
a shortcut to that message (single messages only) |
Any
browser window |
Customizable
toolbar |
Creates
a button which acts as a shortcut to that message (single messages only) |
Quickfile |
Creates
a bookmark to that message (single messages only) |
Folders
window |
Any
mail folder |
Moves
message(s) - copies it for news messages |
Current
thread window |
File
button |
Dragging
to the button drops down a list of mail folders; the user can then select
a destination folder. Upon mouseup the message(s) are moved. |
Any
other mail thread window |
List
of messages |
Moves
message(s) - copies it for news messages |
Compose
window |
Attachments
tab or pane |
Attaches
message(s).. Does not quote it inline |
*
When a message or thread is dragged to the trash, any open message windows
are automatically closed.
Dragging
a thread icon |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Creates
a shortcut to that window |
Any
browser window |
Customizable
toolbar |
Creates
a button which acts as a shortcut to that window |
Quickfile |
Creates
a bookmark to that window |
Folders
window |
Any
mail folder |
Moves
thread- copies it for news messages |
Current
thread window |
File
button |
Dragging
to the button drops down a list of mail folders; the user can then select
a destination folder. Upon mouseup the thread ismoved. |
Any
other mail thread window |
List
of messages |
Moves
thread- copies it for news messages |
Compose
window |
Attachments
tab or pane |
Attaches
messages. Does not quote them inline |
*
When a message or thread is dragged to the trash, any open message windows
are automatically closed.
Dragging
an attached file  |
to
this window |
on
this target |
performs
this action |
Desktop |
On
top of an application icon |
Launches
that application and opens the file |
Anywhere
else |
Copies
the attached file to the desktop |
Browser
window |
Content
area |
Loads
the file (browser-readable files only) |
Compose
message window |
Attachment
pane or tab |
Attaches
the file |
Dragging
from the Message window 
The drag and
drop behavior of the content of HTML messages is the same as that of browser
windows (see above).
Dragging
the message proxy  |
to
this window |
on
this target |
performs
this action |
Desktop |
Anywhere |
Saves
message as text file |
Any
browser window |
Customizable
toolbar |
Creates
a button which acts as a shortcut to that message |
Folders
pane |
Any
mail folder |
Moves
message - copies it for news messages |
Any
other mail thread window |
List
of messages |
Moves
message - copies it for news messages |
Compose
message window |
Attachments
tab or pane |
Attaches
message. Does not quote it inline. |
*
When a message is dragged to the trash, the message window is automatically
closed.
Dragging
from the Compose window 
Dragging
an address proxy  |
to
this window |
on
this1 target |
performs
this action |
Desktop |
anywhere |
removes
the address(es) from the addressing pane |
Mail
Compose |
addressing
pane |
reorders
the address within the pane |
Dragging
an attachment proxy  |
to
this window |
on
this1 target |
performs
this action |
Desktop |
anywhere |
removes
the attachment(s) from the addressing pane |
|
|
|
Dragging
from the Address book window or Select Addresses window 
Dragging
a single address book entry or multiple entries,
or
a single mailing list or multiple, or a combination of the two  |
to
this window |
on
this1 target |
performs
this action |
Desktop |
Anywhere |
Creates
Vcard (.vcf) file for that person (or multiple vcards for multiple people) |
Messenger
Icon |
Opens
a compose window preaddressed to that person or mailing list |
Any
browser window |
Customizable
toolbar |
Creates
a button which opens a compose window preaddressed to that person |
NavCenter
(Bookmarks or other writable area) |
Creates
a bookmark which opens a mail compose window preaddresses to that person. |
Compose
window |
Attachment
pane or tab |
Attaches
Netscape-created vcard - does not appear inline |
Addressing
area on message pane |
Adds
name(s) as recipient(s) |
Address
book |
Mailing
list icon (in either pane) |
Adds
selected entry(ies) to mailing list |
Mailing
list properties window |
Adds
selected entry(ies) to mailing list |
Address
Book (in left pane) |
Adds
selected entry(ies) to the address book |
Mail
Compose or Composer |
Any
selection |
Makes
selection a mailto: link to all entries |
Any
insertion point |
Inserts
name(s) and makes it a mailto: link |
Taskbar |
Mail
icon |
Opens
a compose window preaddressed to that person or mailing list |
Dragging
a single address book or multiple address books  |
to
this window |
on
this1 target |
performs
this action |
Any
browser window |
Customizable
toolbar |
Creates
a button which opens the address book with that address book selected |
NavCenter
(Bookmarks or other writable area) |
Creates
a bookmark which opens the address book with that address book selected |
Address
book |
Address
Book (in left pane) |
Reorders
the address books in the left pane. |
Dragging
from Other Applications 
Dragging
comma or tab-delimited text  |
to
this window |
on
this1 target |
performs
this action |
Mail
Compose |
addressing
pane |
Adds
names as recipients |
insertion
point |
pastes
the content; if the content is html text and the user is in HTML compose
mode, we should interpret it as html. |
Address
Book |
Mailing
list icon (in either pane) |
Adds
name(s) to mailing list |
Mailing
list properties window |
Adds
name(s) to mailing list |
Address
Book (in left pane) |
Adds
name(s) to the address book |