This week was very productive. We have a kind of useful tab page now. It recursively traverses the configurations via XNameAccess. And shows the values mostly properly. Currently shown types are: boolean, long, string, string sequence, long sequence. In case of needed I will find and implement new datatypes.
Current recursion completes itself about 20 minutes both on new and old hardware I have. It is not the most effective code I have ever wrote actually :). But this is not at the top of my priority list for now. Also page has usability issues too. I will look for them after handling types correctly on edit button.
Here is more organized report:
==What I did?== -getConfigurationAccess method implemented. Gets ReadOnly or Update access according to given parameters. -FillItems method implemented. Recursion on here. Traverses through configurations using UNO api.
-Reset method implemented. It is the method all options tab pages have. Kind of init function. Revert button calls this method too. -InsertEntry method implemented. It is used for adding new entries to the listbox.
-HeaderSelect_Hdl implemented. Handles clicking on headerbar of listbox.
==What I am doing?== -Currently working on edit buttons functionality. I am searching a proper way to handle configs. Currently can take booleans and toggle them only on cosmetic side. Don't touch real configurations right now.
==What will I do?== -Will improve the performance. There is something I recognized. Without adding values to the listbox the traverse tooks about 3 seconds. Current entry insertion is on recursion. Extracting this out of recursion may solve the problem mostly.
-Especially string lists doesn't looks properly on the list. There is a button labeled "Default" on UI. I want to rename it and make it to use for show the value of list. Or maybe I can use edit button for the both representation and modifying. Will concider later.
-I will look for the changing the weight to the bold of the changed values. Will concider later. -Page really needs a search bar. Will look after proper handling.
Here is a screenshot. I gave /org.openoffice.Office.Common as rootpath because giving / as root takes too long. Also tab order is not correct too.
Efe Gürkan YALAMAN wrote:
> -Will improve the performance. There is something I recognized. Without
> adding values to the listbox the traverse tooks about 3 seconds. Current
> entry insertion is on recursion. Extracting this out of recursion may solve
> the problem mostly.
Good catch, it is indeed the darn TreeList that is pathetically
inefficient here. Maybe worth thinking of populating it dynamically
when the users scrools. Attached patch at least shifts the moment when
all the time is spent to the SetUpdateMode(true) call site. ;)