rename deleteMessagesFromFolder() to moveMessagesToFolderType() as it is 90% to move instead of delete

This commit is contained in:
the-djmaze 2022-09-27 18:59:07 +02:00
parent cfbc04d3a4
commit 0200bf1674
4 changed files with 38 additions and 58 deletions

View file

@ -103,16 +103,16 @@ export class AppUser extends AbstractApp {
} }
/** /**
* @param {number} iDeleteType * @param {number} iFolderType
* @param {string} sFromFolderFullName * @param {string} sFromFolderFullName
* @param {Array} aUidForRemove * @param {Array} aUidForRemove
* @param {boolean=} bUseFolder = true * @param {boolean=} bDelete = false
*/ */
deleteMessagesFromFolder(iDeleteType, sFromFolderFullName, aUidForRemove, bUseFolder) { moveMessagesToFolderType(iFolderType, sFromFolderFullName, aUidForRemove, bDelete) {
let oMoveFolder = null, let oMoveFolder = null,
nSetSystemFoldersNotification = null; nSetSystemFoldersNotification = null;
switch (iDeleteType) { switch (iFolderType) {
case FolderType.Spam: case FolderType.Spam:
oMoveFolder = getFolderFromCacheList(FolderUserStore.spamFolder()); oMoveFolder = getFolderFromCacheList(FolderUserStore.spamFolder());
nSetSystemFoldersNotification = SetSystemFoldersNotification.Spam; nSetSystemFoldersNotification = SetSystemFoldersNotification.Spam;
@ -131,22 +131,19 @@ export class AppUser extends AbstractApp {
// no default // no default
} }
bUseFolder = undefined === bUseFolder ? true : !!bUseFolder; if (!bDelete && (
if (bUseFolder) { (FolderType.Spam === iFolderType && UNUSED_OPTION_VALUE === FolderUserStore.spamFolder()) ||
if ( (FolderType.Trash === iFolderType && UNUSED_OPTION_VALUE === FolderUserStore.trashFolder()) ||
(FolderType.Spam === iDeleteType && UNUSED_OPTION_VALUE === FolderUserStore.spamFolder()) || (FolderType.Archive === iFolderType && UNUSED_OPTION_VALUE === FolderUserStore.archiveFolder())
(FolderType.Trash === iDeleteType && UNUSED_OPTION_VALUE === FolderUserStore.trashFolder()) || )) {
(FolderType.Archive === iDeleteType && UNUSED_OPTION_VALUE === FolderUserStore.archiveFolder()) bDelete = true;
) {
bUseFolder = false;
}
} }
if (!oMoveFolder && bUseFolder) { if (!oMoveFolder && !bDelete) {
showScreenPopup(FolderSystemPopupView, [nSetSystemFoldersNotification]); showScreenPopup(FolderSystemPopupView, [nSetSystemFoldersNotification]);
} else if ( } else if (
!bUseFolder || bDelete ||
(FolderType.Trash === iDeleteType && (FolderType.Trash === iFolderType &&
(sFromFolderFullName === FolderUserStore.spamFolder() (sFromFolderFullName === FolderUserStore.spamFolder()
|| sFromFolderFullName === FolderUserStore.trashFolder())) || sFromFolderFullName === FolderUserStore.trashFolder()))
) { ) {

View file

@ -52,7 +52,15 @@ const
* @param {Array=} aMessages = null * @param {Array=} aMessages = null
* @returns {void} * @returns {void}
*/ */
listAction = (...args) => MessagelistUserStore.setAction(...args); listAction = (...args) => MessagelistUserStore.setAction(...args),
moveMessagesToFolderType = (toFolderType, bDelete) =>
rl.app.moveMessagesToFolderType(
toFolderType,
FolderUserStore.currentFolderFullName(),
MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(),
bDelete
);
let let
iGoToUpOrDownTimeout = 0, iGoToUpOrDownTimeout = 0,
@ -218,7 +226,7 @@ export class MailMessageList extends AbstractViewRight {
).throttle(50)); ).throttle(50));
decorateKoCommands(this, { decorateKoCommands(this, {
multyForwardCommand: canBeMovedHelper, forwardCommand: canBeMovedHelper,
deleteWithoutMoveCommand: canBeMovedHelper, deleteWithoutMoveCommand: canBeMovedHelper,
deleteCommand: canBeMovedHelper, deleteCommand: canBeMovedHelper,
archiveCommand: canBeMovedHelper, archiveCommand: canBeMovedHelper,
@ -246,7 +254,7 @@ export class MailMessageList extends AbstractViewRight {
} }
} }
multyForwardCommand() { forwardCommand() {
showMessageComposer([ showMessageComposer([
ComposeType.ForwardAsAttachment, ComposeType.ForwardAsAttachment,
MessagelistUserStore.listCheckedOrSelected() MessagelistUserStore.listCheckedOrSelected()
@ -255,49 +263,24 @@ export class MailMessageList extends AbstractViewRight {
deleteWithoutMoveCommand() { deleteWithoutMoveCommand() {
if (SettingsCapa('DangerousActions')) { if (SettingsCapa('DangerousActions')) {
rl.app.deleteMessagesFromFolder( moveMessagesToFolderType(FolderType.Trash, true);
FolderType.Trash,
FolderUserStore.currentFolderFullName(),
MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(),
false
);
} }
} }
deleteCommand() { deleteCommand() {
rl.app.deleteMessagesFromFolder( moveMessagesToFolderType(FolderType.Trash);
FolderType.Trash,
FolderUserStore.currentFolderFullName(),
MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(),
true
);
} }
archiveCommand() { archiveCommand() {
rl.app.deleteMessagesFromFolder( moveMessagesToFolderType(FolderType.Archive);
FolderType.Archive,
FolderUserStore.currentFolderFullName(),
MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(),
true
);
} }
spamCommand() { spamCommand() {
rl.app.deleteMessagesFromFolder( moveMessagesToFolderType(FolderType.Spam);
FolderType.Spam,
FolderUserStore.currentFolderFullName(),
MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(),
true
);
} }
notSpamCommand() { notSpamCommand() {
rl.app.deleteMessagesFromFolder( moveMessagesToFolderType(FolderType.NotSpam);
FolderType.NotSpam,
FolderUserStore.currentFolderFullName(),
MessagelistUserStore.listCheckedOrSelectedUidsWithSubMails(),
true
);
} }
moveCommand() {} moveCommand() {}
@ -720,7 +703,7 @@ export class MailMessageList extends AbstractViewRight {
}); });
addShortcut('f,mailforward', 'shift', [Scope.MessageList, Scope.MessageView], () => { addShortcut('f,mailforward', 'shift', [Scope.MessageList, Scope.MessageView], () => {
this.multyForwardCommand(); this.forwardCommand();
return false; return false;
}); });

View file

@ -81,12 +81,12 @@ export class MailMessageView extends AbstractViewRight {
createCommandReplyHelper = type => createCommandReplyHelper = type =>
createCommand(() => this.replyOrforward(type), this.canBeRepliedOrForwarded), createCommand(() => this.replyOrforward(type), this.canBeRepliedOrForwarded),
createCommandActionHelper = (folderType, useFolder) => createCommandActionHelper = (folderType, bDelete) =>
createCommand(() => { createCommand(() => {
const message = currentMessage(); const message = currentMessage();
if (message) { if (message) {
currentMessage(null); currentMessage(null);
rl.app.deleteMessagesFromFolder(folderType, message.folder, [message.uid], useFolder); rl.app.moveMessagesToFolderType(folderType, message.folder, [message.uid], bDelete);
} }
}, this.messageVisibility); }, this.messageVisibility);
@ -205,11 +205,11 @@ export class MailMessageView extends AbstractViewRight {
this.forwardAsAttachmentCommand = createCommandReplyHelper(ComposeType.ForwardAsAttachment); this.forwardAsAttachmentCommand = createCommandReplyHelper(ComposeType.ForwardAsAttachment);
this.editAsNewCommand = createCommandReplyHelper(ComposeType.EditAsNew); this.editAsNewCommand = createCommandReplyHelper(ComposeType.EditAsNew);
this.deleteCommand = createCommandActionHelper(FolderType.Trash, true); this.deleteCommand = createCommandActionHelper(FolderType.Trash);
this.deleteWithoutMoveCommand = createCommandActionHelper(FolderType.Trash, false); this.deleteWithoutMoveCommand = createCommandActionHelper(FolderType.Trash, true);
this.archiveCommand = createCommandActionHelper(FolderType.Archive, true); this.archiveCommand = createCommandActionHelper(FolderType.Archive);
this.spamCommand = createCommandActionHelper(FolderType.Spam, true); this.spamCommand = createCommandActionHelper(FolderType.Spam);
this.notSpamCommand = createCommandActionHelper(FolderType.NotSpam, true); this.notSpamCommand = createCommandActionHelper(FolderType.NotSpam);
decorateKoCommands(this, { decorateKoCommands(this, {
messageEditCommand: self => self.messageVisibility(), messageEditCommand: self => self.messageVisibility(),

View file

@ -55,7 +55,7 @@
<li role="presentation" data-bind="click: listSetAllSeen, css: {'disabled': !messageList().length}"> <li role="presentation" data-bind="click: listSetAllSeen, css: {'disabled': !messageList().length}">
<a href="#" tabindex="-1" data-icon="" data-i18n="MESSAGE_LIST/MENU_SET_ALL_SEEN"></a> <a href="#" tabindex="-1" data-icon="" data-i18n="MESSAGE_LIST/MENU_SET_ALL_SEEN"></a>
</li> </li>
<li class="dividerbar" role="presentation" data-bind="command: multyForwardCommand"> <li class="dividerbar" role="presentation" data-bind="command: forwardCommand">
<a href="#" tabindex="-1" data-icon="↞" data-i18n="MESSAGE_LIST/BUTTON_MULTY_FORWARD"></a> <a href="#" tabindex="-1" data-icon="↞" data-i18n="MESSAGE_LIST/BUTTON_MULTY_FORWARD"></a>
</li> </li>
<li class="dividerbar" role="presentation" data-bind="visible: allowDangerousActions, command: deleteWithoutMoveCommand"> <li class="dividerbar" role="presentation" data-bind="visible: allowDangerousActions, command: deleteWithoutMoveCommand">