Fáilte go Breiseáin Firefox ar Android.
Add extra features and styles to make Firefox ar Android your own.
DúnLéirmheas ar Message Archive Options le piviul
Rated 4 out of 5 stars
We have done some little changes to overlay.js to have folder structure (root only or full structure) support permitting new %f (root structure) or %F (full structure) in the year and month options as asked from andras.tim, BlackForst and Illtud Daniel. This is de diff:
38,48c38,48
<   preferenceService: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.messagearchiveoptions@eviljeff.com."),
< 
<   get monthValue() {return this.preferenceService.getComplexValue("monthstring",Components.interfaces.nsISupportsString).toString();},
<   get yearValue()  {return this.preferenceService.getComplexValue("yearstring", Components.interfaces.nsISupportsString).toString();},
<   get keyModifiers() {
< 	var modifiers=new Array();
< 	if (this.preferenceService.getBoolPref("key.shift")) modifiers.push("shift");
< 	if (this.preferenceService.getBoolPref("key.alt")) modifiers.push("alt");
< 	if (this.preferenceService.getBoolPref("key.control")) modifiers.push("accel");
< 	return modifiers;
<   },
---
>     preferenceService: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.messagearchiveoptions@eviljeff.com."),
>     
>     get monthValue() {return this.preferenceService.getComplexValue("monthstring",Components.interfaces.nsISupportsString).toString();},
>     get yearValue()  {return this.preferenceService.getComplexValue("yearstring", Components.interfaces.nsISupportsString).toString();},
>     get keyModifiers() {
>         var modifiers=new Array();
>         if (this.preferenceService.getBoolPref("key.shift")) modifiers.push("shift");
>         if (this.preferenceService.getBoolPref("key.alt")) modifiers.push("alt");
>         if (this.preferenceService.getBoolPref("key.control")) modifiers.push("accel");
>         return modifiers;
>     },
50,55c50,98
<     var origfunc=BatchMessageMover.prototype.archiveSelectedMessages.toSource();
< 	origfunc=origfunc.replace('msgDate.toLocaleFormat("%Y-%m")','msgDate.toLocaleFormat(messagearchiveoptions.monthValue)');
< 	origfunc=origfunc.replace('msgDate.getFullYear().toString()','msgDate.toLocaleFormat(messagearchiveoptions.yearValue)');
< 	eval("BatchMessageMover.prototype.archiveSelectedMessages = "+origfunc);
< 	//BatchMessageMover.prototype.archiveSelectedMessages = this.archiveSelectedMessages;
< 	
---
>     BatchMessageMover.prototype.archiveSelectedMessages = function() {
>         gFolderDisplay.hintMassMoveStarting();
>         var selectedMessages = gFolderDisplay.selectedMessages;
>         if (!selectedMessages.length) {
>             return;
>         }
>         var messages = Components.classes['@mozilla.org/array;1'].createInstance(Components.interfaces.nsIMutableArray);
>         for (let i = 0; i < selectedMessages.length; ++i) {
>             let msgHdr = selectedMessages[i];
>             let server = msgHdr.folder.server;
>             let rootFolder = server.rootFolder;
>             let msgDate = new Date(msgHdr.date / 1000);
>             //let msgYear = msgDate.toLocaleFormat(messagearchiveoptions.yearValue);
>             //let monthFolderName = msgDate.toLocaleFormat(messagearchiveoptions.monthValue);
>             let fullPath = String(msgHdr.folder.URI).replace(server.serverURI, "").substring(1);
>             let rootPath = fullPath.substring(0, fullPath.indexOf('/', 1));
>             if (rootPath.length == 0) rootPath=fullPath;
>             let yearValue = messagearchiveoptions.yearValue.replace('%F', fullPath);
>             yearValue = yearValue.replace('%f', rootPath);
>             let msgYear = msgDate.toLocaleFormat(yearValue);
>             let monthValue = messagearchiveoptions.monthValue.replace('%F', fullPath);
>             monthValue = monthValue.replace('%f', rootPath);
>             let monthFolderName = msgDate.toLocaleFormat(monthValue);
>             let archiveFolderUri;
>             if (server.type == "rss") {
>                 archiveFolderUri = server.serverURI + "/Archives";
>             } else {
>                 let identity = getIdentityForServer(server);
>                 if (!identity) {
>                     identity = getIdentityForHeader(msgHdr);
>                 }
>                 archiveFolderUri = identity.archiveFolder;
>             }
>             let archiveFolder = GetMsgFolderFromUri(archiveFolderUri, false);
>             let granularity = archiveFolder.server.archiveGranularity;
>             let copyBatchKey = msgHdr.folder.URI + "\0";
>             if (granularity >= Components.interfaces.nsIMsgIncomingServer.perYearArchiveFolders) {
>                 copyBatchKey += msgYear;
>             }
>             if (granularity >= Components.interfaces.nsIMsgIncomingServer.perMonthArchiveFolders) {
>                 copyBatchKey += monthFolderName;
>             }
>             if (!(copyBatchKey in this._batches)) {
>                 this._batches[copyBatchKey] = [msgHdr.folder, archiveFolderUri, granularity, msgYear, monthFolderName];
>             }
>             this._batches[copyBatchKey].push(msgHdr);
>         }
>         this.processNextBatch();
>     }
Piviul
Chun do bhailiúcháin féin a chruthú, ní mór cuntas Breiseáin Mozilla a bheith agat.
 Breiseáin Android
    Breiseáin Android
 
    