This commit is contained in:
the-djmaze 2022-09-28 09:29:45 +02:00
parent a8f4bab23e
commit afe4da1f65
2 changed files with 4 additions and 7 deletions

View file

@ -97,16 +97,13 @@ Object.assign(ko.bindingHandlers, {
dragImage || (dragImage = elementById('messagesDragImage')); dragImage || (dragImage = elementById('messagesDragImage'));
if (data && dragImage && !ThemeStore.isMobile()) { if (data && dragImage && !ThemeStore.isMobile()) {
dragImage.querySelector('.text').textContent = data.size; dragImage.querySelector('.text').textContent = data.size;
let img = dragImage.querySelector('i');
img.classList.toggle('icon-copy', e.ctrlKey);
img.classList.toggle('icon-mail', !e.ctrlKey);
// Else Chrome doesn't show it // Else Chrome doesn't show it
dragImage.style.left = e.clientX + 'px'; dragImage.style.left = e.clientX + 'px';
dragImage.style.top = e.clientY + 'px'; dragImage.style.top = e.clientY + 'px';
dragImage.style.right = 'auto'; dragImage.style.right = 'auto';
setDragAction(e, 'messages', data.copy ? 'copy' : 'move', data, dragImage); setDragAction(e, 'messages', 'copyMove', data, dragImage);
// Remove the Chrome visibility // Remove the Chrome visibility
dragImage.style.cssText = ''; dragImage.style.cssText = '';
@ -132,6 +129,7 @@ Object.assign(ko.bindingHandlers, {
fnHover = e => { fnHover = e => {
if (dragMessages()) { if (dragMessages()) {
fnStop(e); fnStop(e);
e.dataTransfer.dropEffect = e.ctrlKey ? 'copy' : 'move';
element.classList.add('droppableHover'); element.classList.add('droppableHover');
if (folder?.collapsed()) { if (folder?.collapsed()) {
dragTimer.start(() => { dragTimer.start(() => {
@ -147,10 +145,10 @@ Object.assign(ko.bindingHandlers, {
dragleave: fnStop, dragleave: fnStop,
drop: e => { drop: e => {
fnStop(e); fnStop(e);
if (dragMessages() && ['move','copy'].includes(e.dataTransfer.effectAllowed)) { if (dragMessages() && 'copyMove' == e.dataTransfer.effectAllowed) {
let data = dragData.data; let data = dragData.data;
if (folder && data?.folder && data.size) { if (folder && data?.folder && data.size) {
moveMessagesToFolder(data.folder, data, folder.fullName, /*data.copy &&*/ e.ctrlKey); moveMessagesToFolder(data.folder, data, folder.fullName, e.ctrlKey);
} }
} }
} }

View file

@ -384,7 +384,6 @@ export class MailMessageList extends AbstractViewRight {
const item = ko.dataFor(doc.elementFromPoint(event.clientX, event.clientY)); const item = ko.dataFor(doc.elementFromPoint(event.clientX, event.clientY));
item?.checked?.(true); item?.checked?.(true);
const uids = MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(); const uids = MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails();
uids.copy = event.ctrlKey; // dropEffect
uids.folder = FolderUserStore.currentFolderFullName(); uids.folder = FolderUserStore.currentFolderFullName();
return uids; return uids;
} }