In these three weeks, I focused on general bug fixes (majority caused by me btw) and also on improving the logic behind text annotation:
A minor fix, now marK shows the initial working directory, the one where it was open at, in the listLabel (that is above the list of items).
When changing the working directory and the current painter was the textPainter, the TextEdit instance would not be closed properly, thus not behaving as it should, as the imagePainter is the default in the containerWidget (widget where data annotation is made) when there is no item opened.
Like I have said in the previous post, I have added support for the mouse move event when annotating data. With this, a bug was introduced when mouse click and move happened in the rectangle mode (a bunch of mini rectangles would be created instead of just adjusting one, as in the example shown above).
With the new logic of the painters, this bug was introduced again, in the past, marK had this problem with images bigger than 1280X960 (that I solved in SoK 2020). To solve this, I used a second vector that contains temporary objects adapted to the containerWidget, and the main vector, which also contains annotation data, will have the correct values meant to be saved. This means that image annotation is now working properly again.
I have improved the logic of text annotation, now the code is more maintainable and works like the imagePainter, creating new MarkedObjects (the class that represents annotation data) just when it is needed, saving the annotation data just when it is understood that it is already complete (mouse release), thus avoiding some saving (like always triggering the autosave functionality as before) and deleting operations that may affect the performance. A bit later I improved it further, fixing one case where the end of current text selection is at the beginning of another causing the latter to disappear and improved the readability of the code.
What is next? There is still one part of the code that I trying to improve in regards to text annotation, currently, it is not possible to use the wheel to navigate through a document that is big enough to not fit in the whole containerWidget, this is a bug that I want to solve, I also will improve (and add) options to the menu of marK to its first release.
That is it, see you in the next post 😉
Um comentário em “Google Summer of Code 2020 – week 9, 10 and 11”