Hi Markus, On Sat, Jun 4, 2011 at 8:04 PM, Markus Mohrhard <markus.mohrh...@googlemail.com> wrote:
> I would like to here any suggestions before I change anything UI related. So, there are two things that I could see us changing. One is to update the progress bar only once per sheet, instead of once per column in each sheet. I find the latter simply a bit silly, not to mention it has terrible performance consequences. Two is to change ScDocument::MoveTab to not instantiate the ScProgress instance on every call (and destroys it), but to simply have the caller do that while the method itself simply accepts a pointer to that instance. When a NULL pointer is passed, the method would simply do its thing without even updating the progress bar. This would allow the caller to control how often the progress bar should be updated, which allows the caller to e.g. update the progress bar on every 5 sheets while relocating 1000 sheets. etc. That would also solve the issue you had with the unit test code. The key is to not eliminate the progress bar, but simply reduce the frequency of updating which can be very expensive especially when using GTK to draw the progress bar. How does that sound? > P.S. We don't even use a ScProgress in ScDocument::CopyTab which should > normally need much more time True. I think the reason why MoveTab uses the progress bar may be because it gets called repeatedly in a for-loop sometimes. Still, the current design can be improved for better performance (as I stated above). Kohei _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice