summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix 'Bad allocation' error in Windows3.0.63.0Katja Marttila2018-12-0511-21/+29
| | | | | | | | | | | | Due to bug in QTextDocument (QTBUG-65865), installer will crash if it will write a lot of logs to 'Details View' in 'PerformInstallationPage'. Fixed so that instead of writing all extracted filenames to log, write only the name of package which is extracted. This will reduce the huge amount of log written and thus prevents the 'Bad allocation' crash. Task-number: QTIFW-1242 Change-Id: I98ff0df25bcc10d0f7bb79d6c4010665b5e2ac51 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Remove 'Your install seems to be corrupted' messageboxKatja Marttila2018-11-061-8/+4
| | | | | | | | | | | | | | | | | | | | | | | Messagebox is replaced with log. The critical messagebox is a bit harsh as you can continue using the installer despite of the 'corrupted install' message. 'Your install seems to be corrupted' can happen for number of reasons: the installer for some reason was not able to write the needed information to components.xml or maintenancetool.dat. Reason could be that the installer was forcely interrupted or crashed during write, or the files cannot be opened for write. 'Your install seems to be corrupted' occurs if components.xml contains an element which has no operations in maintenancetool.dat or vice versa. If you get an error "Critical: Operations missing from installed packages ("missing.package.name"), remove the package from components.xml to get rid of the log. Error: "Critical: Orphaned operations("package.name")" you can ignore Or you can install the package again if it is still found from repositories. Task-number: QTIFW-1003 Change-Id: I02c0a945ca3ce30ef4b0a80190d91638ab54c6bf Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Register virtual component for uninstallKatja Marttila2018-11-062-0/+16
| | | | | | Task-number: QTIFW-1102 Change-Id: I5033f095eece1f1e588c00f518cf7d9d046c2003 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Optimize ExctractArchiveOperation::fileFinished()Morten Johan Sørvig2018-11-052-3/+6
| | | | | | | | | | | | | | | | | | | | | This code was spending a lot of time detaching and copying the file list, due to exporting it via the setValue() call on each file finished iteration. This was causing the install process to slow down, and also made the UI freeze, giving the impression that the install process had stopped. Add the file paths to a local list instead, and then call setValue when file extraction is complete. Profiling shows that the installer now spends 95% of its time extracting files on the ExctractArchiveOperation, thread and 5% on the main thread. Fixes: QTBUG-51337 Change-Id: Ieb4c44c03cb28eb46928730ca023f7419d72e45b Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* Do not reset core data values in restartKatja Marttila2018-10-165-29/+8
| | | | | | | | | | | | | Do not reset core data values as that removes all data set using setValue() which are needed. Restart is called when pressing 'Restart' after maintenancetool finish page or when changing settings from Settings Dialog. Task-number QTIFW-504 Change-Id: I0713b0371811957b93623433d26f0b10e4c8fb12 Reviewed-by: Janne Anttila <janne.anttila@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix maintenancetool writing in WindowsKatja Marttila2018-10-041-31/+41
| | | | | | | | | | | In Windows, maintenancetool is written using vb script. Installer assumed that extension .vbs is always executed with script engine which is not always true. In such cases create own extension (.qtInstaller) which can be run with script engine Task-number: QTIFW-1096 Change-Id: Ic52427e778fc7f3a540256e16b9e67b728c70d41 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix performOperation() documentationKatja Marttila2018-09-261-1/+4
| | | | | | | | Task-number: QTIFW-1034 Change-Id: I56164e3d5c355bd6a02f9a706b3f375d19d63afb Reviewed-by: Niels Weber <niels.weber@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix environment variables for XDG paths not being recognizedRainer Keller2018-09-242-7/+6
| | | | | | | | | | A QProcessEnvironment was used, which is empty by default. Instead of using QProcessEnvironement::systemEnvironment I switched to qgetenv(...) . Task-number: QTIFW-1043 Change-Id: I0bc31641c8ac175254664c61cdb24bf9051d8345 Reviewed-by: Niels Weber <niels.weber@qt.io>
* Delete directory if there are readonly filesKatja Marttila2018-09-241-8/+17
| | | | | | | Task-number:QTIFW-637 Change-Id: I38b947b10517de68aee5619915886c719cd5e2bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix typo in French translationThomas Quinot2018-09-171-1/+1
| | | | | Change-Id: Ib166c9730c54bff58f19323148a1950e385a18b2 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update german translation fileKatja Marttila2018-09-131-731/+606
| | | | | | | Task-number: QTIFW-1084 Change-Id: I023180400efd73655df004df417d9cf1ed86f23e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Niels Weber <niels.weber@qt.io>
* Fix minor translation stringsKatja Marttila2018-09-131-1/+1
| | | | | Change-Id: I059903b407a44f07b16af29fb5f0973395ee1f50 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Prepend file:// on Windows when calling QJSEngine::evaluate()Andy Shaw2018-09-101-1/+10
| | | | | | | | | | Due to a bug reported at QTBUG-70425, it is necessary to ensure that QJSEngine will see the filename passed in as a valid URL. So we prepend file:// for those cases to ensure qsTr() will find the right context when looking for translations. Change-Id: Ib38b1f8467de78ec82c2c6c6909487f3a06c09bb Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix admin query retryKatja Marttila2018-09-051-2/+1
| | | | | | Task-number: QTIFW-988 QTIFW-1173 Change-Id: Ie424f4dcb97236015d4287f1b73baee5ec8477b3 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix install fail if there is no metadataKatja Marttila2018-06-121-1/+3
| | | | | | | | | | Installer was never able to continue from metadata download phase in case there was no metadata in any of the packages. If metadata not found, emit finished signal to continue installation. Task-number: QTIFW-1150 Change-Id: I0d3f8fb147899fff4b1a1cc0c6de7a587aae9053 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Reset meta information download resultKatja Marttila2018-06-121-0/+2
| | | | | | | | | | | As metadata can be downloaded in chunks, there are extra step counter in UI in case there are more than 1 chunk to be fetched. Reset the counter and result in case e.g. repositories are changed from settings and meta information is retrieved again. Task-number: QTIFW-1137 Change-Id: I1bfe06dc0ba375508efb0b6ebe5edce884310ea8 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Decrease metadata dowload amountKatja Marttila2018-06-013-12/+40
| | | | | | | | | | If there are no Script, Translations, Licenses nor UserInterfaces -tags in Updates.xml, there is no metadata. In such case, do not download the empty metadata to decrease the time used in downloading metadata. Task-number: QTIFW-975 Change-Id: I1b81a07b5ad43677e190fb058ece8b06382d215b Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Print component warnings only in verbose modeKatja Marttila2018-05-291-4/+7
| | | | | | | | | | If there are lot of components, it takes a lot of time to check every component for their errors. Print those only when --verbose given in command line. Task-number: QTIFW-975 Change-Id: If9467416d5d8f3417cd30262f95e91308a79e7a6 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix ForcedInstallation components uninstall in deselectAllKatja Marttila2018-05-171-6/+2
| | | | | | | | | We don't need to check the installed() state here as we do it already when preselecting components in the tree Task-number: QTIFW-1142 Change-Id: I3540a02f39ea7b379db6597c75d7fee76cc4caab Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix crash in updater if component does not exist anymoreKatja Marttila2018-05-141-4/+3
| | | | | | Task-number: QTIFW-1140 Change-Id: I2038bb04526d6fbc3b35be67777a1096f80568cf Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix nested autodependency uninstallKatja Marttila2018-05-033-5/+11
| | | | | | | | Previous commit worked only when --show-virtual-components was uses. Task-number: QTIFW-1114 QTBUG-67106 Change-Id: I6d0649a37095b10ec9fd3a079e020f6a70345c94 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Fix nested autodependency uninstallKatja Marttila2018-04-182-5/+17
| | | | | | Task-number: QTIFW-1114 QTBUG-67106 Change-Id: I29cdddaa81657e5fd2b9cbf343e16cc107ce6c18 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix build error in MacOSKatja Marttila2018-04-051-1/+2
| | | | | | | MacOS does not understand ceil, use qCeil instead Change-Id: I075aab60ae7e00336bdd4faf864c3922482401ac Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix install fail if there is huge amount of downloadable packagesKatja Marttila2018-04-032-20/+51
| | | | | | | | | | | In some machines, installer does not manage to download meta files if there are huge amount of downloadable packages. It seems that QtConcurrent is not always able to handle so many download tasks. Divided the downloadable tasks into size of 1000 to keep the QtConcurrent running. Change-Id: I3ba110e2cc565251e540349a6b073245280a6fbe Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Fix infinite wait if downloadable package is missingKatja Marttila2018-03-161-1/+1
| | | | | | | | | | Instead of waiting for a package that is missing, show error message and abort installation Task-number: QTIFW-1064 Change-Id: I021e7ece9e4020a85380318185cdb6a424dc26fa Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix the maintenancetool that failing to elevate to adminTakayuki ORITO2018-03-141-3/+4
| | | | | | | | | | | It fails to output logs in ~PackageManagerCore() when using '--checkupdates'. It is installed in 'C:\Program Files (x86)'(needs admin rights). Disable the admin query. Because it does not need the query for checking the updates. Change-Id: I8cbd5823287a23d52c2f1a7f1fae95979314e441 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Japanese translationTakayuki ORITO2018-03-051-283/+1197
| | | | | | | | Update message in ifw_ja.ts Change-Id: I8a8495f57651eaa2a13a7b36206939f79fc96201 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* move ts targets to a separate project fileOswald Buddenhagen2018-02-284-35/+43
| | | | | | | | that makes it possible to update the templates even if the ifw itself cannot be built (e.g., due to using a -no-widgets qt build). Change-Id: Ie170e6524dbed40f6c8b837e35af6b45a1c2d2dd Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Remove unnecessary warningKatja Marttila2018-02-261-10/+0
| | | | | | | | | | | | Removed unnecessary warning about component specifying both autodependency and dependency to same component. Both of them might be necessary if we need to ensure the install order. Adding the same component as dependency will ensure that the dependency component will be installed first and its scripts run first. Task-number: QTIFW-1022 Change-Id: Id400f1ecf00a4b863ee473218d61a549c6ceb9ca Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Fix Mkdir operation in uninstallKatja Marttila2018-02-211-0/+7
| | | | | | | | | | | If Mkdir generates directories to target dir, then uninstall will fail to remove those as targetDir is replaced with @RELOCATABLE_PATH@ when the operations are written to dat file. Fixed so that @RELOCATABLE_PATH@ is replaced with targetDir. Task-number: QTIFW-1099 Change-Id: I52a0330a2645e2d4a5371ce0d6f1fb296878752f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Enable building IFW with Squish supportKatja Marttila2018-02-124-0/+30
| | | | | | | | | | | | Change enables building IFW with Squish support by passing SQUISH_PATH to qmake when building IFW. Also enables runtime change of Squish port with command line option --squish-port <port number>. If no port is set, default port 11233 is used to attach to Squish. Change-Id: I4821b360031df66968d3592886c2e45598e1b097 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Antti Kokko <antti.kokko@qt.io> Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
* Fix usesSystemConfiguration usageKatja Marttila2018-01-301-3/+5
| | | | | | | | As usesSystemConfiguration() is introduced in Qt 5.8, use it only when compiling with Qt 5.8 or higher. IFW still supports version 5.6.2. Change-Id: Ib39f38a452624a84627ad53c9941154bc0fd7929 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Remove http_proxy environment usageKatja Marttila2018-01-252-16/+0
| | | | | | | | From Qt 4.8 onwards Qt automatically uses http_proxy environment variable. Change-Id: Ib7b3df96beeed14da86c1b17aa2402a9809f3983 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Set correct proxy typeKatja Marttila2018-01-251-2/+7
| | | | | | | | | From Qt 5.8 onwards system proxy might be used by default. Checked if that is the case and updated settings accordingly. Task-number: QTBUG-65143 Change-Id: Ibe8f3173636c57f73addcc576afdd37a68ec1d03 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add no-proxy optionKatja Marttila2018-01-253-3/+10
| | | | | | | | | From Qt 5.8 onwards system proxy is used by default. Add option --no-proxy to enable installer usage with no proxy. Task-number: QTIFW-1085 Change-Id: If5247969aa9577cb746468c59802104d19826596 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add line number information when throwing an Error regarding the scriptAndy Shaw2018-01-241-2/+3
| | | | | Change-Id: I5bc3ca4779ed12d927c3a6a041a81d8e39d5bd1f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* make .ts file naming follow the usual patternOswald Buddenhagen2018-01-0312-18/+18
| | | | | | | | this makes it easier to integrate ifw into the surrounding infrastructure. Change-Id: I7918830b7a6c29d8556911eec83a3b6530478d84 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix maintenance tool file name parsing in macJani Heikkinen2017-12-191-2/+2
| | | | | | | | | Earlier we used QFileInfo::baseName but that doesn't work properly if '.' are used in file names. So start using fileName instead. Task-number: QTBUG-61262 Change-Id: I474b9656ef6d83dfbcdbc6ba6e40f95e75853c80 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Provide special handling of REG_EXPAND_SZ when setting environment variablesAndy Shaw2017-12-121-0/+51
| | | | | | | | | | | Since some registry settings with regard to the environment variables can have the type set to REG_EXPAND_SZ then we need to ensure that this is respected. Otherwise it will be changed to REG_SZ due to a limitation with QSettings. Task-number: QTIFW-794 Change-Id: Icaede82b151496367e531050082d416e19e15b56 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Avoid another null pointer dereferenceVille Voutilainen2017-12-121-1/+1
| | | | | | Task-number: QTIFW-1064 Change-Id: I053071292ef8786f6d829b57e45091e881ce3d4d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Do not retry a download immediately after an errorVille Voutilainen2017-12-121-2/+1
| | | | | Change-Id: I1751b5274b3f2f6c69482d98c8beb2c1ef77ae70 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix crash when httpReadyRead is signaled after shutdownVille Voutilainen2017-12-111-0/+2
| | | | | | Task-number: QTIFW-1064 Change-Id: Id300f5838fb5f7e72a5e77415ac1832faa2d7c84 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add documentation for the setValidatorForCustomPage() functionAndy Shaw2017-11-301-0/+6
| | | | | | Change-Id: Id2c52f8a7fa2abbd1ac9de49d597269cb9bed220 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add possibility to reopen admin queryKatja Marttila2017-11-141-25/+31
| | | | | | | | | | | | | | In windows if admin rights are asked, you have two minutes to answer to the query. After that installing is not possible as there is no way to go back to admin query. Adding a possibility to restart the admin right query when 'No' pressed or two minutes timeframe has passed in Windows. Requires DisableAuthorizationFallback set to true, otherwize user is asked to use fallback '--startserver'. Task-number: QTIFW-988 Change-Id: Ide33b588299c981cfe653e7f53e7316a768d87bb Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Implement package download resumeVille Voutilainen2017-11-033-23/+225
| | | | | | | | | This doesn't implement a resume for checksum files and resource files; there's no pressing need for those. Task-number: QTIFW-5 Change-Id: Id14a3d9b46f2e16a15f52ae536d060d505b2f4f0 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Use QDir::rmdir and not rmpath as that will remove more than it shouldAndy Shaw2017-10-271-1/+1
| | | | | Change-Id: Ie38cc0f19817025c31124256ba968ecded61aef3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Enable HighDPI support only in WindowsKatja Marttila2017-10-261-1/+7
| | | | | | | | Enabling HighDPI looks crappy in Linux. In MacOS this flag is not supported so enable it only in Windows host. Change-Id: I15167e45371daab1176b0043802bdc8a6954d67d Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Do not reset core when pressing 'Restart'Katja Marttila2017-10-161-1/+1
| | | | | | | | | | Core does not need reset when selecting 'Restart'. If resetting, settings dialog will lose some of its values etc. temporary repositories set from command line. Task-number: QTIFW-1017 Change-Id: Ifd67e373eaeccd85b985012b36b4314f59f0138f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Output correct invalid directory if it does not exist or is not a directoryAndy Shaw2017-10-021-1/+1
| | | | | Change-Id: I166f485b97403f5bdf1c37d4aa36da780b339b43 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Always build libinstaller as a static libraryJake Petroules2017-09-131-0/+2
| | | | | | | | | This fixes the build if IFW is built with a dynamically linked Qt, and does not otherwise affect use of static builds of Qt. Task-number: QTIFW-993 Change-Id: I1e6807e522adde339263c697fa4a1353250a2e3f Reviewed-by: Katja Marttila <katja.marttila@qt.io>