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

View file

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

View file

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

View file

@ -55,7 +55,7 @@
<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>
</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>
</li>
<li class="dividerbar" role="presentation" data-bind="visible: allowDangerousActions, command: deleteWithoutMoveCommand">