Week 1 Summary

Week 1 Summary

Introduction

Hi, I am Vaibhav Malik, a Google Summer Of Code contributor and developer at Inkscape. In this blog, I summarized the work that I did during the first week of the Google Summer Of Code 2022.

June 13

I started working on the Font Groups feature. I added a new page named Font-Groups in the GTK notebook of the Text and Font dialogue. I edited the .glade file using the Glade application to add the notebook page for this feature.

June 14

As the UI was ready to hold the incoming widgets, I created a custom TreeStore model and named it font-group-selector to store the data of the font groups in the form of a tree(hierarchically). I also worked on the TreeView widget to display all the font groups.
This is the link to a video that shows the changes that I made

June 15

Initially, I used the console to create the font groups. But it was not very convenient to test the changes again and again. Due to this, I had to input the font groups every time I restarted the application. So I asked in the UI/UX channel of the RocketChat server of Inkscape about loading the data from a file. Everybody supported my work and presented their view on this feature. Chris Rogers(Designer) gave me a CSV sheet that contained data about the generic font families. So on day 3, I added a function to enable adding font groups by using a CSV file.
Do check out this video to go through the changes that I made

June 16

The final design of the Text And Font dialogue was not ready. The UX team was working on it. Adam and Mikekov presented tonnes of ideas and new designs. In the meantime, I tried my hands on a different feature, the recently used fonts. After hours of planning and coding, the feature was ready. As I discussed with my mentor earlier, we'll allow the user to set the size of the recently used fonts list. I did not write the code to store and load the user preferences. As my prime focus for this week was to add the font groups feature, I decided to work on recently used fonts later.
Link to the video

June 17

Today, the design of the new Text and Font dialogue was ready. I started by editing the glade file. The new design looked awesome. Once I finished with the UI, I started working on the backend. The font groups were renamed Collections. I worked on the Collections class and added some basic features. Later, I figured out the XML file structure in which we decided to store the collections data.
Video showing the new design

June 18

Today, I spent all my time working on the functions of the "Collections" class. Coded the read( Glib::RefPtr<Gio::File> file) and _read(XML::Node const &keysnode) functions. These are the functions to read the data of collections from XML files. I also worked on the hamburger menu toggle button that toggles the visibility of the Collections panel.
Changes that I made

June 19

I spent some time on the structure of the Collections class and enjoyed the rest of the Sunday.

That was pretty much it for this week. Stay tuned for further updates. Thanks for reading!!!