Summary:
Typewriter is originally specified by the PDF reference as special FreeText annotation, where Intent=FreeTextTypewriter. It features opaque letters on transparent background, so that users can fill non interactive forms. Herewith typewriter is implemented natively for PDF, and there's also an Okular specific implementation for other document types. The added tool reuses the inline note UI.
This work was done during GSoC 2018. See https://community.kde.org/GSoC/2018/StatusReports/DileepSankhla for details.
FEATURE: 353401
Test Plan:
- okularpartrc is generated (if not yet existing) with typewriter as 10th tool
- typewriter tool is also available in Annotation Tools -> Add, Typ "Typewriter"
- selecting the tool and left click into document opens inline note input dialog
- finishing creates an annotation similar to inline note, but with transparent background
- saving into PDF results in /Subtype FreeText /IT /FreeTextTypeWriter
- saving typewriter into archive stores color with alpha channel = 0x00
- opening annotated archive works, if archive was created with old Okular, and opened in patched Okular
- opening annotated archive works, if archive was created with patched Okular, and opened in old Okular
Reviewers: sander
Reviewed By: sander
Subscribers: ngraham, sander, okular-devel
Tags: #okular
Differential Revision: https://phabricator.kde.org/D15204
- Changed property dialog title from "Highlight" to "Text Markup",
because it's used for Underline, Squiggle and Strike out too.
- Renamed Squiggly (adjective) to Squiggle (noun)
- Show the precise type of HighlightAnnotation in the review panel and
on right-click on a HighlightAnnotation
This patch moves the Color and Opacity fields into the AnnotationWidget
class. This will allow future reuse of the same widget to configure
annotation tools.
Note that AnnotationWidget is no longer abstract: a base
AnnotationWidget object only contains the Color and Opacity fields.
Modification and removal of *external* annotations are disabled by this
patch. Note that this change doesn't remove any functionality, because they
have never been implemented (AnnotationProxy is defined by the previous
patch).
The #if0'd blocks will be enabled by a future patch that provides fallback
behavior for generators that don't support saving changes.
Use this possibility for file attachment annotations, for showing details about the embedded file.
svn path=/trunk/KDE/kdegraphics/okular/; revision=798689
- disable the review toolbar
- make the annotation prioerties dialog read-only
- disable the removal
svn path=/trunk/KDE/kdegraphics/okular/; revision=705415
- make the output looking more or less like before (using nospace() or removing the spaces)
- remove endl and '\n' at the end of debug outputs
- fixing the QDebug operator<<'s around
- isolate the debug area number of the core into a separate header, and apply it instead of the numbers found in textpage.cpp
svn path=/trunk/KDE/kdegraphics/okular/; revision=694667
* Moved all public member variables of Annotation to private
and add accessors
* Renamed RevScope and RevType to RevisionScope and RevisionType
* Add API documentation (@pino, please review)
svn path=/trunk/playground/graphics/okular/; revision=610749