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 <t...@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; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits