mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +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 {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()))
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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(),
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue