mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-08 22:18:28 +03:00
rename deleteMessagesFromFolder() to moveMessagesToFolderType() as it is 90% to move instead of delete
This commit is contained in:
parent
cfbc04d3a4
commit
0200bf1674
4 changed files with 38 additions and 58 deletions
|
|
@ -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()))
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -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(),
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue