<div dir="ltr">Greetings,<div> After some time away I'm ready to work a bit more on enhancing Okular's annotation support. </div><div><br></div><div> I am interested in working towards adding an "Annotation Selection Tool" that would live under the "Tools" menu. I would like this tool to provide functionality that is similar to the "Shape handling" mode in Calligra Words. Below I've sketched out the 6 main features that I would like to see provided by this tool.</div>
<div><br></div><div>1) Selection: Left click on an annotation to select it. Hold control while left clicking an annotation to add it to the current set of selected annotations. Left click and drag to select all of the annotations in a rectangular region. A selection rectangle is drawn around the set of selected annotations.</div>
<div><br></div><div>2) Delete selected annotations: The current set of selected annotations may be deleted by hitting the delete key or by right clicking and selecting 'Delete' from a context menu.</div><div><br>
</div><div>3) Move selected annotations: The current set of selected annotations may be moved together by left click dragging the selection rectangle.</div><div><br></div><div>4) Resize selected annotations: The selection rectangle may be resized by dragging resize handles. This scales all selected annotations accordingly.</div>
<div><br></div><div>5) Edit selected annotation properties: It should be possible to edit certain properties on all selected annotations (such as color). </div><div><br></div><div>6) Edit geometry of selected annotations: Selected annotations may display drag handles used to alter their geometry. For example, these drag handles could be used to alter the start and end points of a line or the vertices of a polygon.</div>
<div><br></div><div> Since this is a large undertaking (at least for me as a part-time hobby project) I wanted to get some feedback from the community before getting started. Do you like the overall idea? Any questions or concerns at this 10,000 foot level?</div>
<div><br></div><div> If the overall idea sounds good to everyone, I think I'll first work on implementing items 1-3 above and submit that for review before looking at 4, 5, and 6. Based on my experience last year implementing undo/redo support for annotations, I'm pretty confident that 1-3 will be fairly straightforward to implement and won't require a lot of refactoring of the core annotation code in Okular. Items 4, 5, and 6 on the other hand I do expect to require a fair amount of refactoring.</div>
<div><br></div><div>Thoughts?</div><div><br></div><div>-Jon</div><div><br></div><div><br></div></div>