https://bugs.documentfoundation.org/show_bug.cgi?id=97102

            Bug ID: 97102
           Summary: Re-work copy/paste 'orrible extensions dialog code...
           Product: LibreOffice
           Version: 5.1.0.1 rc
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Extensions
          Assignee: [email protected]
          Reporter: [email protected]

There is a chunk of code in:

desktop/source/deployment/gui/dp_gui_dialog2.cxx

with some pretty bad practice on display. There is a large chunk of
cut-and-paste coding between:

IMPL_LINK_NOARG_TYPED(UpdateRequiredDialog, TimeOutHdl, Idle *, void)
and
IMPL_LINK_NOARG_TYPED(ExtMgrDialog, TimeOutHdl, Idle *, void)

And that code itself should -not- be in an idle handler that runs all the time.
Instead we should add an idle task whenever anything changes.

The reason the code is done like this is to avoid needing to take the
SolarMutex in the implementation that updates the progress etc. which is useful
in several cases for UNO components etc.

Anyhow - we should create a new (inside VCL) "ProgressBarAsync" class and
encapsulate this functionality into VCL.

The methods - such as updating the progress %age, and the text etc. should take
effect only asynchronously in an idle handler -but- the idle handler should
only be triggered when some state actually changes =) a new %age, new text etc.

Then we should clean the cut/paste coding out of the above module.

Thanks !

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to