commit ef71d544c11f14bdb98daff8cc18050cbee98077
parent 5275dafbc9f2c45fa052308c26d32b10423bfaa4
Author: Dan Stillman <dstillman@zotero.org>
Date: Wed, 18 Apr 2012 23:04:32 -0400
Fixes #62, Show sync progress bar only for longer syncs
Shows the progress bar only if sync takes longer than 100ms
Diffstat:
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js
@@ -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();