[Libreoffice-commits] core.git: framework/inc framework/source
Tor Lillqvist
tml at collabora.com
Fri May 8 11:32:11 PDT 2015
framework/inc/helper/statusindicator.hxx | 2 ++
framework/source/helper/statusindicator.cxx | 7 ++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
New commits:
commit 3842967e5276aabdf28e8eb047803389a41793c7
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri May 8 13:17:45 2015 +0300
Ensure progress bar LibreOfficeKit callbacks don't repeat the same percentage
Gets rid of superfluous sequential callbacks with the same percentage when
loading large documents.
This reverts commit cec72eff99d1d683f2236c8a86a2814b34ad861e.
Change-Id: I70f43f7e3a650c76cbcbbc60ebb2d47efaca06a5
diff --git a/framework/inc/helper/statusindicator.hxx b/framework/inc/helper/statusindicator.hxx
index d52216e..6043cf2 100644
--- a/framework/inc/helper/statusindicator.hxx
+++ b/framework/inc/helper/statusindicator.hxx
@@ -69,6 +69,8 @@ class StatusIndicator : public ::cppu::WeakImplHelper1< css::task::XStatusIndic
css::uno::WeakReference< css::task::XStatusIndicatorFactory > m_xFactory;
sal_Int32 m_nRange;
+ // We want the callback percentages to increase monotonically
+ int m_nLastCallbackPercent;
// c++ interface
public:
diff --git a/framework/source/helper/statusindicator.cxx b/framework/source/helper/statusindicator.cxx
index 88c247e..6c78d0a 100644
--- a/framework/source/helper/statusindicator.cxx
+++ b/framework/source/helper/statusindicator.cxx
@@ -38,6 +38,7 @@ void SAL_CALL StatusIndicator::start(const OUString& sText ,
if (comphelper::LibreOfficeKit::isActive())
{
m_nRange = nRange;
+ m_nLastCallbackPercent = -1;
comphelper::LibreOfficeKit::statusIndicatorStart();
return;
@@ -102,7 +103,11 @@ void SAL_CALL StatusIndicator::setValue(sal_Int32 nValue)
if (comphelper::LibreOfficeKit::isActive())
{
int nPercent = (100*nValue)/m_nRange;
- comphelper::LibreOfficeKit::statusIndicatorSetValue(nPercent);
+ if (nPercent != m_nLastCallbackPercent)
+ {
+ comphelper::LibreOfficeKit::statusIndicatorSetValue(nPercent);
+ m_nLastCallbackPercent = nPercent;
+ }
return;
}
More information about the Libreoffice-commits
mailing list