I'm working on script which - as result - move selected folder to other one. I know how to add new subfolder, but I don't know how to move it.
I've got nsIMsgFolder of one to move and destination. Can you help me solve this problem?
Secondly - how easily get folder which path I know? Currently I do it like this:
Code: Select all
var searchedFolderPath = [ "RF", "AS", "Assign"];
var acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
.getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
for (var i = 0; i < accounts.length; i++) {
var server = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount).incomingServer;
if (server.prettyName.startsWith( accountName )) {
searchedServer = server;
var rootFolder = server.rootFolder;
if (rootFolder.hasSubFolders) {
var folder = rootFolder;
var subFolders = folder.subFolders;
for( j = 0; j < searchedFolderPath.length; j++) { //
while(subFolders.hasMoreElements()) {
folder = subFolders.getNext().QueryInterface(Components.interfaces.nsIMsgFolder);
if (folder.prettiestName == searchedFolderPath[j]) {
if (folder.hasSubFolders) {
subFolders = folder.subFolders;
break;
}
}
}
}
}
}
}