| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I4c4b78af0bd7da5912b5e0136f9cfdb3c4268a7e
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ia01415e5a44b1df9ed8b3966ff3b39a414b1563c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since 42b5da qtbase supports an installation of 3rdpaty
in case of static builds. Depend on 'public' qtbase 3rdparty
installed libs. This fixes prl generation by not including
build paths.
Task-number: QTBUG-91385
Change-Id: Ib0609b2b92d6759aad639154617b45fc2fe96916
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use correct qt zlib lib in case of windows.
Passing qtzlib is actually just done in shake of clarity
and proper dependency tracking since qtCore is most likely
always a dependency for any user app.
Fixes: QTBUG-91476
Change-Id: I20816ebf926472c642847e2611797a6decdeecee
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix duplicated symbols for category logging between
core and qml plugin.
Task-number: QTBUG-91476
Change-Id: I532ad35b8b0e8a0b93e51b9b7a7b3a4602fad9b3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I0dd7c64669f4b130047a4a3836f62f7ee5b5f8d9
|
| |
| |
| |
| |
| | |
Change-Id: I653dee03adcad422d1210fda48bdd5b701382b00
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\|
| |
| |
| |
| |
| | |
Including update to 87-based
Change-Id: I36b6054e00de97ab055d0bc800cff08d0408fac6
|
| |
| |
| |
| |
| | |
Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\|
| |
| |
| | |
Change-Id: Id1a1f4ca84697ba18e2604090e3154295fe1858b
|
| |
| |
| |
| |
| | |
Change-Id: I4c4bbc75b9f6346a446f8094f669d142f76c164a
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtZlib is a semi private module, headers are installed
as Qt5Zlib, however all object are in QtCore.
Add support to compile against Qt5Zlib when doing
static build.
Task-number: QTBUG-87154
Change-Id: I74d1b217725b37781808a54902f9acbee41c50c4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add qtfreetype, qthurfbuzz, qtlibpng, qtlibpng
static 3rdparty libs.
If qtbase has some 3rdaprty libs, which are also
present in chromium. This leads to duplicated symbols
and can lead to unexpected issues with application.
Currently we do only static builds for qtpdf, therefore
this changes only affects qtpdf builds.
If qtfreetype is used, hurfbuzz dependency is not used,
qtlibpng is only used when pdf compiled with xfa.
Task-number: QTBUG-87154
Change-Id: Ibba528268d9c989a2c63c1a7881ba0c95c325437
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickPdfDocument passed source QUrl::path() to QPdfDocument::load.
QUrl::path() output gets "/" as prefix on Windows preventing the file
from being found so this needs to be accounted for by changing it to
QUrl::toLocalFile().
Fixes: QTBUG-88938
Change-Id: I52ed44f67c22bea31637050442487e1914011de9
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 5852716178972dd34df34dabc52a6616eead0aca)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickPdfDocument passed source QUrl::path() to QPdfDocument::load.
QUrl::path() output gets "/" as prefix on Windows preventing the file
from being found so this needs to be accounted for by changing it to
QUrl::toLocalFile().
Fixes: QTBUG-88938
Pick-to: 5.15
Change-Id: I52ed44f67c22bea31637050442487e1914011de9
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I74c7293ebf5ace5bd07e3bf5455dd90bf4ed6380
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
All pages that are opened have to be closed, in order to avoid a memory leak.
Pick-to: 5.15
Change-Id: I15c12b2f1b389638d5fe0a58599d9c410a033652
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Work-around a QtNetwork bug, and QList::resize(0), doing some weird
illegal stuff.
Change-Id: I1eb178b121b9dcdd0a9f6d71d121956ddb5eb2a3
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtPdf is still in tech preview, remove QObjectPrivate
dependency from api.
Change-Id: I83ad2e8ef62d5b701f1e9fa2221b27e76984ca4e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Temporarily disable qttools and qtwebchannel dependencies
as qtquickcontrols2 is 3 commits ahead in its qtdeclarative
dependency.
Change-Id: Ic2a1b472300e1fa1545f5d553e4b909c07c88ba9
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace
QString::fromUtf16({const ushort * -> const char16_t})
QMap::{unite -> insert}
Q{Hover,DragEnter,DragMove,Drop}Event::{posF() -> position()}
Q{Hover,DragEnter,DragMove,Drop}Event::{pos() -> position().toPoint()}
Q{DragEnter,Drop}Event::{mouseButtons -> buttons}
Q{DragEnter,Drop}Event::{keyboardModifiers -> modifiers}
QMouseEvent::{localPos -> position}
QMouseEvent::{windowPos -> scenePosition}
QMouseEvent::{screenPos -> globalPosition}
These should all be just renames without any change in behavior (save
for some floating point conversions). The one remaining issue concerns
the deprecation of binary JSON in qtbase, which is recommended to be
replaced with CBOR.
Change-Id: I8f3b533242fe9a58c08c2b09ff5d0bdbbfa6dd17
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/core/compositor/delegated_frame_node.cpp
src/core/core_chromium.pri
src/core/render_widget_host_view_qt.cpp
Change-Id: I9387151e9647c87fc387095e7b6d8d66560cdf71
|
| |
| |
| |
| |
| | |
Change-Id: Ib06a0a1ec3372d483008cc0ac0ec211ec8316e0e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtPdf and QtWebEngine builds are producing few libraries in one build.
This creates some corner cases like prl file generation. Paths
in prl files are replaced on installation with sed. Unfortunately this
will not work well if we build libraries which depends on not yet
installed libs, since prl files reused by build are not processed by sed.
Add workaround in this case so all depend libs are aware of their static
dependencies and generate correct prl files.
Task-number: QTBUG-85616
Change-Id: I0dbeb96bccbc4865dd52dea7c5d619f8cda1a596
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add missing check for ios.
Change-Id: I7fce6addb154ea83b8308094d5a6c4275d050d9b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During chromium build we get some static libs, these are dependencies
to QtPdf static lib. Generated prl files will contain paths to those libs.
Unfortunately, these are the internal paths to the libs within the build
directory. There are two solutions, merging all dependencies into final lib
or simply installing static dependencies. Since doing a merge of static libs
would require platform specific code and on mac requires special libtool
(we use ar by default) and lipo hassle to get fat archives, we rather
simply install those libs. This way seems to be a common pattern for
static builds.
Fixes: QTBUG-85616
Change-Id: I0cb1a0ae1ad3b8fa8af562951af4de1e9c7a8ba8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-84469
Change-Id: I666a060351f73783e15e3f96884c9393a5cd7e46
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/src.pro
Change-Id: I03c260ba676296f93d8137e79b46f3978f5f41ef
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We support calling make on not configured properly qtwebengine and qtpdf.
This avoids issues when there is no make file for top level
build and user does not understand why. To do that we 'share'
error messages between configure and make calls. However to avoid
duplicating tests and error messages 'configure test conditions' have to
match 'error messages' in support.pri.
In case we miss some error message just ask for reporting the bug,
instead of still trying to build the thing.
Change-Id: I23320afa5174b5f33871c8cd8739ceea8e3a169d
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Separate error checks, so qtpdf can have own dependencies.
Change-Id: I9e538b875fe67448497f10dcd45c83782d98da2d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ie222d56c52f5ca474809b2bc864618e5b3e9a1f2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we run gn with same sets of arguments for pdf
and webengine. Split those so we can make fine grain
configuration and drop some requirements.
Change-Id: I40890b5475dddadd0798ea091ca5e7143fd952b3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is required to remove the ; from the macro with Qt 6.
Task-number: QTBUG-82978
Change-Id: Id948c173695923a1ea83a2098bafc10cfd4dc22b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I95cbf65aab73453688b6fffd160e1091d7713d85
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/pdf/quick/qquickpdfselection_p.h
Change-Id: I6eec37a01347c2d47cbfc1114326dfc6b58719ff
|
| |
| |
| |
| |
| |
| |
| |
| | |
It is needed to assist with autotests, and may be useful to users too.
Also, avoid showing links (dashed lines) until the page is rendered.
Change-Id: I1be5aa82631b2ced00de556b34de29cd2ee1d00e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When mouse-dragging to select text, the selection always contained one
more character than the geometry (set of polygons) was showing.
Conversely, it was not actually possible to select a single character:
you'd always get at least two, even though only one looked like it was
selected.
Applied a similar fix as the one in hitTest() (in
8d13facbd88d821cc89b21f43708cc1a81ac79f3): check the bounding box of the
last character, and if the given end position (where the mouse is being
dragged to) is closer to the right edge than to the left, increment the
ending character index, to point to the character after (which is
probably an invisible newline or other terminator). This fix might not
be so great if the text doesn't run left-to-right, but it works for
Western text in normal orientation at least.
Fixes: QTBUG-83685
Change-Id: I099424cd334fa38986445c134c82580a0307c2fe
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TableViewExtra positionViewAtCell() / positionViewAtRow() merely set
contentY (also contentX if needed); but if the delegates are changing
in size, it goes undetected until one tries to scroll into a certain
range where Flickable detects that originY needs to be adjusted.
Getting TableView to do scheduleRebuildTable(RebuildOption::All)
forces it to start over with delegate sizes too, as if the model was
a QAIM that emitted modelReset(). Since our model is just a number,
one way we can trigger that same behavior is to reassign it.
This won't be needed when we have the newer TableView with
positionViewAtCell() as a built-in function.
Change-Id: I18e305b4ab19302464e289e2fc403b97346b1faa
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PdfScrollingPageView and PdfMultiPageView were already jumping to the
right page; but if you have zoomed in very far, you need it to jump
to the right part of the page too.
This affects how it jumps to search results, link locations, and the
forward/back behavior. All of those should be more precise and
repeatable now. But we depend on some new features that are added to
TableView for Qt 6; in lieu of those, we use TableViewExtra for now.
Fixes: QTBUG-83679
Change-Id: Ie974205562fe7dbf93bae274cef6fefa768aaefb
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TableView in Qt 6 adds its own versions of these functions, but we need
them now so that PdfMultiPageView can accurately jump back and forth
between specific locations and zoom levels.
Done-with: Richard Gustavsen
Task-number: QTBUG-83679
Change-Id: I895186feab572395af4c49b477b1695480a813df
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I5aba9ca9ae07a7579ee9235aa81543658264574d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Testing only on iOS so far; QtPdf doesn't work on Android because of
QTBUG-83459, so we can only hope that this might perhaps be cross-platform,
if only text selection handles actually existed on all platforms.
As usual, text selection begins with a long-press; the iOS platform
plugin intercepts that, and we get QInputMethodEvent::Cursor.
There is no cursor, but we use the opportunity to do hit-testing,
because the Cursor event is the only way that we receive the pixel
location where the user is interacting. Then a popover menu appears,
which contains Select and Select All, and either Copy or Paste depending
on the qt_im_readonly property workaround. You don't get handles until
you choose Select, which will select a word. That makes the popover
menu disappear. You can use the toolbar button to copy to the clipboard.
After that, you can drag either handle. inputMethodQuery(query, argument)
is only ever called with ImCursorPosition regardless which handle is
being dragged, so it doesn't make sense to change the selection there,
even though that would be easy if we were given that information.
Instead, the iOS platform figures out the character range for itself and
sends a QInputMethodEvent::Selection event to tell us which text to
select. And yet it still doesn't move the handles without being told:
QGuiApplication::inputMethod()->update(Qt::ImCursorRectangle | Qt::ImAnchorRectangle)
makes that happen. Then the popover menu will appear again, and now you
can use the Copy function on it as an alternative way to copy text to
the clipboard.
By default, when the user does the initial long-press to start selecting
text, the popover menu has Select, Select All, and Paste. In editable
controls there is a second possible menu that normally has Cut, Copy,
Paste and Delete. We are not able to enter that mode. So as a
workaround, to substitute Copy instead of Paste, we set the
qt_im_readonly property so that QIOSTextResponder::canPerformAction()
can detect it and make the substition. Of course that won't work
without the patch to 5.15; so you still get a useless Paste action on
earlier Qt versions.
Selecting a word via the Select popover menu item happens because iOS sends
QKeySequence::MoveToPreviousWord and then QKeySequence::SelectNextWord.
We spend time calling getSelectionAtIndex() twice because of that.
With an actual keyboard, it should be possible to use keystrokes to
extend the selection, but it doesn't seem to work yet with shift-arrows
on a physical bluetooth keyboard on iOS.
Select All on the popover menu works via inputMethodEvent() with attr
QInputMethodEvent::Selection. Copy sends the standard copy key sequence,
so keyReleaseEvent() handles it.
We must rename the geometryChanged signal to selectedAreaChanged now
that we're inheriting from QQuickItem, to avoid shadowing
QQuickItem::geometryChanged.
For this kind of text selection to work even when the rendering is scaled,
it became necessary to inform PdfSelection of the rendering scale; so
a renderScale property is added. Thus it is sensible (and a nice
simplification in QML code) to use it for the fromPoint and toPoint
properties, such that those are now expressed in pixels rather than points.
Fixes: QTBUG-82441
Task-number: QTBUG-83811
Change-Id: I16ecd2db55c6a834be6139ce4f3aae23446fed54
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I5cdbedb5b20c32d1c7e3ed8e8a79490be2871a77
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure.pri
src/pdf/api/qpdfpagerenderer.h
Change-Id: I7e68277080e29238bbfe8511539ea75b2db89489
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QObject::disconnect: Unexpected nullptr parameter
was caused by disconnecting from the previous document's statusChanged
signal even when there was no previous document.
Change-Id: I740f0e569f445660494011d788c0e917e787ac80
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In practice, some PDFs contain links for which FPDFAction_GetType()
reports PDFACTION_UNSUPPORTED and yet we can successfully get the same
information as if it were PDFACTION_GOTO. For example
https://www.openexr.com/documentation/TechnicalIntroduction.pdf
contains some of these.
PDFACTION_URI is another web link representation: for example in
https://www.w3.org/WAI/WCAG21/working-examples/pdf-links/links.pdf
PDFACTION_LAUNCH and PDFACTION_REMOTEGOTO will be trickier to support in
actual viewer applications, but at least we should provide the file path
to open, as a URL.
Log similar warnings each time an invalid aspect of a link is
encountered, into the qt.pdf.links logging category.
Change-Id: I7ca24baa10524611e0705e89a07906ab7b74dadb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Don't build both release and debug, when build_all is not requested.
Change-Id: I4e0458ba460a9c62b32161ea588955b2f539a37e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds support for messages like:
Note: The following modules are not being compiled in this configuration:
pdf
pdfwidgets
Change-Id: I89cd3ff4934197ce0dfee7a73d9f829c94f6606c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Technically undefined behavior.
Change-Id: I7538f800b01473c7c2861137a47dc0424251b926
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Avoid having the enum name in the enum values.
Change-Id: Ida5b3405e6922eb1a2a37edc6fb650019254f4d4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|