On Tue, 2011-03-22 at 19:59 +0100, Markus Mohrhard wrote:
This time with the patch. Sry.
2011/3/22 Markus Mohrhard <markus.mohrhard@googlemail.com>
Hello,
so I have reworked it. I haven't reworked the import and
export as these affect some areas I don't fully understand.
Hi Markus,
So, I've tested your patch, and it works as long as the sheets are not
moved around, but once you start moving sheets around it starts to act a
bit weird.
Here is an example. Let's say you start with an empty document. You
put some data into Sheet1, and set autofilter there. Now, move Sheet1
to the right of Sheet3 so that the sheets are in this order (from left
to right): Sheet2, Sheet3 and Sheet1. Now, put some data into Sheet2
and set autofilter. The autofilter on Sheet1 now vanishes.
This was what I was concerned about earlier. Because we are using the
sheet index as part of the name, and use it to look up the sheet-local
anonymous DB data in ScDocShell::GetDBData(), it becomes susceptible to
sheet relocation. Note that sheet index (nTab in ScTable) is always
numbered 0, 1, 2, from left to right. So when you move a sheet, Calc
updates its index to reflect its new position.
Thinking about this a bit, I think the best solution is *not* to store
the sheet-local anonymous DB's in the global ScDBCollection instace, but
store them directly in the respective ScTable instance, and adjust the
lookup code accordingly. I think this is a much better solution given
the constraint, and one that I would feel more comfortable with. Sorry
I didn't think of this sooner.... :-/
Regarding the import export, let's not worry about that at this stage.
We should first focus on getting the core functionality working first,
before worrying about file import / export.
Regards,
Kohei
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.