change cursor to show action feedback when keys held down. r=saari/sr=sfraser. bug# 87911

This commit is contained in:
pinkerton%netscape.com 2001-06-27 23:38:42 +00:00
Родитель 0a5641d407
Коммит d819a81aae
2 изменённых файлов: 32 добавлений и 3 удалений

Просмотреть файл

@ -847,3 +847,34 @@ nsDragService :: EndDragSession ( )
}
//
// SetDragAction
//
// Override to set the cursor to the appropriate feedback when the
// drag action changes based on modifier keys
//
NS_IMETHODIMP
nsDragService :: SetDragAction ( PRUint32 anAction )
{
const PRInt32 kCopyCursorID = 144;
const PRInt32 kLinkCursorID = 145;
// don't do the work if it's the same.
if ( anAction == mDragAction )
return;
CursHandle newCursor = nsnull;
if ( anAction == DRAGDROP_ACTION_COPY )
newCursor = ::GetCursor ( kCopyCursorID );
else if ( anAction == DRAGDROP_ACTION_LINK )
newCursor = ::GetCursor ( kLinkCursorID );
if ( newCursor ) {
::HLock((Handle)newCursor);
::SetCursor ( *newCursor );
::HUnlock((Handle)newCursor);
}
else
::InitCursor();
return nsBaseDragService::SetDragAction(anAction);
}

Просмотреть файл

@ -100,9 +100,7 @@ SetDragActionBasedOnModifiers ( nsIDragService* inDragService, short inModifiers
action = nsIDragService::DRAGDROP_ACTION_COPY;
}
// I think we only need to set this when it's not "none"
if ( action != nsIDragService::DRAGDROP_ACTION_NONE )
dragSession->SetDragAction ( action );
dragSession->SetDragAction ( action );
}
} // SetDragActionBasedOnModifiers