GSoC 2019: Week 7 - Keyboard Navigation
Work Planned To Do:
In the blog that I posted last week, I mentioned that I will be implementing the Palette navigation using the arrow keys. As promised, I was also able to complete the keyboard navigation feature. This took more time than I expected since I faced some technical difficulties.
Completed Palette Navigation
I started by reimplementing the keyPressEvent() inside the Palette List. The new keyboard navigation allows one to go through the grid of elements uniformly and will help blind people to get to elements fast as they cannot see the grid layout. One can traverse forward to the next element using the down or right arrow, backward with the up and left arrows. When the selected element reaches the end and then you press the right/ down arrow key, then it will go to the next palette. Similar methods implemented for the up/left arrow key. This can be integrated with the NVDA screen reader which will of great help to lots of people.
Fixed the alignment and resize issues on the icons.
With some changes in method to draw the icons. I managed to make a view that looks approximate to the previous grid layout. The changes include using the hgrid and vgrid from the XML file to set the grid size for the icons in the QListWidget.
Work Planned to do this week:
Reimplement the Drag & Drop and Mouse Events functions so that one can apply the elements to the Score. This is the most important method which needs to be implemented, and I hope I could use the functions from the previous version of palette effectively to implement this function as fast as possible.