diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 1c7af5747a..b97d3c3c3c 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -785,9 +785,15 @@ Zotero.Sync.Runner = new function () { if (status == 'warning' || status == 'error') { icon.setAttribute('status', ''); warning.hidden = false; - warning.setAttribute('mode', status); - warning.setAttribute('error', status == 'error'); - warning.tooltipText = "A sync error occurred. Click to view details."; + if (Zotero.Sync.Server.upgradeRequired) { + Zotero.Sync.Server.upgradeRequired = false; + warning.setAttribute('mode', 'upgrade'); + buttonText = null; + } + else { + warning.setAttribute('mode', status); + } + warning.tooltipText = message; warning.onclick = function () { var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator); @@ -1132,6 +1138,7 @@ Zotero.Sync.Server = new function () { this.canAutoResetClient = true; this.manualSyncRequired = false; + this.upgradeRequired = false; this.nextLocalSyncDate = false; this.apiVersion = 8; @@ -1823,6 +1830,10 @@ Zotero.Sync.Server = new function () { } } break; + + case 'UPGRADE_REQUIRED': + Zotero.Sync.Server.upgradeRequired = true; + break; } } } diff --git a/chrome/skin/default/zotero/bell_error.png b/chrome/skin/default/zotero/bell_error.png new file mode 100644 index 0000000000..a0ddc00281 Binary files /dev/null and b/chrome/skin/default/zotero/bell_error.png differ diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 95122257d0..b88ed1d982 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -212,17 +212,22 @@ font-weight: bold; } -#zotero-tb-sync-warning +#zotero-tb-sync-warning, #zotero-tb-sync-warning[mode=warning] { list-style-image: url(chrome://zotero/skin/error.png); margin-right: -5px; } -#zotero-tb-sync-warning[error=true] +#zotero-tb-sync-warning[mode=error] { list-style-image: url(chrome://zotero/skin/exclamation.png); } +#zotero-tb-sync-warning[mode=upgrade] +{ + list-style-image: url(chrome://zotero/skin/bell_error.png); +} + #zotero-tb-sync { list-style-image: url(chrome://zotero/skin/arrow_rotate_static.png); margin-left: -2px;