Skip to content
This repository has been archived by the owner on Nov 30, 2019. It is now read-only.

Commit

Permalink
original 3.3.0 version by Paolo "Kaosmos"
Browse files Browse the repository at this point in the history
  • Loading branch information
alpianon committed Oct 24, 2018
1 parent c7bf889 commit 486229e
Show file tree
Hide file tree
Showing 16 changed files with 377 additions and 349 deletions.
44 changes: 23 additions & 21 deletions [email protected]/chrome.manifest
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
content mboximport chrome/content/mboximport/

overlay chrome://messenger/content/mailWindowOverlay.xul chrome://mboximport/content/mboximport.xul
overlay chrome://messenger/content/messenger.xul chrome://mboximport/content/messengerOverlay.xul
overlay chrome://messenger/content/SearchDialog.xul chrome://mboximport/content/sdOverlay.xul
overlay chrome://messenger/content/msgPrintEngine.xul chrome://mboximport/content/printEngineWindowOverlay.xul
content mboximport chrome/mboximport/content/mboximport/

locale mboximport en-US chrome/mboximport/locale/en-US/mboximport/
locale mboximport ca chrome/mboximport/locale/ca/mboximport/
locale mboximport da chrome/mboximport/locale/da/mboximport/
locale mboximport de chrome/mboximport/locale/de/mboximport/
locale mboximport es-ES chrome/mboximport/locale/es-ES/mboximport/
locale mboximport fr chrome/mboximport/locale/fr/mboximport/
locale mboximport gl-ES chrome/mboximport/locale/gl-ES/mboximport/
locale mboximport hu-HU chrome/mboximport/locale/hu-HU/mboximport/
locale mboximport hy-AM chrome/mboximport/locale/hu-HU/mboximport/
locale mboximport it chrome/mboximport/locale/it/mboximport/
locale mboximport ja chrome/mboximport/locale/ja/mboximport/
locale mboximport ko-KR chrome/mboximport/locale/ko-KR/mboximport/
locale mboximport nl chrome/mboximport/locale/nl/mboximport/
locale mboximport pl chrome/mboximport/locale/pl/mboximport/
locale mboximport pt-PT chrome/mboximport/locale/pt-PT/mboximport/
locale mboximport ru chrome/mboximport/locale/ru/mboximport/
locale mboximport sk-SK chrome/mboximport/locale/sk-SK/mboximport/
locale mboximport sl-SI chrome/mboximport/locale/sl-SI/mboximport/
locale mboximport sv-SE chrome/mboximport/locale/sv-SE/mboximport/
locale mboximport zh-CN chrome/mboximport/locale/zh-CN/mboximport/

