diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox
index afa838b4c..1ac3a55b9 100644
--- a/UI/Templates/MailerUI/UIxMailMainFrame.wox
+++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox
@@ -256,9 +256,9 @@
ng-dblclick="app.editFolder(folder)"
ui-sref="mail.account.mailbox({accountId: account.id, mailboxId: (folder.path | encodeUri)})"
ui-sref-active="sg-active">
- {{app.iconForFolder(folder)}}
+ {{app.metadataForFolder(folder).icon}}
{{folder.name}}
+ ng-show="app.editMode != folder.path">{{app.metadataForFolder(folder).name}}
more_vert
-
+
@@ -306,11 +306,22 @@
-
+
+
+
- -->
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/WebServerResources/js/Mailer/Mailbox.service.js b/UI/WebServerResources/js/Mailer/Mailbox.service.js
index f8fc1bf6b..ff30b9ab9 100644
--- a/UI/WebServerResources/js/Mailer/Mailbox.service.js
+++ b/UI/WebServerResources/js/Mailer/Mailbox.service.js
@@ -377,6 +377,16 @@
return Mailbox.$$resource.post(this.id, 'expunge');
};
+ /**
+ * @function $setFolderAs
+ * @memberof Mailbox.prototype
+ * @desc Set a folder as Drafts/Sent/Trash
+ * @returns a promise of the HTTP operation
+ */
+ Mailbox.prototype.$setFolderAs = function(type) {
+ return Mailbox.$$resource.post(this.id, 'setAs' + type + 'Folder');
+ };
+
/**
* @function $emptyTrash
* @memberof Mailbox.prototype
diff --git a/UI/WebServerResources/js/Mailer/MailboxesController.js b/UI/WebServerResources/js/Mailer/MailboxesController.js
index c1881cf60..6f7e4aebf 100644
--- a/UI/WebServerResources/js/Mailer/MailboxesController.js
+++ b/UI/WebServerResources/js/Mailer/MailboxesController.js
@@ -26,7 +26,8 @@
vm.confirmDelete = confirmDelete;
vm.markFolderRead = markFolderRead;
vm.share = share;
- vm.iconForFolder = iconForFolder;
+ vm.metadataForFolder = metadataForFolder;
+ vm.setFolderAs = setFolderAs;
if ($state.current.name == 'mail' && vm.accounts.length > 0 && vm.accounts[0].$mailboxes.length > 0) {
// Redirect to first mailbox of first account if no mailbox is selected
@@ -276,22 +277,30 @@
}
} // share
- function iconForFolder(folder) {
+ function metadataForFolder(folder) {
if (folder.type == 'inbox')
- return 'inbox';
+ return {name: folder.name, icon:'inbox'};
else if (folder.type == 'draft')
- return 'drafts';
+ return {name: l('DraftsFolderName'), icon: 'drafts'};
else if (folder.type == 'sent')
- return 'send';
+ return {name: l('SentFolderName'), icon: 'send'};
else if (folder.type == 'trash')
- return 'delete';
+ return {name: l('TrashFolderName'), icon: 'delete'};
else if (folder.type == 'additional')
- return 'folder_shared';
+ return {name: folder.name, icon: 'folder_shared'};
//if ($rootScope.currentFolder == folder)
// return 'folder_open';
- return 'folder';
+ return {name: folder.name, icon: 'folder'};
+ }
+
+ function setFolderAs(folder, type) {
+ folder.$setFolderAs(type).then(function() {
+ folder.$account.$getMailboxes({reload: true});
+ }, function(error) {
+ Dialog.alert(l('Warning'), error);
+ });
}
}