summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update Changelog4.6.14.6Katja Marttila2023-08-231-0/+5
| | | | | Change-Id: Ife1b59301536d4e2edd4cb5d159b7269b798f202 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* 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-213-11/+28
| | | | | | | | | | | | | | 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>
* Update version number to 4.6.1Katja Marttila2023-08-185-18/+18
| | | | | Change-Id: I69af7f518c2edeb4987b03ffaf7c15efb9121689 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* 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>
* Update ChangelogKatja Marttila2023-05-161-0/+25
| | | | | Change-Id: I16b69c0d4f90b72bf56a07422aaeb81a9f53602b 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)
* 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>
* Update German translationKatja Marttila2023-04-251-30/+74
| | | | | | Task-number: QTIFW-3049 Change-Id: I41f34f923b2828ab8cb4b32d65fdc8774c9a7335 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* HttpDownloader: fix nullptr dereferenceArttu Tarkiainen2023-04-241-1/+1
| | | | | | | | | The HttpDownloader::Private::shutdown() deletes and sets the pointer to the destination file device to null, and the code tried access its members still afterwards. Changed the order of the calls to fix. Change-Id: I494edfa4af1e112119475c2999ad78e07800194e Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix progressbar translationKatja Marttila2023-04-241-1/+1
| | | | | | | No need to translate cache progressbar format Change-Id: I686eb578ead27886f1abdb14e45fa1ee58cdcea6 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Unify handling of processes to close for 'updating' componentsArttu Tarkiainen2023-04-219-101/+16
| | | | | | | | | | | | | | | | | | | There was behavioral mismatch of handling processes to stop for updates between GUI and CLI modes. For CLI, each command that would make changes to components would recursively check the installation directory for running processes early on, and block continuing if such processes were found. In addition to this, the component scripts may have requested to stop processes before performing component 'updates' (add/remove/update). For GUI, only the latter functionality was utilized, so remove the early checks from the CLI side to make the behavior uniform. Task-number: QTIFW-2927 Task-number: QTIFW-3009 Change-Id: I028e699c43ef4352593b49ccc8a927644916c41a Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix wrong extract contentKatja Marttila2023-04-201-0/+6
| | | | | | | | | | | | | | | | If same component is available from offline payload and from online, both offline and online payload were extracted if the online version number was higher. Fixed so that available archives are filtered based on version number. We read the offline resource content in the beginning of install when we don't know that online version provides the same component with higher version number. Moving the offline resource reading to later phase would be another option for the fix but feels much more risky solution. Task-number: QTIFW-3010 Change-Id: Id4c57a6e72e41745f4d81d707c4f32414a15005e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Adapt to changes in QAbstractFileEngineKatja Marttila2023-04-178-8/+77
| | | | | | Task-number: QTIFW-1829 Change-Id: I72e814cfcf852e8de47f0e772abdcb0ad9eba38f Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Simplify remoteobject classKatja Marttila2023-04-136-99/+48
| | | | | | | | | We can use parameter packs for the functions instead of overloading functions with different parameter counts. Change-Id: I58713e20a399c3434f5acbe8ac7eec8915eba49b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Metadata cache: add derived class for metadata cacheArttu Tarkiainen2023-04-048-24/+139
| | | | | | | | | | | | By creating a separate class for the metadata cache that inherits GenericDataCache<Metadata>, we can move the responsibility of setting up the cache type and version from calling clients to the class constructors. This way there is less risk of accidentally forgetting setting the default type and version of the cache - especially the version, which is always a static value in IFW. Change-Id: I02f931395ca472a206d51207279fddbe12ba3897 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Verify meta file integrity from cacheArttu Tarkiainen2023-04-037-21/+202
| | | | | | | | | | | | | | | | | | Calculate and store a checksum for each included file when extracing meta.7z archives. When the respective meta item will be loaded from cache on the next run, each file referenced in its Updates.xml will be checked from disk, that it exist and that its checksum matches the one calculated when the file was originally extracted. If the files in cache are not intact, the meta item will be refreshed (downloaded and extracted again). Also bump the IFW cache format version, as the existing caches need to be repopulated to include the new checksum files. Task-number: QTIFW-3023 Change-Id: I6a8431ffb52cfff69e3cb84cccd4b3d5a1fe21da Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Match title and message text on the first wizard pageAndreas Pakulat2023-04-0317-33/+33
| | | | | | | | | | | | | | | | | The title of the page was replicating that product name and the word 'Setup', but was not doing so consistently with either the message text or the title. Since the titles of the other pages do not refer the product and the product is mentioned in the message too, lets make this a short 'Welcome' instead. Since this is vastly different from the original text, I decided to adjust all translations for this string to unfinished - except for the german one which I can easily contribute myself. Task-Name: SQUISH-9672 Change-Id: Ia410d6e256b59b858f54082d17513a0b58a18546 Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io>
* Allow shortcuts for https links in WindowsKatja Marttila2023-03-292-1/+2
| | | | | | | Task-number: QTIFW-964 Change-Id: If666d7d651f8240e3e7d4c25d9e9d7d81cbe1b39 Reviewed-by: Katarina Behrens <katarina.behrens@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Metadata cache: register items by renaming instead of copyingArttu Tarkiainen2023-03-243-7/+40
| | | | | | | | | | | | This is much more efficient than recursively copying the contents of each downloaded repository entry. Testing on a Linux debug build with a large amount of components, a rough estimate of the time reduction for performing update of an almost empty cache was over 60 percent. Task-number: QTIFW-2971 Change-Id: I866514af092f9c4b5e322562d6f972c57c8c03f5 Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Merge "Merge remote-tracking branch 'origin/4.5' into master"Katja Marttila2023-03-247-41/+84
|\
| * Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2023-03-247-41/+84
| |\ | | | | | | | | | Change-Id: I9946bf8ff3ea4e132a0490b59c1d4d557198ef62
| | * Fix showSettingsButton functionality4.5Katja Marttila2023-03-234-17/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | showSettingsButton() called from control script had no effect. Fixed it so that if showSettingsButton will overwrite the IFW decision to show the settings button. Change-Id: Ia08c03cc13db58168fd371f230517bcc83ee0e12 Task-number: QTIFW-810 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * Add more verbose when archive download failsKatja Marttila2023-03-231-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally installer might throw "Cannot download archive" messages for unknown reason. Adding more detailed verbose to catch the root cause. Also trying to create a parent folder when starting to download an reopening the file just in case. Task-number: QTBUG-110684 Change-Id: I8bc4fc31371043e1f9eae8f7d9779ab434221ff3 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Fix dependency resolution errorKatja Marttila2023-03-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In GUI, toggling between updater view, packagemanager view and updater view could cause impossible dependency resolution error, or wrong components to be updated. There are two component lists, one for updater and one for package manager. Same component can exist in both list with different pointers. m_componentByNameHash contains a quick lookups for the components - as the component pointers change between updater and package manager the list needs to be cleared between each updater/package manager toggle so that correct component is searched. Task-number: QTIFW-3001 Change-Id: Ia42370a286c45d831864ec632a6958f66209a4cd Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Fix custom error message in Execute operationKatja Marttila2023-03-211-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the program execution failed the custom message was not always shown. Fixed so that custom error message given in the addOperation is shown instead of the general message. Task-number: QTIFW-3007 Change-Id: I811cf0a3d9efaa2cbedd72a7c1e3097536501f5e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Center PackageManagerPage title and subtitle textsArttu Tarkiainen2023-03-241-2/+2
|/ / | | | | | | | | | | | | | | Part of the installer UI refresh spec. Task-number: QTIFW-2995 Change-Id: I8256ec12410831edbb7c7e36cb4f2af15287891c Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix vale suggestions on Installer UI Example pageSafiyyah Moosa2023-03-234-30/+30
| | | | | | | | | | | | | | | | Task-number: QTIFW-2988 Change-Id: I7cedcc0516960c0d10cb304181da117dc98781af Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Optimize Updates.xml parsingKatja Marttila2023-03-215-18/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | Updates.xml was downloaded first to TEMP/MaintenanceTool.xml and from there renamed to TEMP/remoterepo-XXXXX/Updates.xml. This is quite time consuming operation in Windows. Fixed so that the Updates.xml is downloaded directly to TEMP/remoterepo-XXXXX. This change speeds up Updates.xml parsing around 70 percent in Windows. Task-number: QTIFW-2805 Change-Id: I1cb282beb2ce2648f5b0e43919800c92465538b4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Add more detailed error messagesKatja Marttila2023-03-214-19/+24
| | | | | | | | | | | | | | | | | | | | | | Once installer is started, metadata is downloaded to cache and that cache is used later to speed the installation process. Cache should not get invalid but sometimes that can happen. Informing user where the cache exists and that clearing it might help when the error occurs. Task-number: QTIFW-2998 Change-Id: Ia2c2a1209fa84070f9ad337c63a429a1afd721a7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Use styleditemdelegate for comboboxKatja Marttila2023-03-211-0/+3
| | | | | | | | | | | | | | Needed for styling QComboBox with stylesheet. Change-Id: I10f24ccb55fdca4939e2f5ee8ed8ffa36dc854d1 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Set placeholder text for comboboxKatja Marttila2023-03-211-5/+5
| | | | | | | | | | | | | | | | Placeholder text is shown in combobox when it is closed and won't appear in the dropdown list. Change-Id: I488634e72c81a2c37d289d408e051f841f2e40b8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Update .gitignore fileSafiyyah Moosa2023-03-201-0/+5
| | | | | | | | | | | | Fixes: QTIFW-2988 Change-Id: I9d47c698cf6e95393340e171929d1117382cc27f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix vale suggestions in ifw docsSafiyyah Moosa2023-03-204-106/+98
| | | | | | | | | | | | | | Fixes: QTIFW-2988 Change-Id: I0e64f56b560fe7183232f5262190a46346a1fc36 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Make messagebox texts selectableKatja Marttila2023-03-171-1/+2
| | | | | | | | | | | | | | Task-number: QTIFW-3005 Change-Id: Ie899f0c74801a76f7df9dba1cad7f94c3ec8253d Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2023-03-173-14/+9
|\| | | | | | | Change-Id: If5494504e5afe13b70a818c3d6a5bff024fed459
| * Fix invalid cache stateKatja Marttila2023-03-153-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cache ended up in invalid state when there was categories used in the installer which were not all defaultly selected. Cache was only party updated when using CLI command search, and the cache was populated only with Updates.xml and repository.txt. In the next installer or MT launch, installer thought the cache was up to date as the Updates.xml was found and did not know that the metadata was not fetched. This lead to different error messages, like 'Cannot open script file' or 'Cannot open the requested license file' etc. Fixed so that metadata is fetched also when using CLI command search Task-number: QTIFW-2998 Change-Id: I1cdc446469f38cc9e6ddc71f512105fc5d10e74c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2023-03-145-5/+9
|\| | | | | | | Change-Id: I486d6f3f6fbdbfe1b92ccff918aaf0fe72aa2fc8