----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/127366/#review93501 -----------------------------------------------------------
Looks very nice for a start, congratulations. > Reconsider UI, esp. the Ctrl-way to get focus. Is there something in the KDE > HIG about it? It's not too bad, i think it would be ok, but if you awnt to try asking in the kde-usability mailing list it may help (sometimes it does not though, so be prepared :D) > Improve handling when annotation gets so small that resize handles overlap. I guess in that case one could try to always default to one of the corner ones, so you're forced to make it bigger by 2 dimensions? > Find approach how to handle "resize to negative geometry". I think not letting people go negative is what makes more sense > Known Bug: In the thumbnail list, resize handles are drawn too big, and not > refreshed correctly. I'd say it makes more sense to not draw the handles at all - Albert Astals Cid On March 13, 2016, 8:25 p.m., Tobias Deiminger wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/127366/ > ----------------------------------------------------------- > > (Updated March 13, 2016, 8:25 p.m.) > > > Review request for Okular. > > > Repository: okular > > > Description > ------- > > This diff adds a first version of an annotation resize feature to okular (see > Bug 177778). Do you think the approach is worth carrying on? If so, I'm > looking forward to read your comments on everything below, esp. the TODO > items. > > Usage: > If you press Ctrl while mouse cursor is over an annotation, you'll get focus > on that annotation. Now keep Ctrl pressed, and move mouse cursor over one of > the 8 resize handles (each 10x10 pixels) on the corners/edges. The cursor > will change shape to indicate resize mode. Clicking somewhere else on the > annotation means "move", just as it was before resize feature was added. > > Notable changes: > It works by eventually changing AnnotationPrivate::m_boundary and notifying > generator (i.e. poppler) about that change, similar to the existing move > functionality. > -Separated annotation state handling out of PageView into a new class > MouseAnnotation (ui/pageviewmouseannotation.cpp). > -Added method Document::resizePageAnnotation, backed by a QUndoCommand class > Okular::ResizeAnnotationCommand. > -Added method Annotation::resize functions and new Annotation flags > BeingResized and BeingFocused. > -Draw resize handles in PagePainter::paintCroppedPageOnPainter > -Draw only a bounding rectangle during resize, if annotation is rendered > externally > > TODO: > -Reconsider UI, esp. the Ctrl-way to get focus. Is there something in the KDE > HIG about it? > -Feature is currently limited to annotation of type AText and AStamp => > extend to all types where applicable. > -Improve handling when annotation gets so small that resize handles overlap. > -Find approach how to handle "resize to negative geometry". Maybe flip resize > mode, e.g. from top left to bottom right when hitting size 0. Or just deny > further lessening at size 0. > -Reconsider name of class MouseAnnotation. What does it do, and what's a good > name for that? > -Reconsider interface between PageView and MouseAnnotation (currently it's > just forwarding UI events together with PageViewItem and event positions). > -Add test cases once requirements are fixed. > -Known Bug: In the thumbnail list, resize handles are drawn too big, and not > refreshed correctly. > -Known Bug: When page orientation is changed (e.g. rotated by 90 deg.), wrong > resize mode is applied. > > > Diffs > ----- > > CMakeLists.txt 97e8db6e4a704fd34331fad7b7628ca2248b62d8 > core/annotations.h 4f107440dc824fd9049a30082befd18642e63895 > core/annotations.cpp e02994688414bdf485b308d6ef122ee2eff3fbaf > core/annotations_p.h 07b124a4fae40b7a983aa382ae824125e6d25746 > core/document.h 63f58741bd6680a673945a7b7c05a10130968beb > core/document.cpp 6953b1fb0dc29a375be7ff331a2a2bccce975366 > core/document_p.h fda23275033645ea67f5ad9d27341fc4635ede34 > core/documentcommands.cpp 95aded51d73a3d3b98ff26284c9c46fc5c9cf0ca > core/documentcommands_p.h 17394f2a25b187cf4aff66b3a7f891b81be5acdd > generators/poppler/annots.cpp 8cde64833831ec833b3be552608cff99d38f8e63 > ui/pagepainter.h 68b241658162d9bd6eb187efc594ef17ea99d899 > ui/pagepainter.cpp 57e8620cdefc36e40660fce242d7ea8197c25339 > ui/pageview.cpp 3ebf7dcb04aa1942e02f49133d98081e2bbb565c > ui/pageviewmouseannotation.h PRE-CREATION > ui/pageviewmouseannotation.cpp PRE-CREATION > > Diff: https://git.reviewboard.kde.org/r/127366/diff/ > > > Testing > ------- > > > Thanks, > > Tobias Deiminger > >
_______________________________________________ Okular-devel mailing list Okular-devel@kde.org https://mail.kde.org/mailman/listinfo/okular-devel