Following are things in which I was involved in the last week:
+ Patch1 https://gerrit.libreoffice.org/#/c/5652/ which was related to parsing of ‘master presentation objects’ got merged into master.So it helps the user to modified even master objects.
+Patch2 https://gerrit.libreoffice.org/#/c/5910/ which was related to using ‘macro expansion function'(i.e expansion of “vnd.sun.star.expand:” ) and it is too merged in master.The macro expansion function which was defined in the ‘comphelper’ module helps in removal of the existing duplicated codes.And here it was later modified to make it usable in various different places.Basically it returns expanded file path of config files.
+Patch3 https://gerrit.libreoffice.org/#/c/5926/ which is related to code-clean up work (using the above mentioned ‘macro expansion function’) and it is on verge of completion.And hopefully it should be merged by monday or tuesday.
+Also,I am in discussion with my mentors about the plan of providing user an option of ‘editing existing layouts’ & ‘creation of new slide layouts’ as well.We think this project needs a bit of more time & attention ,so we plan to extend the project by few of numbers days and I have discuss the plan related to it with my mentors.
Here the glimpses of my plan to achieve this work:
(1) For Creation of new placeholder objects : Look for the methods which will draw ‘Rectangles’ on the “Slide Master” interface (similar to ones which is used for current “Slide Layouts”).
(2) For saving mechanism : Get the ‘width’ & ‘height’ of Rectangles (by using aRect.getWidth() and aRect.getHeight()). And calculate the relative parameters(like height ,width,position) of that Rectangle (and save ‘relative parameters’ to XML file).
And also use a global counter to keep track of number of new placeholder objects in layouts.
(3) For creating new layouts : Transfer all relative properties of ‘placeholder objects’ to an “output filter”(which can be used to open as ‘Slide Templates’).And decide the type of file format which is best suitable for this work.
I was able to complete following things last week:
+Consolidate XML config parser code into ‘comphelper’ module.So that to avoid duplicate codes in ‘sd’ module.
+And made corresponding changes to parse out “master presentation object” from ‘objectlist.xml’.
+Mostly the above work should be merged into the master by today.
So this week : I am planning to make further development on output filter of ‘slide layouts’ as per the advise of my mentor.
Last week I was able to complete following things:
+I have almost completed the work related to:Parsing the properties of presentation object used in master page(e.g Header & Footer Objects) from XML.
+Also, the current slide layouts are parsed from XML and it has been pushed to the master code.
So this week ,I will be looking forward to : The work related to export filter as per the advise of my mentor.
I was not able to submit my report since last few weeks.Here is the overview of what I have done till now :
+The current slide layouts including ‘vertical layouts’ are getting parsed from XML file.There has been great improvement with the logic of parsing.
+Also I have started testing this parser in my machine, by observing the diff of ‘content.xml’ (as well as ‘style.xml’) of both .odp files(from current build & master build).So it can be merged to master(without much change in user-experience).
+I have got myself familiar with the export filter stuff(by reading some of the documentation).So hopefully, I am planning to complete them within coming two weeks.
I was able to do following things this week:
- I have solved the “unit-test” error that was coming in my code(this bug took lot of my time in the previous week).I had to change the path value in the “Impress.xcs” as seen in the commit1. Also from my observations & experiments, this error may prevail with the current configuration files like”effects.xml” & “transitions.xml”,but I will have a discussion with my mentor Thorsten, before coming to any conclusion.
- Also as per the instruction ,I have added two new layouts in the “layoutlist.xml” and have made appropriate changes in the current ones in the “sdpage.cxx” (here is the commit2 related to it). This ones are the demonstrations for verifying loading of “Test-Cases” from “layoutlist.xml”:
I have made myself more familiar with UI related work by going through some commits. And I am trying my best to debug “Slide Master”,so that I can make appropriate changes in the code to have “built-in” layouts editable from Slide Master.
Following are things that I have done last week:
- I pushed my first working version of XML parser to “feature/gsoc-impresslayout” on Tuesday. So as I was advice to go step by step,this version had a hard-coded path associated with it.The function “readLayoutPropFromFile” retrieves “Top postion(X & Y coordinates)”,”Height”,”Width” from “layoutlist.xml” and fills appropriately in the presentation objects.
- Then I dedicated some time to learn about setting up “layoutlist.xml” in configuration path(especially in “Impress.xcs”) and make it packaged.
- I have also pushed my second commit to the “feature/gsoc-impresslayout” ,but it requires some tweaks to make it fully functional.And hopefully it should get completed by today.So once it gets completed,Slide Layouts properties will be parsed from “layoutlist.xml” now-onward.