Google Summer of Code 2020

Hi, This is Shivam. Welcome to my blog where i update the status of my GSoC project with LibreOffice about Style Inspector. I have tried to keep the blog clean and to the point. Check out the timeline.

Click here to give your feedback or any suggestions

April 2020

Community Bonding Period

  • Discussed with the mentors project in more detail and started working on the external UI
  • Understood the Code Base in more details
  • Added a a new tab "Styles Inspector" at the sidebar just below "Formatting" tab.(Merged)
1 June - 29 June

Code Phase 1

WEEK 1

  • A weldtreebox was added to store all the properties extracted from the current cursor position.(Merged)
  • The Inspector's codebase was earlier kept in svx module. But now i am changing it such that now only the GUI will be in svx whereas the main implementation of the internal contents will be in sw. This change is being done as a progressive measure towards cleaner code.(WIP)

WEEK 2

  • I Completed the change of source code for Inspector such that the main property dump implementation will be in sw and the UI is in svx.(Merged)

WEEK 3

  • The UI for the Inspector had been added previously, but there was no content. This week the property dump feature to show all the Character and Paragraph properties for the text at the cursor was completed.(WIP)
  • In Paragraph Styles, for example most of the properties are defined in the "Default Paragraph Styles" these properties later redefine themselves at the various child Styles. Relevant code was added to show any property only on that level in which it gets redefined for the last time i.e at the level whose value matters for that respective property.(WIP)

WEEK 4

  • The patch for property dump is now complete and merged.(MERGED)
1 July - 27 July

Code Phase 2

WEEK 1

  • Added tree view for Inspector and support for PS. The support for PS has been added. The UI for Inspector has been updated with expand / collapse buttons for PS and CS.(MERGED)

WEEK 2

  • Previously Default Character Style was added in the Inspector. This should not be shown, added a patch to hide it.(MERGED). Default Paragraph Style should show all the properties by default.(MERGED)
  • The Inspector was catching different text nodes while trying to capture the current cursor.This led to a crash. Fixed this(MERGED). Also instead of a method, now we use IMPL_LINK_NO_ARG for Inspector update(MERGED)

WEEK 3

  • If we use a custom style which is not a child of Default Paragraph, than that led to a crash, because we were detecting the child from the lowest child to DPS(but in this case this assumtion fails). Fixed it(MERGED)
  • When not Asian or Complex styles are disabled they should not be dispalyed in the Inspector. Patch was added for this change(MERGED)
  • Cleanup of variable names(most important in open source!)(MERGED)

WEEK 4

  • tdf#134564 tdf#134578 Improve hierarchy viewing in Inspector. By adding tree lines and improving the STRUCT to store the treelines(MERGED) Also added Headers "Properties" and "Values"(MERGED)
  • The Inspector contents should be naturally sorted for easier readablity and for easily searching the proeprties we want.(MERGED)
  • Another cleanup(again very important!)(MERGED)
  • Patch for Direct Formatting was added.(MERGED) and should be empty by default as there is nothing manually changed(MERGED)
  • tdf#135178 tdf#135179 tdf#134820 Issue in SetChgLnk in Inspector, still crashing. Fixed it(MERGED)
  • Initially the strings displayed in the Inspector were those internally stored in the UNO API. That's not what a user would like to see as that's quite "cryptic". Added SIDs for all the properties such that they are now easily readable and understood.(MERGED)
  • tdf#135344 Resolved Inspector scroll bar issues.(MERGED)Sel Ellpisize for better viewing of longgg.. properties.(MERGED)
1 August - 24 August

Code Phase 3

WEEK 1-2

    tdf#135528 tdf#135491 Fix LO crash when using macro with SI enabled
  • Border properties were not properly/completely displayed in the Inspector. The reason is that they are stored in STRUCT internally. Added patch to resolve this.(MERGED).
  • ...and crash again when using macro with Inspector enabled. Fixed this. Check the patch for more details.(MERGED).

WEEK 3-4

  • This patch adds shortcut command to launch the Inspector and includes a uno comand(.uno:InspectorDeck).(WIP).
  • Working on the most important thing: Documentation for the Inspector. Should be done within this week.