Introduction
Hi, I am Vaibhav Malik, a Google Summer Of Code contributor and developer at Inkscape. In this blog, I've described the work that I've done during the fifth week of the Google Summer Of Code 2022. I'm currently working on the font collections feature. You can go through the code that I've written by visiting this link
July 11
Added a dedicated button box to manage the font collections. Worked on minor bugs and fixed most of them. Though, I couldn't fix the edit_button
bug. Ideally, clicking the edit button should activate the currently selected row. But clicking the edit button was un-selecting the row.
You can refer to this video to see this in action.
July 12
Font collections are almost ready. Now one can create, rename, or delete a font collection. I decided to add dragging and dropping fonts in the font collections. I started with the structure of the font-list. Decided to change the model type from ListStore to TreeStore to reserve more space to display fonts.
Video
July 13
Worked on the addition of styles as children of each font. For experimental builds, I attached the default styles to all the fonts.
July 14(Major Update)
I added the filtering logic to the font list. Now one can filter the contents of the font list by selecting the desired collections. I also added the count of the number of fonts displayed vs the total number of fonts. The font count was inconsistent because of two different instances of the font selector.
Want to see everything in action? Here's the link to the video.
July 15
The Font Manager dialogue was essentially the same as the Text and Font dialogue. The only difference was that the FM(Font Manager) dialogue had a font collections selector. I moved the font collections selector from the FM dialogue to the T and F dialogue. It reduced the UI redundancy.
Video
July 16
Today, I added the DND(Drag and Drop) function in the font lister and collections selector. I got to know that this was way easier than I expected. Tav built, tested and reviewed my merge request. He provided his feedback and listed some minor and one critical issue. I worked on the code and fixed most of these issues.
July 17
Today, I fixed a bug related to the DND. Then I started working on the recently used fonts once again. As the user-defined collections are ready and working fine, system-defined collections are my next target. I already have the recently used font logic prepared on paper. I'll create a separate class to manage the recently used font list. It would help to add more features to the recently used list later.
Video
Conclusion
So this was all for the fifth week. I'd say I could achieve a lot during this week. I'm looking forward to maintaining an even better progress bar in the coming weeks. Thanks for reading. Stay tuned for more updates.