Apply a couple of fixes to load icons correctly and preventing seg fault
in loading txt files in the documentviewer demo.
Change-Id: I5c3e8694abe37140d73da8b40204bc05aaf37e9c
Pick-to: 6.9 6.8
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Since qtbase/b8f588bea74aae0a890e1af18b936b0bfbf8c237
removed the QtWidgets image viewer example, there
is no way to exercise the image plugins.
Re-add the code as documentviewer plugin.
Pick-to: 6.9
Change-Id: I0eb26d02a9c11cdb0fce315ffc6f7c662e98c924
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
The txtviewer plugin example is part of the documentviewer example but
at the same time a separate example with its own documentation page.
That means it appears on Qt Creator's Welcome Page and must be buildable
standalone.
Add the usual CMake stanza for standalone projects to the top of the
project file.
Pick-to: 6.8 6.9
Task-number: QTBUG-132738
Change-Id: Ib5aad765ec5dbc2406df6b1cca574a20448f6529
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Use modern theme icons. Add standard shortcuts to the PDF
viewer actions. Remove duplicated adding to the toolbar.
Pick-to: 6.8
Change-Id: I4cfe33c7b8fcc3c070f5c0542b821dd9393bfe2d
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
The documentviewer demo assumed, that Quick3D always comes with
AssetUtils installed. It attempted to create a RuntimeLoader instance
and asserted the result. This lead to a crash, when case AssetUtils were
not installed.
Don't assert, when no RuntimeLoader object can be instantiated. Return
an empty list of MIME types instead. Ignore plugins that don't support
any MIME types.
Fixes: QTBUG-128673
Pick-to: 6.8 6.8.0 6.7
Change-Id: Ib4771ba93dac2e0aab3a89b7e3cd7e64c97e4e5d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Use qt_add_qml_module for the document viewer demo 3d plugin.
Make the plugin qmllint clean by removing unused imports, unqualified
accesses and setting the ComponentBound behavior.
Use loadFromModule instead of setSource, and rename q3dViewer.qml to
Viewer.qml to be loadable. Same for queryMimeTypes.qml that is now
QueryMimeTypes.qml.
No doc or .pro files needed to be changed as the quick3d viewer plugin
has neither documentation nor qmake file.
Pick-to: 6.8
Task-number: QTBUG-100100
Change-Id: I723277d53ed4b7eb1353772928c6069919d0b4e9
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Projects were modified using the tool at:
https://git.qt.io/alcroito/cmake_refactor
Some examples had to be adapted manually, mostly those that build
additional qml modules / plugins.
documentviewer did not get the deployment api, because it's trickier.
Pick-to: 6.7
Task-number: QTBUG-101340
Task-number: QTBUG-102056
Task-number: QTBUG-102057
Change-Id: I76322185fc824c112d77e077ee39e7ccbc193a4c
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
According to QUIP-18 [1] all files under examples
should be licensed
LicenseRef-Qt-Commercial OR BSD-3-Clause
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7 6.7.0
Task-number: QTBUG-121787
Change-Id: Ia2e8f62af64a384196a9b0c02ac5b2fbf5404a8b
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Projects need install instructions to be usable on embedded platforms.
Fix existing instructions to put files into correct places.
Fixes: QTBUG-112024
Pick-to: 6.7
Change-Id: I6a3d84edc1c67281d5497e99144c159faf0f783c
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
displayModel.handleBoundsChanged() didn't take an argument and always
handled the bounds of the display model. If a RuntimeLoader was used,
the object was out of bounds.
Make the function take a bounds argument and pass the right bounds to
be handled.
Task-number: QTBUG-119176
Pick-to: 6.7
Change-Id: I8a9986d9ebea14dea2246f02937fe47bbcf95191
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Update code snippets to use JsonViewer as an example.
Add a section about loading plugins.
Task-number: QTBUG-119981
Pick-to: 6.7
Change-Id: Ied3dcba02ad275d16535ab015c49ce03ec0a0e30
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
The quick view used to display 3d files in a widgets application was
being re-used. If another viewer is launched and its contents become
visible in the main window scroll area, the quick view's window
container gets deleted, which causes deletion of the quick view as
well.
That makes the application crash, if an .obj file is viewed, followed
by another file type and then .obj again. The latter will crash.
=> Don't re-use the quick view any more.
Fixes: QTBUG-119175
Pick-to: 6.7 6.6
Change-Id: Ieea54f0a3377dfbc9ff3a07e5b99c80b472e5658
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Viewer plugins may connect to the central back/forward buttons.
If they disconnect those explicitly in their cleanup methods, the
buttons are nullptr when the application is closed. This lead to a
warning.
Save the QMetaObject::Connection object in a list in Abstractviewer
and directly disconnect it from AbstractViewer::cleanup. That way,
QObject::disconnect is never called with a nullptr argument.
Amends 1f6505a0cf.
Pick-to: 6.6
Change-Id: I4fee76d507f3329fef31e6c9171694ea82914239
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
Remove definitions of onActionOpenTriggered() and
onActionQuitTriggered(), the implementation of which has been removed.
Change the required binary directory from "macOS" to "MacOS", to find
plugins correctly.
Fixes: QTBUG-117694
Pick-to: 6.6
Change-Id: Iba7d7c07e2881d2e8c4dce4b58f34a6441e8b467
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
QPdfPageSelector changed from being a QSpinBox to just a QWidget that
has-a QSpinBox. This code shows why that was a good idea: users are
supposed to call setDocument(), not manipulate QSpinBox::maxiumum()
manually.
Pick-to: 6.6 6.6.0
Fixes: QTBUG-116987
Change-Id: I35ed7786b7e257c8c9aba70671d739db02d7589d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
It is a viewer after all, with no save functionality.
Pick-to: 6.6
Change-Id: I9a6f2c2809719abe33238b23a30cc9a06dc43c19
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Apply a few fixes that were already done for the other plugins.
Pick-to: 6.6
Change-Id: I3b94547023f77952a670cb7c0385b15e7ddd03ce
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Apparently, QPdfViewer needs an open file.
Pick-to: 6.6
Change-Id: I891f6eeb5a96344bdfce483e77c67b80b1666676
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
This patch adds a snippet based documentation of TxtViewer's code with
the target to replace the Application example in widgets.
Pick-to: 6.6
Change-Id: I25045c8f710ae110398e71099c276571cb32ecf3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
This unearthes that JSON should convert from UTF-8.
Pick-to: 6.6
Change-Id: If155b745cac0579232b927a3988588204c31d207
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Try to avoid concatenating translated texts and parameters; this may
not work in all languages. Use QDir::toNativeSeparators() for file
names.
Pick-to: 6.6
Change-Id: I00c058a91cab04c04580045229350ba3d9951d5e
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
The DocumentViewer demo was originally developed as a self-contained
application. Its dependency to PdfWidgets has lead to splitting it up
into plugins: ba61af0bf3
The new architecture re-uses the viewer objects, but it doesn't reset
them properly. This is why viewer-specific UI-assets (menus, toolbars
and buttons) get duplicated.
This patch adds cleanup functionality and removes duplications.
Fixes: QTBUG-114615
Fixes: QTBUG-114617
Pick-to: 6.6
Change-Id: I4f123f8a69be978f992531603b15de71069d5a66
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
abstractviewer.cpp is compiled 3 times, once for each plugin.
That leads to duplicate symbol compiler warnings on macOS and makes
the demo unusable on macOS.
This patch turns the class in to a static library and links it into
the plugins.
Fixes: QTBUG-114370
Fixes: QTBUG-114618
Pick-to: 6.6
Change-Id: I7c785e4d463bc908c8df707f1a45301731c4da35
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Due to a missing qt_standard_project_setup call, AUTOMOC was never
enabled which led to undefined symbol issues at link time.
Remove documentWasModified slot declaration because it didn't have a
definition, and it was not referenced by anything in the code.
Pick-to: 6.5 6.6
Fixes: QTBUG-114365
Change-Id: Ib6938163be1a1fdc0bb6f4a925878ec1b309d03e
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Sprinkle some QT_BEGIN_NAMESPACE in the right places to avoid build
failures.
Pick-to: 6.5 6.6
Change-Id: I9cbfadb414881ef32405f0ad99c1009e89466490
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This patch changes the document viewer example to a plugin based
architecture.
It adapts the documentation accordingly.
Change-Id: Ia24028aa27e21fb8ab36f5ef3a9953be60858b19
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>