After fixing the porting mistake done in 78d983ee, `drawRoundedRect` can
be further simplified to not use any relative sizes anymore.
We can also assume that the code in `dviRenderer::epsf_special` was
supposed to use a constant corner radius and therefore was wrong
initially. By dropping `Qt::RelativeSize` the code might become closer
to its originally intended behavior.
Test Plan:
- No change in behavior for rounded corners of "Welcome" popup message
and "No Annotations" message in sidebar.
- Could not test DVI code path.
78d983ee led to some rounded corners in the UI not being perfectly
circular anymore: Popup messages would stretch the rounding depending on
message length, and the rounded corner of the message in the annotation
bar would get distorted while changing the sidebar's width.
That commit tried to fix the following `warning: ‘void
QPainter::drawRoundRect(int, int, int, int, int, int)’ is deprecated:
Use drawRoundedRect(..., Qt::RelativeSize)` by changing to
`drawRoundedRect`, but missed to also add `Qt::RelativeSize`.
Adding the missing flag fixes both issues. The change is also
implemented in `dviRenderer::epsf_special` (introduced in be544056,
changed in 55dc43bf) for correctness.
Test Plan:
- Start Okular. The "Welcome" message and the "Document Loaded"
message have perfectly rounded corners again, not depending
on message length.
- Change width of the annotations sidebar: The "No Annotations"
message does not change its rounded corners anymore.
- Running in HiDPI mode retains the correct behavior.
- Note: There does not seem to be a trivial/convenient way to trigger
the DVI code path.
find . \( -name "*.cpp" -or -name "*.h" -or -name "*.c" -or -name "*.cc" \) -exec clang-format -i {} \;
If you reached this file doing a git blame, please see README.clang-format (added 2 commits in the future of this one)
Use jq to filter compile_commands.json to not include the compilation of
autogenerated files, we don't want to check those
Also filter out the synctex folder, since that is imported code
After removing kdelibs4support, these flags are enabled:
-DQT_USE_FAST_OPERATOR_PLUS -DQT_NO_CAST_TO_ASCII
-DQT_NO_CAST_FROM_ASCII -DQT_NO_URL_CAST_FROM_STRING
-DQT_NO_CAST_FROM_BYTEARRAY
So wrap naked string and character literals in QStringLiteral,
QLatin1Char and QLatin1String as appropriate.
To more easily see the changes, use «git show --color-words».
Thank $DEITY for vim macros.
This patch changes multiline QStringLiterals to QString::fromLatin1
as QStringLiterals doesn't understand multiline strings on windows.
Also, strncasecmp is replaced by the portable qstrnicmp function provided
by QByteArray header.
REVIEW: 126379
If the fonts are mapped for some reason to X bitmap fonts,
the call to drawText() in the non-GUI thread will produce a crash.
Ensure that the rendering of the text is performed only if
the threaded font rendering is available - a rare event nowadays,
but still possible.
CCBUG: 248852
Adapted from the DVI plugin of KViewShell.
It can:
- load documents
- generate correctly the pixmaps for the images
- rotate the pages
- extract the text from the pages (thus search and text selection are possible)
- extract the URL hyperlinks from the documents
Credits for this work goes to Luigi Toscano, thanks Luigi!
CCMAIL: Luigi Toscano <luigi.toscano@tiscali.it>
svn path=/trunk/playground/graphics/okular/; revision=555582