I took up the task of developing a grid based GUI for displaying games for ScummVM as my GSoC ’21 project. Work done All of the weekly progress reports are available on my blog [https://blogs.scummvm.org/av-dx], the single PR (237 commits) containing my work is linked here [https://github.com/scummvm/scummvm/pull/3135]. In this post, I will provide a summary… Continue reading Goodbye GSoC ’21! (GSoC Summary)
The Unfinished Business (TODOs)
The TODO list that is longer than the list of goals in my project application Code related fixes / improvements [Highest priority] These are all the things which either I left unfixed or picked the suboptimal solution because I wasn’t willing to spend more time on the problem, or the problem involved messing with the… Continue reading The Unfinished Business (TODOs)
Finishing it up (Week 10 Progress)
Task 1: Fix filtering on grouped list widget When I added the grouping functionality to the widget, I had not removed the bugs that had arisen while filtering the list. I fixed those bugs. Task 2: Add filtering for grid view I added the filtering functionality to the grid. Although currently extra-helpful features like quick-dictionary… Continue reading Finishing it up (Week 10 Progress)
Making use of games database (Week 9 progress)
Task 1 : Adding more grouping methods Just like with the grouped list, the next task is to get more groups working with the grid. I added a popup widget to select the grouping method and added few more grouping methods. Task 2: Fix formatting issues In the last picture, 2 things are very clearly… Continue reading Making use of games database (Week 9 progress)
Implementing grouping in Grid View (Week 8 progress)
Task 1: Rendering “Groups“ I had already acquired the technology to group elements in array form, and the grid internally uses a linear array to store the entries as well. So “forming” groups is borderline copy paste. So I can easily add a generic “attribute” parameter to the struct (which may well be some already… Continue reading Implementing grouping in Grid View (Week 8 progress)
More grouping methods (Week 7 progress)
Task 1: Sorting and formatting group headers Pretty much the title. I implemented sorting by title, and the functionality for adding prefix and suffixes for group headers. For the fold icons, lephilousophe, another ScummVM dev, wrote the code for drawing horizontal triangles, which when merged will work nicely with the list. Task 2: More grouping… Continue reading More grouping methods (Week 7 progress)
Starting with grouped list (Week 6 progress)
Task 1: Group items in the list view Before I can tackle the complexity of grouping items in the grid view, I first had to add grouping feature to the list view. This led to the creation of a new widget : GroupedListWidget. The widget only does one level of grouping, i.e., no nested groups.… Continue reading Starting with grouped list (Week 6 progress)
Clean up work (Week 5 progress)
GSoC Phase 1 Evaluations The Phase 1 evaluations are set to begin from July 12th. As such the last week was spent creating and working on a Pull Request. After two days of rest at the start of the week, I created a draft PR, and after the first round of review by sev, started… Continue reading Clean up work (Week 5 progress)
Best of both layouts (Week 4 progress)
Task 1 : Switching between list and grid The list layout has been a part of the GUI for a long time, and its not being replaced this time either. There should be a button to toggle between grid and list view. But this would originally switch out only the display method , i.e., switch… Continue reading Best of both layouts (Week 4 progress)
Adjusting the layout for more screens (Week 3 Progress)
Task 1 : Hi, HiDPI. One part that had been neglected up till this point has been the look of GUI on different displays, especially high density displays (HiDPI), on which the GUI is scaled 2x. I could not test this earlier because I don’t have a HiDPI display for my computer, but sev pointed… Continue reading Adjusting the layout for more screens (Week 3 Progress)