diff --git a/chrome/content/zotero/errorReport.xul b/chrome/content/zotero/errorReport.xul
new file mode 100644
index 000000000..668d82841
--- /dev/null
+++ b/chrome/content/zotero/errorReport.xul
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &zotero.errorReport.errorSteps;
+
+
+
+
+
+ &zotero.errorReport.submissionInProgress;
+
+
+
+ &zotero.errorReport.submitted;
+
+ &zotero.errorReport.reportID;
+
+
+ &zotero.errorReport.includeReportID;
+
+
diff --git a/chrome/content/zotero/overlay.js b/chrome/content/zotero/overlay.js
index 1086eaaba..b05282c70 100644
--- a/chrome/content/zotero/overlay.js
+++ b/chrome/content/zotero/overlay.js
@@ -81,6 +81,7 @@ var ZoteroPane = new function()
this.showSelectedAttachmentInFilesystem = showSelectedAttachmentInFilesystem;
this.showAttachmentNotFoundDialog = showAttachmentNotFoundDialog;
this.relinkAttachment = relinkAttachment;
+ this.reportErrors = reportErrors;
var self = this;
@@ -582,12 +583,16 @@ var ZoteroPane = new function()
itemgroup.setSearch('');
itemgroup.setTags(getTagSelection());
- Zotero.UnresponsiveScriptIndicator.disable();
- this.itemsView = new Zotero.ItemTreeView(itemgroup);
- this.itemsView.addCallback(_setTagScope);
- document.getElementById('zotero-items-tree').view = this.itemsView;
- this.itemsView.selection.clearSelection();
- Zotero.UnresponsiveScriptIndicator.enable();
+ try {
+ Zotero.UnresponsiveScriptIndicator.disable();
+ this.itemsView = new Zotero.ItemTreeView(itemgroup);
+ this.itemsView.addCallback(_setTagScope);
+ document.getElementById('zotero-items-tree').view = this.itemsView;
+ this.itemsView.selection.clearSelection();
+ }
+ finally {
+ Zotero.UnresponsiveScriptIndicator.enable();
+ }
}
else
{
@@ -1707,6 +1712,21 @@ var ZoteroPane = new function()
item.relinkAttachmentFile(file);
}
}
+
+
+ function reportErrors() {
+ var errors = Zotero.getErrors(true);
+ var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
+ .getService(Components.interfaces.nsIWindowWatcher);
+ var data = {
+ msg: Zotero.getString('errorReport.followingErrors'),
+ e: errors.join('\n\n'),
+ askForSteps: true
+ };
+ var io = { wrappedJSObject: { Zotero: Zotero, data: data } };
+ var win = ww.openWindow(null, "chrome://zotero/content/errorReport.xul",
+ "zotero-error-report", "chrome,centerscreen,modal", io);
+ }
}
window.addEventListener("load", function(e) { ZoteroPane.onLoad(e); }, false);
diff --git a/chrome/content/zotero/overlay.xul b/chrome/content/zotero/overlay.xul
index 69a2e630b..ee68fa9f0 100644
--- a/chrome/content/zotero/overlay.xul
+++ b/chrome/content/zotero/overlay.xul
@@ -37,7 +37,9 @@
+
+