Tag:
Branch:
Tree:
d3388cd6a1
frameworks
helm-link
master
portage-wilder
wilder
wilder-19.12
wilder-22.12
wilder-helm
wilder-rebase
poppler-21.06.1
v14.11.80
v14.11.90
v14.11.95
v14.11.97
v14.12.0
v14.12.1
v14.12.2
v14.12.3
v15.03.80
v15.03.90
v15.03.95
v15.03.97
v15.04.0
v15.04.1
v15.04.2
v15.04.3
v15.07.80
v15.07.90
v15.08.0
v15.08.1
v15.08.2
v15.08.3
v15.11.80
v15.11.90
v15.12.0
v15.12.1
v15.12.2
v15.12.3
v16.03.80
v16.03.90
v16.04.0
v16.04.1
v16.04.2
v16.04.3
v16.07.80
v16.07.90
v16.08.0
v16.08.1
v16.08.2
v16.08.3
v16.11.80
v16.11.90
v16.12.0
v16.12.1
v16.12.2
v16.12.3
v17.03.80
v17.03.90
v17.04.0
v17.04.1
v17.04.2
v17.04.3
v17.07.80
v17.07.90
v17.08.0
v17.08.1
v17.08.2
v17.08.3
v17.11.80
v17.11.90
v17.12.0
v17.12.1
v17.12.2
v17.12.3
v18.03.80
v18.03.90
v18.04.0
v18.04.1
v18.04.2
v18.04.3
v18.07.80
v18.07.90
v18.08.0
v18.08.1
v18.08.2
v18.08.3
v18.11.80
v18.11.90
v18.12.0
v18.12.1
v18.12.2
v18.12.3
v19.03.80
v19.03.90
v19.04.0
v19.04.1
v19.04.2
v19.04.3
v19.07.80
v19.07.90
v19.08.0
v19.08.1
v19.08.2
v19.08.3
v19.11.80
v19.11.90
v19.12.0
v19.12.1
v19.12.2
v19.12.3
v20.03.80
v20.03.90
v20.04.0
v20.04.1
v20.04.2
v20.04.3
v20.07.80
v20.07.90
v20.08.0
v20.08.1
v20.08.2
v20.08.3
v20.11.80
v20.11.90
v20.12.0
v20.12.1
v20.12.2
v20.12.3
v21.03.80
v21.03.90
v21.04.0
v21.04.1
v21.04.2
v21.04.3
v21.07.80
v21.07.90
v21.08.0
v21.08.1
v21.08.2
v21.08.3
v21.11.80
v21.11.90
v21.12.0
v21.12.1
v21.12.2
v21.12.3
v22.03.80
v22.04.0
v22.04.1
v22.04.2
v22.04.3
v22.07.80
v22.07.90
v22.08.0
v22.08.1
v22.08.2
v22.08.3
v22.11.80
v22.11.90
v22.12.0
v22.12.1
v22.12.2
v22.12.3
v23.03.80
v23.03.90
v23.04.0
v23.04.1
v23.04.2
v3.2.0
v3.2.1
v3.2.2
v3.2.3
v3.3.0
v3.3.1
v3.3.2
v3.4.0
v3.4.0-beta1
v3.4.0-beta2
v3.4.1
v3.4.2
v3.4.3
v3.4.90
v3.4.91
v3.4.92
v3.5.0
v3.5.1
v3.5.10
v3.5.2
v3.5.3
v3.5.4
v3.5.5
v3.5.6
v3.5.7
v3.5.8
v3.5.9
v3.90.1
v3.91.0
v3.92.0
v3.93.0
v3.94.0
v3.95.0
v3.96.0
v3.97.0
v4.0.0
v4.0.1
v4.0.2
v4.0.3
v4.0.4
v4.0.5
v4.0.71
v4.0.80
v4.0.83
v4.0.98
v4.1.0
v4.1.1
v4.1.2
v4.1.3
v4.1.4
v4.1.80
v4.1.85
v4.1.96
v4.10.0
v4.10.1
v4.10.2
v4.10.3
v4.10.4
v4.10.5
v4.10.80
v4.10.90
v4.10.95
v4.10.97
v4.11.0
v4.11.1
v4.11.2
v4.11.3
v4.11.4
v4.11.5
v4.11.80
v4.11.90
v4.11.95
v4.11.97
v4.12.0
v4.12.1
v4.12.2
v4.12.3
v4.12.4
v4.12.5
v4.12.80
v4.12.90
v4.12.95
v4.12.97
v4.13.0
v4.13.1
v4.13.2
v4.13.3
v4.13.80
v4.13.90
v4.13.95
v4.13.97
v4.14.0
v4.14.1
v4.14.2
v4.14.3
v4.2.0
v4.2.1
v4.2.2
v4.2.3
v4.2.4
v4.2.85
v4.2.90
v4.2.95
v4.2.96
v4.2.98
v4.3.0
v4.3.1
v4.3.2
v4.3.3
v4.3.4
v4.3.5
v4.3.80
v4.3.85
v4.3.90
v4.3.95
v4.3.98
v4.4.0
v4.4.1
v4.4.2
v4.4.3
v4.4.4
v4.4.5
v4.4.80
v4.4.85
v4.4.90
v4.4.92
v4.4.95
v4.5.0
v4.5.1
v4.5.2
v4.5.3
v4.5.4
v4.5.5
v4.5.80
v4.5.85
v4.5.90
v4.5.95
v4.6.0
v4.6.1
v4.6.5
v4.6.80
v4.6.90
v4.6.95
v4.7.0
v4.7.1
v4.7.2
v4.7.3
v4.7.4
v4.7.80
v4.7.90
v4.7.95
v4.7.97
v4.8.0
v4.8.1
v4.8.2
v4.8.3
v4.8.4
v4.8.5
v4.8.80
v4.8.90
v4.8.95
v4.8.97
v4.9.0
v4.9.1
v4.9.2
v4.9.3
v4.9.4
v4.9.5
v4.9.80
v4.9.90
v4.9.95
v4.9.97
v4.9.98
${ noResults }
8 Commits (d3388cd6a112d7e9ee83c61b478c8a6ff8c6aab7)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
3c4f16ea4b |
Fix crash due to dangling pointer in MouseAnnotation
Summary: BUG: 388228 Diff applies to Applications/17.12, and should be easy to merge to master. It's kept quite minimal as suggested by Albert. Albert also suggested to add a dedicated unit test and I'd agree, but am not yet sure how to do it. The original bug involves several classes, including UI: Document, Page, AddAnnotationCommand, PageView, PageViewAnnotator, MouseAnnotation - to name a few. So a test for the exact bug scenario would become a bigger integration test rather than an isolated unit test. The other approach would be to do a real unit test on MouseAnnotation. But again, MouseAnnotation has nasty dependencies (e.g., needs a parent PageView) which I'd have to mock. Any ideas? I'd be interested in a discussion on this topic. Test Plan: # Load a document (e.g. [[ http://www.philipebert.info/resources/WhatMathematicalKnowledgeCouldNotBe.pdf | linked PDF from bug report ]]) and enable highlight toolbar (F6). # Create highlight annotation. # Move the view port so that the annotation position is right beside the highlight tool icon. # Move the mouse over the annotation, and then horizontally left until you reach the tool icon; it's important to stay over the highlight annotation as long as in viewport. # Press ctrl-z for undo. # Click on highlight tool, move right into the document, create new highlight annotation. # Okular doesn't crash. Reviewers: #okular Subscribers: aacid, ngraham Tags: #okular Differential Revision: https://phabricator.kde.org/D9852 |
8 years ago |
|
|
19b7e3c112 |
The work in this branch was sponsored by LiMux
give them some credit in the headers |
8 years ago |
|
|
ca5422d0e9 |
Implement swapBackingFile for the PDF backend
How does it work: * What it does is really closing and opening the file again through poppler * This means that things that are generated in "open" time like Page, Rects, Annotations, Forms need to be updated * For Page what we do is swap the PagePrivate so that other classes that hold Page* don't break * Since some parts of the PagePrivate can be reused, we move them in PagePrivate::adoptGeneratedContents * For all the commands in the undo stack we need to update the annotations/forms it refers to, added a new function to do that * The annotationmodel needs updating it's pointers * The widgets for the forms are reused and their form* updated * the widgets for the videos are recreased since videos don't really hold much content (you lose the playing status on save but i think that's acceptable) TODO: Make this work for .okular files TODO: For files with password we will need to reload the file, asking for the password again and thus losing the undo stack, warn the user TODO: autotests |
8 years ago |
|
|
e31bea047c |
Show tooltip for annotations without handle too
Summary: BUG: 384147 Reviewers: rkflx Reviewed By: rkflx Subscribers: ngraham, rkflx, tobiasdeiminger, #okular Tags: #okular Differential Revision: https://phabricator.kde.org/D7874 |
9 years ago |
|
|
a53a2402ca |
clang-tidy: modernize-use-nullptr run
Semi-ACK'd by Albert :) |
9 years ago |
|
|
69dca1e7dd |
Fix segfault when document is closed while annotation is selected
Prevent MouseAnnotation from accessing PageViewItem widgets any longer after PageView deletes them in PageView::notifySetup(). BUGS: 378696 REVIEW: 130087 |
9 years ago |
|
|
0957abc39a |
Add annotation resize functionality
Usage: If you left-click an annotation, it gets selected. Resize handles appear on the selection rectangle. When cursor is moved over one of the 8 resize handles on the corners/edges, the cursor shape changes to indicate resize mode. Everywhere else on the annotation means "move", just as it was before resize feature was added. Pressing ESC or clicking an area outside the annotation cancels a selection. Pressing Del deletes a selected annotation. Feature is only applicable for annotation types AText, AStamp and AGeom. Implementation: It works by eventually changing AnnotationPrivate::m_boundary and notifying generator (i.e. poppler) about that change. Annotation state handling is shifted out of PageView into a new class MouseAnnotation (ui/pageviewmouseannotation.cpp). Some functionality not related to resizing but to annotation interaction in general is also shifted to class MouseAnnotation, to build a single place of responsiblity. Other changes: Add method Document::adjustPageAnnotation, backed by a QUndoCommand. class Okular::AdjustAnnotationCommand. Add Annotation::adjust and Annotation::canBeResized methods. Draw resize handles in PagePainter::paintCroppedPageOnPainter. Resize and move work -for types AText, AStamp and AGeom -on all pages of document -when viewport position changes -when zoom level changes -for all page rotations (0°, 90°, 180°, 270°) Selection is canceled -when currently selected annotation is deleted -on mouse click outside of currently selected annotation -ESC is pressed Viewport is shifted when mouse cursor during move/resize comes close to viewport border. Resize to negative is prevented. Tiny annotations are still selectable. If mouse is moved over an annotation type that we can focus, and the annotation is not yet focused, mouse cursor shape changes to arrow. If mouse cursor rests over an annotation A, while annotation B is focused, a tooltip for annotation A is shown. Selected Annotation is deleted when Del is pressed. Test for regressions: -Annotation interaction (focus, move, resize, start playback, ...) are only done in mode EnumMouseMode::Browse. -If mouse is moved over an annotation type where we can start an action, mouse cursor shape changes to pointing hand. -If mouse is moved over an annotation type that we can't interact with, mouse cursor shape stays a open hand. -If mouse cursor rests over an annotation of any type, a tooltip for that annotation is shown. -Grab/move scroll area (on left click + mouse move) is prevented, if mouse is over focused annotation, or over AMovie/AScreen/AFileAttachment annotation. -A double click on a annotation starts the "annotator". REVIEW: 127366 BUG: 177778 BUG: 314843 BUG: 358060 |
9 years ago |