Fixes #62, Show sync progress bar only for longer syncs

Shows the progress bar only if sync takes longer than 100ms
This commit is contained in:
Dan Stillman 2012-04-18 23:04:32 -04:00
parent 5275dafbc9
commit ef71d544c1

View File

@ -1463,21 +1463,12 @@ Zotero.Sync.Server = new function () {
Zotero.suppressUIUpdates = true;
_updatesInProgress = true;
var progressMeter = true;
if (progressMeter) {
Zotero.showZoteroPaneProgressMeter(
Zotero.getString('sync.status.processingUpdatedData'),
false,
"chrome://zotero/skin/arrow_rotate_animated.png"
);
}
var errorHandler = function (e) {
Zotero.DB.rollbackTransaction();
Zotero.UnresponsiveScriptIndicator.enable();
if (progressMeter) {
if (Zotero.locked) {
Zotero.hideZoteroPaneOverlay();
}
Zotero.suppressUIUpdates = false;
@ -1495,7 +1486,7 @@ Zotero.Sync.Server = new function () {
function (xmlstr) {
Zotero.UnresponsiveScriptIndicator.enable();
if (progressMeter) {
if (Zotero.locked) {
Zotero.hideZoteroPaneOverlay();
}
Zotero.suppressUIUpdates = false;
@ -2559,15 +2550,26 @@ Zotero.Sync.Server.Data = new function() {
}
function _timeToYield() {
if (progressMeter && Date.now() - lastRepaint > repaintTime) {
if (!progressMeter) {
if (Date.now() - start > progressMeterThreshold) {
Zotero.showZoteroPaneProgressMeter(
Zotero.getString('sync.status.processingUpdatedData'),
false,
"chrome://zotero/skin/arrow_rotate_animated.png"
);
progressMeter = true;
}
}
else if (Date.now() - lastRepaint > repaintTime) {
lastRepaint = Date.now();
return true;
}
return false;
}
var progressMeter = Zotero.locked;
var progressMeter = false;
var progressMeterThreshold = 100;
var start = Date.now();
var repaintTime = 100;
var lastRepaint = Date.now();