| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This looks better when the pixmap cannot be scaled to the entire
viewport because of its aspect ratio.
Change-Id: I5826412124363ab38cb07dcc35ff5387e8baa380
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The libinstaller dependency for application project templates was
listed under wrong scope, and was only added when building with
LZMA SDK. Consequently this broke rebuilding installerbase when
making changes only to the libinstaller sub-project.
Change-Id: I98cf391bcf502130ca8316c0d749f95b89485a38
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a lot of components are installed, maintenancetool was slow to
select/unselect a single component. This was caused because the whole
tree's components were recalculated. Fixed so that only the
selected/unselected components and their dependencies and
autodependencies are recalculated instead of whole tree.
This change speeds up clicking tree item from zero to 90 percent,
depending on how much components are already installed. The more
components are installed as autodependency, the slower it gets to
select the items.
Task-number: QTIFW-2522
Change-Id: I5e824aed8787fd7ecdce72b15a1b13848f0a3923
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't print the name of every single removed file and directory unless
the verbosity level is set to detailed, as this really chokes the UI
thread.
QPlainTextEdit would have had better performance for a real-time output
log widget than QTextEdit, but we cannot use it as we require support
for displaying and automatically aligning text also for RTL languages.
Task-number: QTIFW-2615
Change-Id: Ie2938941b32bb387c0528b894cd058f395561814
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Some licenses use ASCII art to display tables, etc. which requires
that the font is of fixed width.
Task-number: QTIFW-2613
Change-Id: I0f473e6320912702c5df01d99a573ee820da3c1b
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Before this change we would print a warning for each operation when
iterating over the results of their asynchronous execution. These are
unnecessary as canceling is a conscious action from the user.
Change-Id: I2b9bd469b3a3e1c9794c6f2c4952896640cd88da
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
| |
Some of the error paths, especially when packaging archives, gave
too vague information about what went wrong.
Change-Id: I04388a6d333533fb370a472fa82d9562b17df37e
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At least with the 7z format packaged with a recent archivegen version,
the directory entries from archives get processed last when extracting.
We remember the path of each extracted entry in the order the writing
happens, to be able to undo the extract later.
The directories need to be empty for the removing to succeed, so we
cannot rely that the entry order from extraction is correct. Ensure
files are removed before directories and that the directories are
removed in an order starting from the deepest subdirectory level.
Task-number: QTIFW-2594
Change-Id: I8a914c4bf69147b845b12f0481c49c93408b51fd
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
For tracing issues with the multithreaded extraction and limiting the
processor load from the installer.
Task-number: QTIFW-2586
Change-Id: I5df0bf6be30b4ee5ef8470c407281e2a4318ed0c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a similar fashion to the archive download status, display:
* Performed operations - total operations, on unpack.
* Installed components - total components, on install.
* Rolled back operations - total undo operations, on uninstall.
Task-number: QTIFW-2513
Change-Id: I61690a25afadd1ca1e4a46b5b980ac094429135b
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the progress appear smoother when the archives to extract
differ in size.
The sorting based on the archive sizes provides some improvement to
optimal thread utilization, as the larger archives get more time to
complete from the start. We are less likely to find ourselves in a
situation where any of the last operations left to be run with less
than ideal thread count take significantly more time to complete than
the others.
Task-number: QTIFW-2431
Change-Id: I2534b6f18997d73c4ce1fb8b26900e30e1c6a76f
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce ConcurrentOperationRunner class used for running
installer operations concurrently in the global thread pool.
Add execution groups for operations; Unpack operations are run
concurrently for all components requesting installation,
operations belonging to Install group are run sequentially for
sorted components one at a time as before. From the default
registered operations the Extract op is moved to Unpack group.
Move the previously on-the-fly backup steps of Extract operation
to the ExtractArchiveOperation::backup(), so that backups are
done before any archives are extracted, and that we know if any
of the archives requires administrator privileges to unpack.
Reparent QInstaller::Error to QException to support throwing
and catching exceptions across thread boundaries.
Use RAII for the server-side objects of the classes supporting
the remote client-server protocol of installer framework. The
concurrent extraction revealed that it was still possible that
the local socket was disconnected and thus the RemoteServer-
Connection thread finished before receiving and processing the
final "Destroy" command packet, leaking the dynamically
allocated objects.
Task-number: QTIFW-2566
Change-Id: Ib8c2928b9405b7b3465c731018df73acb51e949f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Components were recalculated when leaving the tree view. This is
unnecessary as we have just calculated the components. Moving the
recalculation to Introduction page so alternate pressing of 'Add or
remove components' and 'Update components' will cause the recalculation
as we need that to keep the component install states in sync.
Task-number: QTIFW-2598
Task-number: QTIFW-694
Change-Id: Ia84a01b4f1d0b39b4844c02470b764c4940e943c
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function signature for setting a pixmap for the label changed
from 'setPixmap(const QPixmap &pixmap)' to
'setPixmapAndUrl(const QPixmap &pixmap, const QString &url)' when
we enabled support for click URLs.
Redefine (again) the base class QLabel::setPixmap() slot to make
it harder for callers to set non-scaled pixmaps accidentally. This
is still a bit bad however as it is possible to get different
client-visible results by calling the method with a base class
pointer.
Task-number: QTIFW-2612
Change-Id: Ic79b3d71ffd5baf2108768ad3b867ddbcb33833b
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been already fixed but the change was overwritten by
a merge commit.
From original commit message:
QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation)
first element returns $HOME/Applications, as being user writable it
has a higher priority.
Change the variable to return system wide /Applications as it is
a more expected default.
Task-number: QTIFW-1011
Change-Id: Iff4f65450db03ed412d4cb97db5f294bf52ffc72
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
| |
Change-Id: Ia4eafadfa4087364333d117e2bb56d01b4f76719
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The "Cancel" button on bottom of the wizard is also missing a shortcut.
But this behavior is inherited from QWizard, where it appears to be
intentional.
Task-number: QTIFW-2206
Change-Id: I53e595591679f5d22b2b381f86974dfc963d2bd4
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Release details:
https://github.com/libarchive/libarchive/releases/tag/v3.6.1
Change-Id: I57275393c785195cf0ae19bfc59be42c7c5e4875
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2507
Change-Id: I566dc4984df305fb0b5e7b9a1fe7ea9628ac02d4
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also add attribution document.
Task-number: QTIFW-2336
Change-Id: I91546bc6c3ace244e4b546b945f40b7d204f7463
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 3rd-party sources haven't been updated in a long time, and
is missing some features compared to libarchive (which the
official IFW binaries use), like symbolic link support on Windows.
Add deprecation warning when compiling with LZMA SDK, and make
building the library and related client code conditional behind
a separate config feature.
Update docs to emphasize that libarchive is the recommended build
option for archive handler.
Change-Id: I70ed5f9b5d13e2243778f7c44b4ea833c8092ae0
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2269
Change-Id: I7ec5931e8475a3477ba2c05ba9e8ed0620b02206
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
| |
Compiling the update resource doesn't require specifying a package
or repository directory.
Change-Id: I2a8541b610e90755fb49ae9568ac7ee0756e3058
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ie36c8fdad257b08e8a6238f5460fd2de15682253
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
I couldn't find a reason why this combination wouldn't work. If there
are no known issues the option should be allowed.
Task-number: QTIFW-2558
Change-Id: I9bceddc70e3ea4edeb1af2fe873f96bf815900d3
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTIFW-2440
Change-Id: Ia34524072d7e1e7ca321d4e0ba4013ce4fc012a0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
| |
Change-Id: I2d290f97c11e424e70134c66b8877207e0f1d5cb
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Also print a general message when no components from the user selection
are valid - in case the installer misses the detailed reason why
components cannot be selected, at least some information is printed.
Task-number: QTIFW-2591
Change-Id: I1b10e7601527ddc0192417b41691691b517139a5
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Bundled xcb libs and related configure switches have been dropped
from Qt since 5.15.0. As IFW requires building against Qt 5.15.2 at
minimum, remove the mentions to non-existing option.
Task-number: QTIFW-2557
Change-Id: Ideb6681338922b2eb2cdd1e95d00af53aa32844c
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Release details:
https://github.com/libarchive/libarchive/releases/tag/v3.6.0
Change-Id: Ia3d322ffbea70aad2713b7641832f6a56bb75645
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
In details view uninstallable and installable components are listed. For
installable components a reason is shown why the component is installed.
Added similar kind of message for uninstallable components as well.
Task-number: QTIFW-2581
Change-Id: Idbf31200793a6c89a4ed4a6fc115f49889b5f9b5
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I449320b3af2c561a0b4a4cb689d072533d8fdb8f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replaced component was uninstalled when installing other components
although no update or install was requested to the component. Fixes also
a bug when some components were uninstalled unvisible from user.
Task-number: QTIFW-2577
Change-Id: I6a7e9ce4a56991dfbdea53eb376d782dfb5d050a
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Components might be uninstalled also in updater view, for example if the
component is replaced with another components. This was not shown to the
user.
Task-number: QTIFW-2576
Change-Id: I143324eeb4830d15a718005992b3cb35d0f6696d
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Virtual dependencies are uninstalled if all dependencies to the
component is removed. Virtual dependencies were calculated using recent
components in repository, which is wrong as the dependencies may have
changed in the repository, causing the dependencies to be uninstalled
although those are still needed. Fixed so that the uninstallable virtual
components are calculated from repository components if the component is
going to be updated, otherwise the dependeny is calculated from the
local installed packages.
Task-number: QTIFW-2573
Change-Id: If9cc59fa7f453d502ec1883f27273ef604128a6e
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 270c5dfd9b6c86bec8eaf34d0a2c3d3b945ed5e5.
Reason for revert: This caused a regression when an absolute path pointing to a directory non-writable by current user was used.
QTemporaryFile uses its own file engine so we need to use QFile
instead to forward the calls to the elevated privilege installer
process with the Qt Installer Framework's RemoteFileEngine.
Task-number: QTIFW-2575
Change-Id: I47f5bea06f9e1689ee322d972b405d8127967a98
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ie4d170f8e84d3154a02882eb8f1ae0655c7c0afe
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Product image can now be clicked. It opens either url in Web browser or
if file reference is given, then it will be opened with the suitable
application.
Task-number: QTIFW-2361
Change-Id: I59ed1355e90c23c8d0a5124779725825ca1ee2c8
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I29827c4197249b289641693b691a8a5d72277458
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commandline tools do not require plugins to be included in
static binaries, skip all of them. This avoids unnecessary
system dependencies for the tools.
Change-Id: I3c50f8ec436ef9d73c4cb551ed48047bf181ccbb
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I4c2d440a82ceb4d48a97c78fa14fb15cc56596f0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This bug was caused by the previous change which allowed the Windows
separators to be saved to dat file without converting to normalized
separators
Task-number: QTIFW-2501
Change-Id: Iaeb70da0eaaa5c677c72178fcb8b336bc50a6842
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If there was at least one valid component argument, the installer would
silently ignore any invalid component arguments.
Instead print the appropriate "cannot install" reason for such
components but still don't block installation for others.
Change-Id: I7325d151385744ac46fcb5fa04c0eaf6acade3f3
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id7396eec7cc21e8011c716564adf9c9019eddb84
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I8204fdbae2602f3dfb6eb04dc28d2e59606594ea
|
| |
| |
| |
| |
| | |
Change-Id: Ia3b612f87a31de15053063a70dfb42816aaabd29
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Libarchive stores most paths internally in a multistring that can
contain a combination of a wide character string, multibyte string in
current locale or unicode string encoded as UTF-8. Try to retrieve and
set a variant of the string with the correct encoding when converting
libarchive strings to/from Qt string classes.
Task-number: QTIFW-2506
Change-Id: I7e7c1e3c5709b669df68b2f3918789ad4ebe4f13
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTIFW-2436
Change-Id: I9b89eb86c33fbc39b77b96af963f1aaa02051374
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTIFW-2436
Change-Id: I9f3d81a5eb7c3ae1c5f596a1ba4a992bb99a1b8f
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I144d3f1b955b92b8a0f46704016c9fe75f8c3ffa
Reviewed-by: Liang Qi <liang.qi@qt.io>
|