locale mboximport en-US chrome/locale/en-US/mboximport/
locale mboximport ca chrome/locale/ca/mboximport/
locale mboximport da chrome/locale/da/mboximport/
locale mboximport de chrome/locale/de/mboximport/
locale mboximport es-ES chrome/locale/es-ES/mboximport/
locale mboximport fr chrome/locale/fr/mboximport/
locale mboximport gl-ES chrome/locale/gl-ES/mboximport/
locale mboximport hu-HU chrome/locale/hu-HU/mboximport/
locale mboximport hy-AM chrome/locale/hu-HU/mboximport/
locale mboximport it chrome/locale/it/mboximport/
locale mboximport ja chrome/locale/ja/mboximport/
locale mboximport ko-KR chrome/locale/ko-KR/mboximport/
locale mboximport nl chrome/locale/nl/mboximport/
locale mboximport pl chrome/locale/pl/mboximport/
locale mboximport pt-PT chrome/locale/pt-PT/mboximport/
locale mboximport ru chrome/locale/ru/mboximport/
locale mboximport sk-SK chrome/locale/sk-SK/mboximport/
locale mboximport sl-SI chrome/locale/sl-SI/mboximport/
locale mboximport sv-SE chrome/locale/sv-SE/mboximport/
locale mboximport zh-CN chrome/locale/zh-CN/mboximport/



Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ var autoBackup = {
try {
var dir = gBackupPrefBranch.getCharPref("extensions.importexporttools.autobackup.dir");
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
.createInstance(Components.interfaces.nsIFile);
file.initWithPath(dir);
if (! file.exists() || ! file.isDirectory())
file = null;
Expand All @@ -47,16 +47,7 @@ var autoBackup = {
var file = null;
}
if (! file) {
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
var strbundle = document.getElementById("strings");
fp.init(window, strbundle.getString("fpTitle"), nsIFilePicker.modeGetFolder);
var res=fp.show();
if (res==nsIFilePicker.returnOK)
file = fp.file;
else
return null;
// opener.autoBackup.filePicker = true;
file = IETgetPickerModeFolder();
autoBackup.filePicker = true;
}
return file;
Expand Down Expand Up @@ -172,7 +163,7 @@ var autoBackup = {
var filepath = destDir.path;
var newpath = entrypath.replace(root.path,filepath);
var LF = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
.createInstance(Components.interfaces.nsIFile);
LF.initWithPath(newpath);
var LFclone = LF.clone();
LFclone.append(entry.leafName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
onload="autoBackup.load()"
>
<script type="application/x-javascript" src="chrome://mboximport/content/utils.js" />
<script type="application/x-javascript" src="chrome://mboximport/content/mboximport.js" />
<script type="application/x-javascript" src="chrome://mboximport/content/autobackup.js" />

<stringbundleset id="stringbundleset">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ function selectVirtualFolder() {
}

function IETabortExport() {
document.getElementById("IETabortIcon").collapsed = true;
IETabort = true;
IETwritestatus(mboximportbundle.GetStringFromName("exportAborted"));
document.getElementById("IETabortIcon").collapsed = true;
}

function exportSelectedMsgs(type) {
Expand Down Expand Up @@ -123,7 +123,10 @@ function exportSelectedMsgs(type) {
else
fp.init(window, mboximportbundle.GetStringFromName("filePickerExport"), nsIFilePicker.modeGetFolder);

var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK)
file = fp.file;
else
Expand Down Expand Up @@ -211,7 +214,7 @@ function exportSelectedMsgs(type) {
var hdrArray = IETemlArray2hdrArray(emlsArray, false, file);
createIndex(type, file, hdrArray, msgFolder, false, false);
}
if (type != 5 && type != 6 && type != 7)
if (type != 5 && type != 6 && type != 7 && document.getElementById("IETabortIcon"))
document.getElementById("IETabortIcon").collapsed = false;
IETabort = false;
}
Expand Down Expand Up @@ -244,7 +247,10 @@ function exportAllMsgs(type) {
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, mboximportbundle.GetStringFromName("filePickerExport"), nsIFilePicker.modeGetFolder);
var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK)
file = fp.file;
else
Expand Down Expand Up @@ -541,8 +547,8 @@ function IETrunExport(type,subfile,hdrArray,file2,msgFolder) {
saveMsgAsEML(firstUri,subfile,false,null,hdrArray,null,false, false, file2,msgFolder);
}
if (type != 3 && type !=5 && type !=6) {
document.getElementById("IETabortIcon").collapsed = false;
IETabort = false;
document.getElementById("IETabortIcon").collapsed = false;
}
}

Expand Down Expand Up @@ -848,10 +854,10 @@ function saveMsgAsEML(msguri,file,append,uriArray,hdrArray,fileArray,imapFolder,
else
exportAllMsgsStart(0,IETglobalFile,IETglobalMsgFolders[IETglobalMsgFoldersExported]);
}
else
else if (document.getElementById("IETabortIcon"))
document.getElementById("IETabortIcon").collapsed = true;
}
else
else if (document.getElementById("IETabortIcon"))
document.getElementById("IETabortIcon").collapsed = true;
}
},
Expand Down Expand Up @@ -933,7 +939,7 @@ function exportAsHtml(uri,uriArray,file,convertToText,allMsgs,copyToClip,append,
var success = true;
if (att.url.indexOf("file") == 0) { // Detached attachments
try {
var localFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
var localFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
var attURL = decodeURIComponent(att.url.replace(/\?part.+/, ""));
attURL = attURL.replace("file://", "");
localFile.initWithPath(attURL);
Expand Down Expand Up @@ -991,7 +997,8 @@ function exportAsHtml(uri,uriArray,file,convertToText,allMsgs,copyToClip,append,
IETexported = IETexported + 1;
IETwritestatus(mboximportbundle.GetStringFromName("exported")+" "+IETexported+" "+mboximportbundle.GetStringFromName("msgs")+" "+(IETtotal+IETskipped));
if (IETexported == IETtotal) {
document.getElementById("IETabortIcon").collapsed = true;
if (document.getElementById("IETabortIcon"))
document.getElementById("IETabortIcon").collapsed = true;
return;
}
if (! hdrArray)
Expand Down Expand Up @@ -1115,7 +1122,7 @@ function exportAsHtml(uri,uriArray,file,convertToText,allMsgs,copyToClip,append,
IETglobalMsgFoldersExported = IETglobalMsgFoldersExported + 1;
if (IETglobalMsgFoldersExported && IETglobalMsgFoldersExported < IETglobalMsgFolders.length)
exportAllMsgsStart(type,IETglobalFile,IETglobalMsgFolders[IETglobalMsgFoldersExported]);
else
else if (document.getElementById("IETabortIcon"))
document.getElementById("IETabortIcon").collapsed = true;
}
}
Expand Down Expand Up @@ -1268,7 +1275,10 @@ function exportVirtualFolderDelayed(msgFolder) {
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, mboximportbundle.GetStringFromName("filePickerExport"), nsIFilePicker.modeGetFolder);
var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK)
file = fp.file;
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,14 +155,7 @@ function openMboxDialog() {

function msgFolder2LocalFile(msgFolder) {
if (msgFolder.filePath)
// This method is much better, because it should works with every charset
// but it's available just in TB 1.5
var LocalFile= msgFolder.filePath;
else {
// Old method that can be used with TB 1.0, but doesn't seem to work with every charset
var LocalFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
LocalFile.initWithPath(msgFolder.path.nativePath);
}
return LocalFile;
}

Expand Down Expand Up @@ -194,8 +187,10 @@ function trytocopyMAILDIR() {
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, mboximportbundle.GetStringFromName("filePickerImport"), nsIFilePicker.modeGetFolder);
fp.appendFilters(nsIFilePicker.filterAll);

var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
var destFile = fp.file;
var filename=destFile.leafName;
var newfilename = filename;
Expand Down Expand Up @@ -252,7 +247,7 @@ function trytocopyMAILDIR() {
// copy all the files inside the MAILDIR directory to import in MAILDIR directory created above
while(allfiles.hasMoreElements()) {
var singlefile= allfiles.getNext();
singlefile = singlefile.QueryInterface(Components.interfaces.nsILocalFile);
singlefile = singlefile.QueryInterface(Components.interfaces.nsIFile);
singlefile.copyTo(filex,null);
}
}
Expand All @@ -270,7 +265,7 @@ function trytocopyMAILDIR() {
}

// The arguments of trytocopy are
// file = the file to import as nsILocalFile
// file = the file to import as nsIFile
// filename = the name of the file to import
// msgFolder = the folder as nsImsgFolder

Expand Down Expand Up @@ -325,7 +320,7 @@ function trytocopy(file,filename,msgFolder,keepstructure) {
clonex.append(newfilename);
}
// This is a little strange code, but it can find the destintation folder as nsIFile
// without calling nsILocalFile.initwithPath. This is done creating a new subfolder,
// without calling nsIFile.initwithPath. This is done creating a new subfolder,
// finding the parent of this temp new subfolder and deleting the subfolder itself.
// The 0.5.3 version did this scanning all the files into the directory, to find the directory
// called "msgfoldername.sbd". But this doesn't work, because there is a case when
Expand Down Expand Up @@ -515,13 +510,16 @@ function importmbox(scandir,keepstructure,openProfDir, recursiveMode,msgFolder)
fp.displayDirectory = profDir.parent;
}

var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK){
// thefiles is the nsiSimpleEnumerator with the files selected from the filepicker
var thefiles=fp.files;
while(thefiles.hasMoreElements()) {
var onefile= thefiles.getNext();
onefile = onefile.QueryInterface(Components.interfaces.nsILocalFile);
onefile = onefile.QueryInterface(Components.interfaces.nsIFile);
var mboxname=onefile.leafName;
trytocopy(onefile,mboxname,msgFolder,keepstructure);
}
Expand All @@ -544,15 +542,18 @@ function importmbox(scandir,keepstructure,openProfDir, recursiveMode,msgFolder)
fp.displayDirectory = profDir.parent;
}

var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK){
if (! recursiveMode) {
// allfiles is the nsiSimpleEnumerator with the files in the directory selected from the filepicker
var allfiles = fp.file.directoryEntries;
var filesArray = new Array;
while(allfiles.hasMoreElements()) {
var singlefile= allfiles.getNext();
singlefile = singlefile.QueryInterface(Components.interfaces.nsILocalFile);
singlefile = singlefile.QueryInterface(Components.interfaces.nsIFile);
filesArray.push(singlefile);
}
}
Expand Down Expand Up @@ -894,19 +895,13 @@ function importALLasEML(recursive) {
// Open the filepicker to choose the directory
fp.init(window, mboximportbundle.GetStringFromName("searchdir"), nsIFilePicker.modeGetFolder);
// Set the filepicker to open the last opened directory
try {
if (IETprefs.prefHasUserValue("extensions.importexporttools.import.lastdir"))
fp.displayDirectory = IETprefs.getComplexValue("extensions.importexporttools.import.lastdir", Components.interfaces.nsILocalFile);
}
catch(e) {}
var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
gEMLimported = 0;
IETwritestatus(mboximportbundle.GetStringFromName("importEMLstart"));
if (res==nsIFilePicker.returnOK) {
try {
IETprefs.setComplexValue("extensions.importexporttools.import.lastdir", Components.interfaces.nsILocalFile, fp.file);
}
catch(e) {}
setTimeout(function(){RUNimportALLasEML(fp.file,recursive);}, 1000);
}
}
Expand All @@ -933,7 +928,7 @@ function buildEMLarray(file,fol,recursive) {

while(allfiles.hasMoreElements()) {
var afile= allfiles.getNext();
afile = afile.QueryInterface(Components.interfaces.nsILocalFile);
afile = afile.QueryInterface(Components.interfaces.nsIFile);
try {
// https://bugzilla.mozilla.org/show_bug.cgi?id=701721 ?
var is_Dir = afile.isDirectory();
Expand Down Expand Up @@ -975,25 +970,25 @@ function importEMLs() {
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, mboximportbundle.GetStringFromName("filePickerImportMSG"), nsIFilePicker.modeOpenMultiple);
// Set the filepicker to open the last opened directory
if(IETprefs.prefHasUserValue("extensions.importexporttools.import.lastdir"))
fp.displayDirectory = IETprefs.getComplexValue("extensions.importexporttools.import.lastdir", Components.interfaces.nsILocalFile);
fp.appendFilter(mboximportbundle.GetStringFromName("emailFiles"), "*.eml; *.emlx; *.nws");
fp.appendFilter("All files", "*.*");
var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK){
var thefiles=fp.files;
var fileArray = new Array;
// Files are stored in an array, so that they can be imported one by one
while(thefiles.hasMoreElements()) {
var onefile= thefiles.getNext();
onefile = onefile.QueryInterface(Components.interfaces.nsILocalFile);
onefile = onefile.QueryInterface(Components.interfaces.nsIFile);
fileArray.push(onefile);
}
gEMLimported = 0;
gEMLtotal = fileArray.length;
IETwritestatus(mboximportbundle.GetStringFromName("importEMLstart"));
var dir = fileArray[0].parent;
IETprefs.setComplexValue("extensions.importexporttools.import.lastdir", Components.interfaces.nsILocalFile, dir);
trytoimportEML(fileArray[0],msgFolder,false, fileArray, false);
}
}
Expand Down Expand Up @@ -1037,7 +1032,9 @@ var importEMLlistener = {
var data = header+text.substring(index);
var data = text;
}
catch(e) {}
catch(e) {
var data = text;
}

if (! this.imap)
writeDataToFolder(data,this.msgFolder,this.file,this.removeFile);
Expand Down Expand Up @@ -1246,7 +1243,7 @@ function IETopenFolderPath() {
if (msgFolder.isServer)
var parent = file;
else
var parent = file.parent.QueryInterface(Components.interfaces.nsILocalFile);
var parent = file.parent.QueryInterface(Components.interfaces.nsIFile);
if (! parent)
return;
try {
Expand Down Expand Up @@ -1274,7 +1271,10 @@ function IETimportSMS() {
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, mboximportbundle.GetStringFromName("importSMSandroid"), nsIFilePicker.modeOpen);
fp.appendFilter("*.xml", "*.xml");
var res=fp.show();
if (fp.show)
var res = fp.show();
else
var res = IETopenFPsync(fp);
if (res==nsIFilePicker.returnOK) {
var msgLocalFolder = msgFolder.QueryInterface(Components.interfaces.nsIMsgLocalMailFolder);
var xml =fp.file;
Expand Down
Loading

0 comments on commit 486229e

Please sign in to comment.