Summary:
Changing typewriter text color can be done in the typewriter properties dialog, or programmatically via new okular API methods TextAnnotation::textColor and TextAnnotation::setTextColor.
poppler >= 0.69 is required to store text color natively inside PDF documents. For other document types, text color is stored as metadata inside the document archive.
This work was done during GSoC 2018. See https://community.kde.org/GSoC/2018/StatusReports/DileepSankhla for details.
Test Plan:
- properties dialog of typewriter annotation has "Font Color" picker
- saving to PDF results in <r> <g> <b> rg operation in /DA
- saving to archive results in fontColor="rrggbb" attribute in metadata.xml
Reviewers: sander
Reviewed By: sander
Subscribers: kde-doc-english, sander, okular-devel
Tags: #okular, #documentation
Differential Revision: https://phabricator.kde.org/D15205
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
Summary:
This is mainly preparation for D15204 (typewriter), where storing RGB won't be sufficient any longer.
Typewriter will need transparent background (alpha=0x00), which can only be expressed as ARGB string.
Current code handles name format identical for all annotations. It doesn't hurt to store all annotations in ARGB format, so instead of introducing special handling for typewriter, let's store all annotation color attributes as ARGB string.
Note: In case of previously existing okularpartrc, configuration will be reused without conversion. New color format will be written when new settings are saved. This has no bad effect.
Test Plan:
- when [Reviews] section in okularpartrc is initially generated, all annotation color attributes are in #AARRGGBB format
- saving into archive stores color with alpha channel (#AARRGGBB), for all kind of annotations
Reviewers: sander
Reviewed By: sander
Subscribers: dileepsankhla, sander, okular-devel
Tags: #okular
Differential Revision: https://phabricator.kde.org/D15279
Summary:
This patch enables HiDPI throughout the application
Every pixmap is multiplied by the devicePixelRatioF
QPainter code is ajusted to take the DPR value into account
All pixmaps get cached with the highest DPR of all screens. When moving the application to another screen, the cache doesn't have to be invalidated.
BUGS: 362856 383589
REVIEW: D6268
3 benefits:
* We can set the shortcut in the edit shortcuts dialog as before
* Shortcuts can be activated without showing the topbar as before
* Drawing in the toppbar is exactly as the other actions
Note that if a low-res 16x16 version is available, it is shown instead
of the 64x64 version actually used by PagePainter.
e.g. try with the default stamp "Okular"
Removed name attribute from default tools (ie those from tools.xml), so
that they now get default names, which automatically translated if the
application language is switched.
With this patch, tools.xml no longer contains strings to be translated.
NOTE: Messages.sh was not tested
Two purposes:
- Have tooltips available even for user-created annotations (not just
the predefined ones)
- Avoid i18n strings in settings (NOTE: the "name" attribute will be
removed in next patch)
Some tooltips were created over new (eg for new tools), some were
rewritten to actually give instructions instead of repeating the name of
the tool, some were rewritten to avoid references to colors (because
colors are no longer fixed)
Note that previously the width attrubute was ignored by the PolyLine
engine and it always set width=1, that's why I had to change the default
value in tools.xml.
So that they are the same color as the annotations they create.
This patch also adds some new icons.
Affected annotation tools:
- Ellipse
- Polygon
- Rectangle (NEW)
- Squiggly (NEW)
- Line
- Strikeout (NEW)
- Underline
I'll edit the remaining icons in next patches.
as of Eugene Trounev sent them to me more than three years ago, just gz-compressing them now;
followup of b811186781
(apparently I forgot to commit them at that time)
The elements represents the "standard" stamp types as defined in the PDF specs.
Nice work kindly provided you by Eugene 'it-s' Trounev, raise your hand and say "thanks" to him!
CCMAIL: eugene.trounev@gmail.com
svn path=/trunk/KDE/kdegraphics/okular/; revision=884834
in the hicolor namespace. Before, the non-specified
"graphics-viewer-document" icon was used, which caused
icon loaders from other toolkits not to find this icon
as they don't consider Oxygen by default.
Also update all the references that made use of the
"graphics-viewer-document" icon in the code and
the many .desktop files.
svn path=/trunk/KDE/kdegraphics/okular/; revision=819965
find . -name "*.svgz" -exec advdef -z -4 '{}' \;
That saves around 6MB in trunk without any restrictions.
Also correct the svn mimetype for all svgz files which had a wrong one (which is thy reason why my fist commit failed...) with:
svn propset svn:mime-type 'application/octet-stream'
svn path=/trunk/KDE/kdegraphics/okular/; revision=756680
Last optimization has been done almost two years ago. There a lot of new files in trunk (e.g all Oxygen stuff).
It's not the correct time to do that again (before the release).
This run saves again around 10MB of diskspace without any restrictions.
svn path=/trunk/KDE/kdegraphics/okular/; revision=755647