| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
This is handy for debugging pages which override context menu.
Change-Id: I4eedf0dc8e00e15716b896608db27cdbc6906362
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
| |
This is a partial revert of 83e5b3c3e19deedfcad0dcb8116b3e6c931b8f6c
Pick-to: 6.4 6.3
Change-Id: I79e814075415585b4d4a3b04a92b3ad84d2dfa53
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PdfSearchModel.currentResult is now the index within the whole list
of search results, rather than starting over from 0 on each page.
This simplifies some code.
The way that PdfMultiPageView uses PdfSearchModel, the currentPage
property is read-only: it tells the page of currentResult (which we need
in the view, because each page has the ability to show a
current-search-result highlight shape, but only one page actually needs
to show it). The controls in a viewer to iterate search results (up and
down arrows in the footer) simply increment and derement currentResult;
the currentPage property gets updated to tell the view which page
currently holds currentResult; and the ListView highlight follows along
in the sidebar too, because ListView.currentIndex is now bound to
searchModel.currentResult.
But in PdfScrollablePageView, we still need to bind the currentPage
property, to get the currentPageBoundingPolygons property updated
when we switch pages. Since that viewer only sees one page at a
time, it's much more declarative to do it that way, rather than
calling the invokable boundingPolygonsOnPage(int) function.
Bindings get updated on their own; whereas in PdfMultiPageView
it's a bit inelegant that we need to call boundingPolygonsOnPage()
repeatedly, at the right times so that the highlights are never
shown in the wrong places at the wrong time. It could be avoided
if we had a separate per-page model object to filter the results
from the main PdfSearchModel; but that would add significant API
complexity, and perhaps be too confusing for anyone who tries to
re-implement a QML-based viewer component.
The current search result highlight now stays on the page where
the user left it: scrolling manually to another page will no
longer choose a current result on the new page, as it did before.
This is more consistent with typical applications.
A currentResultLink property is added, to make it easy to call
PdfPageNavigator.jump(link), thus passing along the QPdfLink.rectangles.
The same link object gets re-emitted in the PdfPageNavigator.jumped
signal to tell the view to scroll in such a way as to get those
rectangles visible in the viewport, via TableView.positionViewAtCell().
There are a couple of drive-by fixes:
QQuickPdfSearchModel::documentChanged() doesn't need to be declared,
because we are using the signal inherited from QPdfSearchModel.
And const-correctness is improved in the implementation of
boundingPolygonsOnPage().
[ChangeLog][QtPDF] PdfSearchModel.currentResult is now the result index
within the whole set of search results rather than on currentPage;
and changing currentPage no longer makes currentResult change.
In the views, this means the current highlighted search result stays
on the same page even when the user views a different page.
Change-Id: I96957f50e703f62101b3d3c708ff5f27b162cd8d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
| |
If the caller doesn't want to change it, it's easier to omit it rather
than remembering that 0 is a special value.
Change-Id: I851f678941e5144a9dea306fddba59fd15ed9939
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This API is available for both C++ and QML.
The pageModel makes it easier to populate item-views with per-page
information, such as thumbnails labeled with page labels.
Fixes: QTBUG-102271
Change-Id: I70df481b378efed0327e7bb89a63c7669daecc70
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Give them unique labels. This was done with pdftk:
$ pdftk resources/test.pdf update_info_utf8 update output test.pdf
where the file "update" contains
PageLabelBegin
PageLabelNewIndex: 1
PageLabelStart: 1
PageLabelPrefix: Qt
PageLabelNumStyle: NoNumber
PageLabelBegin
PageLabelNewIndex: 2
PageLabelStart: 1
PageLabelNumStyle: DecimalArabicNumerals
PageLabelBegin
PageLabelNewIndex: 3
PageLabelStart: 1
PageLabelNumStyle: LowercaseRomanNumerals
The instructions to do this came from
https://emacs.stackexchange.com/questions/58315/edit-pdf-page-labels-in-pdf-tools
Task-number: QTBUG-102271
Change-Id: I97df7ca538690baf3329fcbef371dcd92c4d8966
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
| |
It was just an alias for currentFrame.
Change-Id: Ib16f579b1905cf5fe43496553ebde054d474a7c7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This might reduce some confusion about the fact that the back/forward
"stack" isn't strictly a stack in the data structure sense: it's more
like QUndoStack. It causes a QML source incompatibility relative to
Qt 5, but keeps the C++ class name the same as it has been in QtPdf for
a long time. Amends 3ad445f9f24a9d3f259ed1781460a63346a728e4
[ChangeLog][QtPDF] The PdfNavigationStack QML type has been renamed to
PdfPageNavigator, matching the C++ type QPdfPageNavigator. These
remember navigation history within a document, and are helpful to
implement back/forward buttons similar to those on a web browser
in both Qt Quick and widget-based viewer applications.
Change-Id: Id8dc17aa416bb7064b1f0f300a47c07c83b7f47e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow web pages to safely access the local file system
by exposing a permission API. Permissions are stored in-memory.
The built-in access rules are the same as the behavior of Chrome:
JS can't request access to system libraries, sensitive directories
and the application itself.
Task-number: QTBUG-97829
Change-Id: Ic675422cafbad5a90243b4fa8f0749c46afa192c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
[ChangeLog][QtPDF] All enums are replaced with enum classes.
Change-Id: I41063de084a23db657a24805ceaf22881f25c990
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
| |
Change-Id: Iad3f8da130abe86a464d63323920a2a39d6fa955
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
This will result in a better error message if the components are not
available.
Pick-to: 6.3
Change-Id: Ib691643a9562981863eab5c27ce436814858e2e9
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-85043
Change-Id: I1c87aff352e07eb309d5ba8747b9e50a191d478e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the sidebar only held search results, it was enough to show it when
pressing enter on the search field; but now it holds two other views
that the user will want to easily look at. It's a Drawer, and those are
tricky to open and close by mouse-dragging. The button is more obvious,
like the one at the bottom of Creator. Its checked state shows whether
the sidebar is open, and clicking it opens the sidebar if it wasn't
already open. Clicking outside the sidebar closes it.
Change-Id: Ib4e403aa6f06d5e4dbad08a80c99496ab6c5fa0f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
| |
Change-Id: I33a365a1591565bc2a95c6ae62382c71c7e1850b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Change the PdfDocument's id to doc, because in the GridView delegate,
PdfPageImage { document: document } causes trouble (even though the same
sort of binding was ok elsewhere).
Change-Id: I9eafd818c25a31bef50b0b7fba36449c1dcf884a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Drawer is now not only for search results, but has a sideways TabBar
just like the widget example has; and now it can show search results and
bookmarks (table of contents) on different tabs. (Perhaps TabBar was not
meant to be rotated, but it seems to work in the styles I've tried so
far.) Clicking a bookmark takes you to that page, location and zoom.
Followup to 303c25e79ab12d5d48523aa890f2091e98d3b560 which added this
feature to a manual test.
Task-number: QTBUG-77510
Change-Id: I235ff14c9f6597eb8282ef1d73112b023a61ef8a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
| |
Wrap some long lines in qpdfview.cpp, as a drive-by.
Task-number: QTBUG-81560
Change-Id: Ia9865c42e48c81ac2c99b5cbe9d5a10beff40847
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
- link, search and bookmark models have similar role names now
- being an enum class allows the role name to be shorter
- the Role enum name is the same as the name in roleNames(), lowercased
Change-Id: I2e710d7acb8479995d82ef2d324807b6cd4e10e5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
The module is more about Qt Quick than about widgets nowadays.
Also clarify on the Qt PDF Examples page that one example uses widgets
and the other uses Qt Quick.
Change-Id: I38a77a4290f9489ef17bf66fe3a0f69be9bd0e88
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
| |
Change-Id: Id2ce2bd8852c4051edd29bf474bac216ba14f2b5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickPdfNavigationStack was implemented independently until now, but
users will need the same functionality in widget-based PDF viewers.
QPdfPageNavigation on the other hand may have eventually had the same
aspiration, but was just a glorified up/down counter thus far, with
questionable API; so we get rid of it, and make the API for page
navigation as much the same as possible between Quick and Widgets.
We rename push() to jump() along with removing the emitJumped argument.
Now jump() always emits (so we have to be more careful when to call it).
Change-Id: Icb07158a351e29b81e58ec037cd323bc0f54a1a1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.3
Task-number: QTBUG-81560
Change-Id: I062e022a97c146e9a746b6d6358868bfe0c0a7d7
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Change-Id: Ia41c1e385f1bf527cbe636f150d97790adc8f21c
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They look better on high-dpi displays, and come mostly from the KDE
Oxygen theme, except that document-open.svgz is from
https://commons.wikimedia.org/wiki/File:Gnome-fs-directory.svg
For future reference: Nuvola icons have a similar style
https://commons.wikimedia.org/wiki/Category:Nuvola_SVG_icons
The UI file also has icon theme names specified now, so the icons
ought to come from the system theme if one is set, and fall back to
the SVG resources otherwise.
Change-Id: I6d50f143c9d1f24e0ba87ea1506c1a35a47588d8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
| |
Also set hidden characters for custom password field.
Pick-to: 6.3 6.2 5.15
Change-Id: I8512a6a4215035e21a66aa5564aeb3ba886a900b
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Change-Id: Ibb41eb1a536b49cfb40ba037a56d55b11fd6e618
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
| |
Use colors from default QPalette instead of hard-coded values.
Pick-to: 6.2 6.3 5.15
Change-Id: Ib7cb8ef4bb5ddabc2233ea6596c0527538275963
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Load the URL after setting the page on the view.
This actually works around a real bug we need to look into.
Change-Id: I32b2cfd3c940cb48584cc066709327b5dd02c1fb
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
(cherry picked from commit 0e06ccdafddabb26012f67631b303fa978e9eeee)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Was missing a find package call.
Pick-to: 6.3
Fixes: QTBUG-101290
Change-Id: I9b566b3644ab0713427ff559684a3f1bcb3d2349
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
- no need for the document.onStatusChanged handler
- no need for empty-argument function() { ... } in onSignal handlers
- unqualified access and so on
- scale the search field margins and erase-button a bit better
Change-Id: Ice8a41e4cc1fb0385046aa1867fdb4b1400234b6
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When the user has not yet entered a password, document.status == Error;
but we pop up the password prompt dialog on top of the error dialog.
After the user has entered it, either it's correct and the error goes
away, or we need to tell the user that it's incorrect, so the dialog
should stay open.
Change-Id: Ib3332f543b23fdf50ccd0df0c7e79cdc95f2e8da
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The multipage example was OK already; this adds the same password-prompt
dialog to the single-page-at-a-time pdfviewer example and to the
withdoc.qml manual test. Also, the dialogs seem to size themselves
better if we explicitly set the contentItem properties. And an
error dialog should not have an OK button but a Close button:
the error is not OK, but the example does not provide a way to
try to fix it either.
Fixes: QTBUG-83988
Fixes: QTBUG-96574
Change-Id: I9d8c3cbe1f955cea4319982869ec9180d7c8666c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove "# generated from xyz.pro" comment from pro2cmake
- Remove automatic use of CMAKE_AUTORCC
- Only opt into CMAKE_AUTOUIC if .ui files are involved
- Remove explicit setting of CMAKE_INCLUDE_CURRENT_DIR
- Combine multiple find_package(Qt6 ... calls)
- use REQUIRED COMPONENTS
- sort components alphabetically
- Fix wrong indentations
- Use (only) one empty line after multi-line commands
Pick-to: 6.3
Change-Id: I09083474432ce171e8ee1e28120b062f2ef3c052
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- required properties
- unused imports
- nullish coalescing
- issues found by qmllint (despite all the noise)
Reverts 99db09404787901647213abceda74befc7efa8f1
Task-number: QTBUG-82873
Change-Id: I0042d2eaeacba58adcf280c37b9668f8d76d0f93
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Adapted to the new addAction syntax.
Pick-to: 6.3
Change-Id: I260f57e8536312a6b2f53c8b55953813baf22a5c
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qt_examples_build_begin needs the EXTERNAL_BUILD flag
to know that it's safe to build examples as ExternalProjects.
It still won't do it in CI until we enable building
examples as ExternalProjects for prefix builds.
This is preparation for that.
Pick-to: 6.2 6.3
Task-number: QTBUG-90820
Change-Id: Ie69d2e7c9790c455bea6bac3c32eaaab123a2cec
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
| |
Qt.labs.platform is becoming obsolete, and creates a widgets dependency.
QtQuick.Dialogs uses platform dialogs when available.
Pick-to: 6.2 6.3
Change-Id: I9b608e28cc7b9a99d0aaeec2aa24fee9d569dfe8
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Task-number: QTBUG-90820
Change-Id: I8539fee3ea7311acf9ee4e736fb19e6ff595fcae
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
| |
Remove usages of outdated LGPL3 header that references LICENSES.LGPLv3
instead of LICENSES.LGPL3. For the examples, use BSD.
Change-Id: I1fae49110160c1183327ec54c9dc447c69588a65
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Refereed resources are already referenced by qrc file.
Fixes: QTBUG-71277
Pick-to: 6.2
Change-Id: Ibaad55aba529c87b8c8dba46bd3b1a3d7a819960
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fix spellchecker example and test to use new api.
Note we should not use qt6 prefix in cmake api in examples.
Change-Id: Ib800bf2b7bd83e10060fa01ccd8d4a262752e09b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If an example contains ui.qml it should also have
a .qmlproject file for Qt Design Studio.
The id 'item' is not allowed in ui.qml files.
Pick-to: 6.2
Change-Id: Ib01d22b361c00f67062f97af52489e9704aaf927
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
| |
Change-Id: Ifa2914e7bca9c224670a1891785d0ba8262cd61b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QtWebEngine uses Keving Burke's markdowncss for two of his examples.
An attribution file is provided for both uses, pointing to the homepage
of markdowncss "https://kevinburke.bitbucket.io/markdowncss/".
Nonetheless, the project is currently unmaintained and the homepage
doesn't exist anymore, meaning that the link to it is broken.
As there is not a reachable homepage anymore, the "Homepage" key for
markdowncss attributions was removed from the attribution files.
A link to the same page was changed to the link to the bitbucket
repository, which is still reachable, in the documentation for the
affected examples.
Task-number: QTBUG-96127
Pick-to: 6.2
Change-Id: Idd6c163eebeb2a2292ae76a73289fda5faa12b0a
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
| |
We should not use qt6 prefixed functions in examples.
Pick-to: 6.2
Change-Id: Ibf2618ef4f64b560decb219527d619aad680f216
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The dict tool can be run during the build, therefore
copy just in case icu data file to tool application path,
so it does not require installation and can
run no matter if it is a prefix non prefix build.
Guard for webengine_system_icu since there is no icu file
in that case.
Remove awesome looking genex from examples.
Pick-to: 6.2
Change-Id: I2fd5ecf6c99ae1d003a1ac1c7bce2bb61a05f73f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-85043
Change-Id: Iecd2f5ae20fcf031937a1d44cc154f2e2a3ff52f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attributions generated trough `qtattributionscanner` support
generating links to SPDX licenses.
Four such attributions used a `LicenseId` of `DocumentRef-PublicDomain`,
which is a non-existent license.
Indeed, the SPDX project seems to shy away from making a single license
representing all Public Domain attributions, preferring to make a
database entry for each Public Domain attribution.
To avoid the broken link, such attributions were modified to use a
dejacode LicenseId, which has a catch-all Public Domain entry, as
suggested by Kai Köhne.
Task-number: QTBUG-96127
Pick-to: 6.2
Change-Id: I88e0048c08d6099521e44e74ad7f0e8b3d77b907
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|