Kaydet (Commit) 3a22d789 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Avoid re-drawing progress bar too frequently.

Change-Id: I01dcd6d421c1f648b4cd8413e3baf50fd26d4c8f
üst 5db19a41
......@@ -96,12 +96,14 @@ namespace {
void lclUpdateProgressBar( const ISegmentProgressBarRef& rxProgressBar, const CellRangeAddress& rUsedArea, sal_Int32 nRow )
{
if( rxProgressBar.get() && (rUsedArea.StartRow <= nRow) && (nRow <= rUsedArea.EndRow) )
{
double fPosition = static_cast< double >( nRow - rUsedArea.StartRow + 1 ) / (rUsedArea.EndRow - rUsedArea.StartRow + 1);
if( rxProgressBar->getPosition() < fPosition )
rxProgressBar->setPosition( fPosition );
}
if (!rxProgressBar || nRow < rUsedArea.StartRow || rUsedArea.EndRow < nRow)
return;
double fCurPos = rxProgressBar->getPosition();
double fNewPos = static_cast<double>(nRow - rUsedArea.StartRow + 1.0) / (rUsedArea.EndRow - rUsedArea.StartRow + 1.0);
if (fCurPos < fNewPos && (fNewPos - fCurPos) > 0.3)
// Try not to re-draw progress bar too frequently.
rxProgressBar->setPosition(fNewPos);
}
void lclUpdateProgressBar( const ISegmentProgressBarRef& rxProgressBar, double fPosition )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment