Merge branch 'db-update' into 4.0
This commit is contained in:
commit
f4abe14b59
|
@ -639,6 +639,68 @@ Components.utils.import("resource://gre/modules/Services.jsm");
|
|||
+ Zotero.getString('startupError.zoteroVersionIsOlder.current', Zotero.version) + "\n\n"
|
||||
+ Zotero.getString('general.seeForMoreInformation', kbURL);
|
||||
Zotero.startupError = msg;
|
||||
_startupErrorHandler = function() {
|
||||
var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
|
||||
.getService(Components.interfaces.nsIPromptService);
|
||||
var buttonFlags = (ps.BUTTON_POS_0) * (ps.BUTTON_TITLE_IS_STRING)
|
||||
+ (ps.BUTTON_POS_1) * (ps.BUTTON_TITLE_CANCEL)
|
||||
+ ps.BUTTON_POS_0_DEFAULT;
|
||||
|
||||
var index = ps.confirmEx(
|
||||
null,
|
||||
Zotero.getString('general.error'),
|
||||
Zotero.startupError,
|
||||
buttonFlags,
|
||||
Zotero.getString('general.checkForUpdate'),
|
||||
null, null, null, {}
|
||||
);
|
||||
|
||||
// "Check for updates" button
|
||||
if(index === 0) {
|
||||
if(Zotero.isStandalone) {
|
||||
Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
|
||||
.getService(Components.interfaces.nsIWindowWatcher)
|
||||
.openWindow(null, 'chrome://mozapps/content/update/updates.xul',
|
||||
'updateChecker', 'chrome,centerscreen', null);
|
||||
} else {
|
||||
// In Firefox, show the add-on manager
|
||||
Components.utils.import("resource://gre/modules/AddonManager.jsm");
|
||||
AddonManager.getAddonByID(ZOTERO_CONFIG['GUID'],
|
||||
function (addon) {
|
||||
// Disable auto-update so that the user is presented with the option
|
||||
var initUpdateState = addon.applyBackgroundUpdates;
|
||||
addon.applyBackgroundUpdates = AddonManager.AUTOUPDATE_DISABLE;
|
||||
addon.findUpdates({
|
||||
onNoUpdateAvailable: function() {
|
||||
ps.alert(
|
||||
null,
|
||||
Zotero.getString('general.noUpdatesFound'),
|
||||
Zotero.getString('general.isUpToDate', 'Zotero')
|
||||
);
|
||||
},
|
||||
onUpdateAvailable: function() {
|
||||
// Show available update
|
||||
Components.classes["@mozilla.org/appshell/window-mediator;1"]
|
||||
.getService(Components.interfaces.nsIWindowMediator)
|
||||
.getMostRecentWindow('navigator:browser')
|
||||
.BrowserOpenAddonsMgr('addons://updates/available');
|
||||
},
|
||||
onUpdateFinished: function() {
|
||||
// Restore add-on auto-update state, but don't fire
|
||||
// too quickly or the update will not show in the
|
||||
// add-on manager
|
||||
setTimeout(function() {
|
||||
addon.applyBackgroundUpdates = initUpdateState;
|
||||
}, 1000);
|
||||
}
|
||||
},
|
||||
AddonManager.UPDATE_WHEN_USER_REQUESTED
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
else {
|
||||
Zotero.startupError = Zotero.getString('startupError.databaseUpgradeError') + "\n\n" + e;
|
||||
|
|
|
@ -20,10 +20,12 @@ general.tryAgainLater = Please try again in a few minutes.
|
|||
general.serverError = The server returned an error. Please try again.
|
||||
general.restartFirefox = Please restart %S.
|
||||
general.restartFirefoxAndTryAgain = Please restart %S and try again.
|
||||
general.checkForUpdate = Check for update
|
||||
general.checkForUpdate = Check for Update
|
||||
general.actionCannotBeUndone = This action cannot be undone.
|
||||
general.install = Install
|
||||
general.updateAvailable = Update Available
|
||||
general.noUpdatesFound = No Updates Found
|
||||
general.isUpToDate = %S is up to date.
|
||||
general.upgrade = Upgrade
|
||||
general.yes = Yes
|
||||
general.no = No
|
||||
|
|
Loading…
Reference in New Issue
Block a user