summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge "Merge remote-tracking branch 'origin/4.6' into master"Katja Marttila2023-08-245-17/+37
|\
| * Merge remote-tracking branch 'origin/4.6' into masterKatja Marttila2023-08-245-17/+37
| |\ | | | | | | | | | Change-Id: Idadf4fb3047f72880e5a86f76eb21b659589cd17
| | * Fix crash when filtering categoriesKatja Marttila2023-08-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Components are refetch when fetching the categories, thus we need to recalculate the installable components Task-number: QTIFW-3085 Change-Id: Ie794e6308dd7f3f96814781d8e25769ecd323887 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Allow setting temporary repositories for offline-only installersArttu Tarkiainen2023-08-222-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the settings button can be configured to be visible for offline-only installers, the user may configure additional repositories in addition to the embedded binary content. Those repositories were not considered for the metadata fetch, however, so components from those repositories could not be installed. Allow fetching metadata from temporary or user configured repositories regardless of if the installer is created as "offline-only". Also fix required temporary space calculation when content is installed simultaneously from both embedded to the installer binary and remote repositories. Task-number: QTIFW-3078 Change-Id: I4effa365e856ca009588ac8768f8b6c30b4b0373 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| | * DownloadArchivesJob: allow download retries for command line runsArttu Tarkiainen2023-08-212-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, on network errors or hash verification failures, the download job would be canceled when running the installer from CLI. This was to prevent infinite retries in case the automatic or default answer for the error message boxes was to retry. Add a retry counter and allow retrying the failed downloads from CLI runs until the max count is reached. Task-number: QTIFW-3098 Change-Id: Iee95f0eb4e47af89c74ffdd9ad6026bda6c87664 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | 3rdparty: update libarchive sources to 3.7.1 releaseArttu Tarkiainen2023-08-2448-378/+984
|/ / | | | | | | | | | | | | | | | | Details: https: //github.com/libarchive/libarchive/releases/tag/v3.7.1 Change-Id: Ie2e53b557df6decc3c4e49d3638d08b6529db601 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix deprecated QVariant usageKatja Marttila2023-08-232-17/+30
| | | | | | | | | | | | | | | | | | Also adding tests for UpdateOperations which used the deprecated QVariant functions Task-number: QTIFW-3077 Change-Id: I5b6b975631b4d0380511f614b0cad1f90a4849e8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Use directory separators in path asking for process to be stoppedKai Köhne2023-08-171-2/+4
| | | | | | | | | | Change-Id: Ibda2368dfaf7d8e09d4bad6c678965866231965e Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Allow generating offline installers from GuiArttu Tarkiainen2023-06-195-6/+79
| | | | | | | | | | | | | | | | | | | | | | This was previously possible only from the CLI. The same methods can be used from the graphical installer, so we do not need to limit the feature for CLI users. Task-number: QTIFW-3072 Change-Id: I271aecf163528b922e6cc399d31f07218e2a1650 Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Show progress on Welcome screenKatja Marttila2023-06-192-1/+2
| | | | | | | | | | | | | | | | | | | | Cache integrity checking takes some time in Windows and progressbar showed nothing. This caused an illusion that installer did nothing. Adding a busy indicator to progress bar. Task-number: QTIFW-3068 Change-Id: I1c685bf1e2ac4d2fca5db49054f7369d90f24480 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix deprecated QString::count() callKatja Marttila2023-06-151-1/+1
| | | | | | | | | | | | Task-number: QTIFW-3077 Change-Id: I595309e3e354f4eb96b10fd23420ca70f0f6ee9e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix deprecated QV4::Object::getIndexed() function callKatja Marttila2023-06-151-1/+1
| | | | | | | | | | | | Task-number: QTIFW-3077 Change-Id: I9e4906a033f683b619c6cbf0140b695c71162fdf Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix deprecated QApplication::fontMetrics() function callKatja Marttila2023-06-151-3/+3
| | | | | | | | | | | | Task-number: QTIFW-3077 Change-Id: I9229166c0717e42a99f4a48da94728ebba3d06f7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix deprecated QMessageBox::setButtonText() callKatja Marttila2023-06-151-1/+1
| | | | | | | | | | | | Task-number: QTIFW-3077 Change-Id: Id8b1947efbc6a2cdf33e080f01024170820617b9 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix building in macOs with Qt6Katja Marttila2023-06-132-1/+2
| | | | | | | | | | Change-Id: I167034b2c6f6d248bbee8a8fdd9bf5abae73144e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix page title text on the last pageKatja Marttila2023-06-1217-34/+34
| | | | | | | | | | | | | | | | The page title text did not match the text located in the sidebar. Task-number: QTIFW-3060 Change-Id: If435aeb0b2ddbdcafed43c4da61702f3d5bf7688 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Omit thisObject creation in javascript codeKatja Marttila2023-06-125-57/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally, new Component object was created for javascript so that the garbage collector would not destroy the object. This caused the thisObject in javascript to differ from the object in packageManagerCore, which in Qt6.5 lead to warning messages when each script was evaluated: "Warning: :1: Calling C++ methods with 'this' objects different from the one they were retrieved from is broken, due to historical reasons. The original object is used as 'this' object." Fixes so that the new object creation is omitted and QJSEngine::CppOwnership is set to Component object so that garbage collector won't destroy it. Task-number: QTIFW-1829 Change-Id: Ia131d88fc83122f11c5b19a431e7db45e0ba18f9 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix tests built with Qt6Katja Marttila2023-06-083-5/+8
| | | | | | | | | | | | | | | | | | Due to api changes in Qt6 versus Qt5 we need minor changes to both tests and to IFW itself. Task-number: QTIFW-3064 Change-Id: I7e08161db074c96a6d639a2ff8b4c3d73f59e3cf Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Prevent uninstalling components when error occursKatja Marttila2023-06-061-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When error occurs during component fetch, for example cache is in use or another metadata parsing error, installer allowed to continue to uninstall existing components. This has confused users, as there is no place to show error message and users had no idea why not all components were visible in the tree. The error message was only written to logs. Fixed this by showing the error message in 'Add or remove/Update' -page and not allowing to continue to uninstall existing components. Task-number: QTIFW-3069 Change-Id: I9f7d96d04b150c319b01d6e61430805128d3c31a Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Adapt to QTextCodec changesChristian Stenger2023-06-0610-74/+128
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: Iad99b41ec67b0d4c64623da04fff65a737f46ff2 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix 'unused parameter' warningsKatja Marttila2023-06-063-2/+11
| | | | | | | | | | Change-Id: Ife719539b07997ce18394895af9c7f70aef2bd81 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix delaration orderKatja Marttila2023-06-065-24/+24
| | | | | | | | | | | | | | To get rid of [-Wreorder] warnings Change-Id: I2b0b071100eeb1830017da2913b62c00a18823bd Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix 'unused variable' -warningsKatja Marttila2023-06-065-14/+14
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: I29a7465c854c8a1af7ec5d9af600bfc65dc1950e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Remove unused Qt::AA_EnableHighDpiScaling setting in Qt6Katja Marttila2023-06-061-1/+1
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: Ibf861cfd6e425111cba2f917eeb19baace6584db Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix deprecated QScopedPointer take() function usageKatja Marttila2023-06-067-28/+28
| | | | | | | | | | | | | | | | | | | | QScopedPointer function take() is deprecated since 6.1. Fixed by using std::unique_ptr instead Task-number: QTIFW-1829 Change-Id: I7a0c0167044dedf2f520fffc97a8f7d2a1e72371 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Replace deprecated error() signal with errorOccurred() in QProcess and QNetworkKatja Marttila2023-06-016-12/+12
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: Iaeb759745033869faf186c61bb90a528f99799f6 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix missing include from header fileKatja Marttila2023-05-292-4/+4
| | | | | | | | | | Change-Id: Iea4f51eca7d2029b6ff818f06d0487b9cd313b69 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix endl call in macOsKatja Marttila2023-05-292-28/+28
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: I8ac001416331493a7bdc90cdeaafca034e0bbbd7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Consider full length of 'key=value' string in user argumentsKatarina Behrens2023-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 'key=value' pairs passed to IFW on command line, 'value' can be any string, including base64-encoded string which may contain 1 or 2 trailing '=' chars The current algorithm of splitting 'key=value' string into sections using '=' as separator and assigning field[1,1] to 'value' works in most common case (no further '=' chars in 'value'). It fails sometimes if 'value' is base64-encoded string as it cuts off the portion of the string at 2nd '=' char and beyond, thereby discards trailing '='s, which are significant. This invalidates the string. To avoid this, we use QString.section to return fields[1,-1] (i.e. everything starting from field1 to the end of the string) and assign the result to 'value' Change-Id: Ide4f1510170ad4685b5bb40a96d88898476553ea Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix admin rights handling during installer/updater/uninstaller runsArttu Tarkiainen2023-05-227-33/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The installer.gainAdminRights() and installer.dropAdminRights() methods are invokable from the scripting API. During installing, updating or uninstalling components, installer does it's own decision making to request and drop admin rights on-demand, but this could be overridden with the aforementioned methods. This was not taken into account, instead it was only checked if admin rights were gained in the context of the calling method. Fix by checking if the admin rights were present at the start of the installer, or if they were requested by anyone during installation. Task-number: QTIFW-2929 Change-Id: Ie4f6fc0ac746183b00f460a2e60c57c2eae9808c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/4.6'Arttu Tarkiainen2023-05-2220-234/+602
|\| | | | | | | Change-Id: Ie7974baf85746dc3beb4f4a8548b8fb1dfbc1dfb
| * Fix QComboBox placeholder text visibility4.6.0Katja Marttila2023-05-175-6/+114
| | | | | | | | | | | | | | | | | | | | Due to a bug in Qt5.15.2, the placeholder text is not shown. Fixing it by implementing custom QComboBox and painting the placeholder text in paint event. This workaround can be removed once we start building IFW binaries with newer Qt version than 5.15.2 Change-Id: I203ad7ee47921f8d70ed1c550df2683bdfa80677 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * MT: Fix segfault after repository category fetchArttu Tarkiainen2023-05-122-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the end of calculating components to install or uninstall, the check states of the components are updated in the model. The updateComponentInstallActions() asks both installer and uninstaller calculators for resolved components, but these may not be valid after new repository categories are fetched, and the component model is reset. This would result in dereferencing invalid Component pointers in some cases. The root cause was that the other calculator was not quaranteed to be cleared when another requested updating the check states. Fix by clearing both calculators before full recalculation occurs. Also clear the calculators when the component environment is reset, for correctness and to avoid bumping into the similar issue elsewhere in the code. Change-Id: Ide6a6188b9a19f4680cd79b55dcc842bbe98e174 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Workaround invisible QComboBox placeholder textArttu Tarkiainen2023-05-111-0/+5
| | | | | | | | | | | | | | The placeholder text was not visible when no stylesheet was used. Change-Id: If079cb9f3c31adda5cf7a464bc3aa28a32278cc6 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Fix 'Categories' and 'Information' localizationsKatja Marttila2023-05-097-13/+13
| | | | | | | | | | | | | | | | | | | | Since the layout change in 4.6.0, the 'Categories' and 'Information' tabs has less space. Fixing the translations so that it properly fits the available space. Task-number: QTIFW-3057 Change-Id: I87d53b1cc87985bb8567fb26233761a946930356 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update Russian translationKatja Marttila2023-05-041-46/+70
| | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: I09151087c10208e46c0a0f80daeed9327586b299 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update Portuguese translationKatja Marttila2023-05-021-32/+76
| | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: I4fb3f66011d473f6890426a59cfe1155c4255d70 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update Korean translationKatja Marttila2023-05-021-29/+73
| | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: Ie42b8561467eead6155d7bacd06bd4209e8120ae Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update Spanish translationKatja Marttila2023-04-281-31/+75
| | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: I71aebc4ef8db158fa47c8d4bdada80e8c7dceae1 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update Japanese translationKatja Marttila2023-04-281-46/+90
| | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: I78cb096c4b60dfcb4bfde9b6ae9dd6538c627260 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update French translationKatja Marttila2023-04-281-28/+72
| | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: I10ff5741084e61d5605a4cce5282ec41adc29399 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Fix license undo operationKatja Marttila2023-04-283-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | Licenses value write was accidently changed from lower case to upper case, which caused that the licenses undo operation did not find a value for the license undo. Fixed the value settings, and also removed the error dialog as there is no point in showing that in undo operation as we are removing the component. Task-number: QTIFW-3013 Change-Id: I402658a05b904454da045ba3fe38c21cf4c3dd4b Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Update Chinese translationLiang Qi2023-04-271-32/+76
| | | | | | | | | | | | | | Task-number: QTIFW-3049 Change-Id: I33a1b0d7681da1ec3a340933b99ebdd113f5845e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> (cherry picked from commit 92210392f088beb9f10f0eebeacefe9f3445ddab)
* | Remove unnecessary ConsoleProxyKatja Marttila2023-05-103-24/+6
| | | | | | | | | | | | | | | | | | From 5.x onwards javascript has had ConsoleExtension, no need to create own custom console.log and print functions. Task-number: QTIFW-1829 Change-Id: I892106824e0aa7139f4b2f75df7011525625c27d Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Adapt to QNetworkAccessManager differences in Qt6Christian Stenger2023-04-274-7/+42
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: Ieded786fc608e10fd9068e8f79227e43c5ff3717 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix QtConcurrent call in Qt6Katja Marttila2023-04-271-0/+5
| | | | | | | | | | | | Task-number: QTIFW-1829 Change-Id: I42d51eb4965599507494ef30b6027fb5fa35bba7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Update Catalan translation fileKatja Marttila2023-04-251-44/+64
| | | | | | | | | | Change-Id: I9301ba676e0e9e5ae6170a29c410d9c0102ecd44 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Update Chinese translationLiang Qi2023-04-251-32/+76
|/ | | | | | Task-number: QTIFW-3049 Change-Id: I33a1b0d7681da1ec3a340933b99ebdd113f5845e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Metadata cache: add warning for Updates.xml checksum mismatchesArttu Tarkiainen2023-04-251-2/+11
| | | | | | | | | | | | | The vendor may provide information about expected checksum for a repository Updates.xml file, so that installer does not download it again if it is found in cache. If the expected checksum does not match the checksum of the actually downloaded file, installer will try to download it again and again for each metadata fetch. Detect such mismatch and print a warning to catch those more easily. Change-Id: I81d2e6e7c4f448229c35ab54c03bcfc3584f304d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Arabic translationKatja Marttila2023-04-251-29/+69
| | | | | | Task-number: QTIFW-3049 Change-Id: I86c0e89eb4fa6ccbc380558817115c89cfdd6876 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>