summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Gain admin rights for writing MaintenanceTool config files if neededArttu Tarkiainen2019-06-145-19/+51
| | | | | | | | | | | | | | | | Running MaintenanceTool from an elevated directory didn't do proper checks for file writing rights when parsing Updates.xml from a repository, for example when a default repository contains actions inside <RepositoryUpdate> tags the MaintenanceTool couldn't write changes to the .ini file immediately. Make MaintenanceTool do proper rights checking when parsing Updates.xml. Create uniform methods for checking directory writing access as it is used on several occasions. Add tests for directory checking methods. Task-number: QTIFW-1363 Change-Id: I6d634ddbd59429e5b98af1d8010e70a71de40f69 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix double condition checkKatja Marttila2019-06-131-1/+1
| | | | | | | Task-number: QTIFW-1082 Change-Id: I47e403444b2932984f0a559613826ca6fa9e41df Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix initially deactivated buttons when selecting components to updateArttu Tarkiainen2019-06-111-0/+5
| | | | | | | | | | | When entering component selection page for updates, force checking of component model state change so we can enable or disable relevant component selection buttons right when entering, not after first selection change. Task-number: QTIFW-1320 Change-Id: I86a94b70979f7064618186c539b0b7fc594d1481 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix MaintenanceTool file write permission check on Linux and macOSArttu Tarkiainen2019-06-032-1/+21
| | | | | | | | | | | | | Running the Qt installer on Linux and macOS with sudo will leave the installation target directory and some installation files writable by other users than their owner (root). Make MaintenanceTool check over all subdirectories in the installation directory for write permission so that admin rights can be always requested when needed. Task-number: QTIFW-1324 Change-Id: I9b314853634642b0be1fb3ea7a9164a2d4beb853 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Documentation fixesKatja Marttila2019-05-272-3/+3
| | | | | Change-Id: Ibfb4fd033f8dae23b953f21ebcda40c8325577e1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix installer hang on Windows with empty command prompt window appearingArttu Tarkiainen2019-05-172-6/+10
| | | | | | | | | | | | | | Installer sometimes hangs on Windows with a command prompt window opening and blocking any progress. Hitting enter in this command prompt window causes progress to move forward. This blocks automated execution of tests since it requires manual interaction. parentConsole boolean was not initialized properly, fix logically broken closing actions for console. Task-number: QTIFW-1250 Change-Id: I062c0491c16c26e9435022d79f99240bf59e1a79 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Russian translationKatja Marttila2019-05-171-4/+4
| | | | | | | Change-Id: Ic8edbbd34b048d4d7b4fd034b0dddfa1e73ef8a1 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Improve strings in the Select Components pageKavindra Palaraja2019-05-132-2/+2
| | | | | | | | Task-number: QTIFW-1334 Change-Id: I4ed13fd066c98e1716f3358cffef85e160a3324a Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Enable links and text selection in component description fieldsArttu Tarkiainen2019-05-071-2/+11
| | | | | | | | | | | External links can now be included in component description by specifying a proper URL address like this: {external-link}='https://www.qt.io/'. The link fields can be placed anywhere inside package <Description> tags. Task-number: QTIFW-1292 Change-Id: I1d916a58224bdfb6e885445873bf541fad3cf834 Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Pass -sort-contexts when calling lconvert to keep the order for smaller diffsAndy Shaw2019-05-031-2/+3
| | | | | Change-Id: I4634d54b9bbf0d762a7274ae482f480baed6c0d2 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add fetch to the same pane with package categoriesArttu Tarkiainen2019-05-021-1/+1
| | | | | | | Task-number: QTIFW-1284 Change-Id: Idfd81c3beb60a4dd3b6e8523c219823477eaeeb4 Reviewed-by: Janne Anttila <janne.anttila@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Maintenance Tool: Change text in Select Components view when selection of ↵Arttu Tarkiainen2019-05-024-4/+26
| | | | | | | | | components is not possible Task-number: QTIFW-1241 Change-Id: Ib3e67e26b5fd4cf856c4b95f7fe542484e4955ff Reviewed-by: Janne Anttila <janne.anttila@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix long description texts not properly shown by enabling scrollingArttu Tarkiainen2019-05-022-3/+11
| | | | | | | Task-number: QTIFW-1308 Change-Id: I9b20d4a4c4e169bb6b523bbf53da6fb5053ae578 Reviewed-by: Janne Anttila <janne.anttila@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix install button string having a font name in French translationKatja Marttila2019-05-021-2/+2
| | | | | | Task-number: QTIFW-1333 Change-Id: Ia1b055aa0360885d6ab9b3c0aa0fc7930521e040 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix maintenancetool sizeKatja Marttila2019-04-231-0/+4
| | | | | | Task-number: QTIFW-1322 Change-Id: Ibab81f97f2a114b5b55d24deb0f013657e17fc39 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Update Russian translationSergey Belyashov2019-04-171-42/+76
| | | | | | | Change-Id: I36d329b7c8742133fe62cfc250e53a71ac25d069 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: olesya gerasimenko <gammaray@basealt.ru> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Fix components shown in categories3.1.0-rc3.1.0Katja Marttila2019-04-011-4/+25
| | | | | | | | | | | | If same repository was included in several different categories, and the categories were fetched in the same time, the components were shown only in one of the categories. Fixed so that once the repository is downloaded, the related meta is included to all categories. This also speeds up other category download times. Task-id: QTIFW-1314 Change-Id: I0d890a52dee15a9bde11383f608f547a32b99ee7 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Rename variablesKatja Marttila2019-04-014-15/+15
| | | | | | | | We have named 'archive' to 'category' ages ago, rename the remaining variables accordingly. Change-Id: I3f723d3e7014c264e2a4db21c434708691a1038e Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Fix update with long version numbersKatja Marttila2019-03-251-5/+5
| | | | | | | | | | Update fails if version number is longer than 32bit int. Fixed so that the value is converted to 64bit int instead so the int overflow will not happen. Change-Id: If7ab57e89b155793e9fab3ba5dad9c734adc2234 Fixes: QTIFW-1310 Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro> Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Update translations for a number of languagesAndy Shaw2019-03-016-7342/+5361
| | | | | | | | The translations were contributed from an external and are for Spanish, French, Italian, Japanese, Polish and Chinese. Change-Id: I737c88e727c61fb358ab2cf99ce4b80a89817311 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix RepositoryUpdate functionalityKatja Marttila2019-02-201-0/+2
| | | | | | | | | After adding the categories, RepositoryUpdate got broken. This commit fixes the issue Task-number: QTIFW-1300 Change-Id: I01671a547712088d344852dc169661ac9587894e Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Fix essential updateKatja Marttila2019-02-191-3/+3
| | | | | | | | | | | | Essential components should be updated before any other component is updated/installed. This did not happen always as when one essential component was found and that did not have any updates, the search was stopped and normal install flow was continued. Fixed so that all essential components are checked if they contain update. Task-number: QTIFW-1299 Change-Id: I754c50f672dd5f13105c710522603e90799d61c5 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Change quantity information unit textKatja Marttila2019-02-079-104/+104
| | | | | | Task-number: QTIFW-1288 Change-Id: Ie5a6fdc27bb5eb96b080638839ee09f06370848e Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Write desktop entry and items to the correct foldersRainer Keller2019-02-042-11/+5
| | | | | | | | | | | | Data should not be written to directories in XDG_DATA_DIRS. The spec state that files should only be writen to the directory in XDG_DATA_HOME. Change-Id: I755963fa2f70d03c77d7beec0e3f87accde925d0 Fixes: QTIFW-1269 Reviewed-by: Nikos Chantziaras <realnc@gmail.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add tooltip for categoriesKatja Marttila2019-02-044-3/+25
| | | | | Change-Id: I852a236bc2cff0d532a825581e3da4dcdcbbab90 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Minor changes to category namingKatja Marttila2019-02-042-2/+2
| | | | | Change-Id: I7459535dd49047f9bf2d56a6598e9e631723444f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Reset error before every new metadata jobKatja Marttila2019-01-281-0/+2
| | | | | | | | | | | Installer crashed when invalid QBSP package was selected and after that new categories were fetched. This was because the error message was not cleared, although the metadata job was succesfull, installer thought there was still problems causing it to eventually crash. Task-number: QTIFW-1272 Change-Id: I8a5a6fd8568dcabd9c857c462b83d0e0b77669f8 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix tmp file removalKatja Marttila2019-01-223-15/+7
| | | | | | | | | | | | | | | Tmp files were not removed when all or these were met: 1. Using Linux 2. Installing to a folder which needs authorization 3. Installing a component which has no metadata Tmp 'remoterepo-XXXXXX' is created before acquiring authorization. In previous version if above list was met, a tmp folder was created inside remoterepo-XXXXX after authorization leading to permission error when deleting the folder. Task-id: QTIFW-1268 Change-Id: I937fe3ce13440c817d1264c80ad060dfc966e456 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix build error in macOSKatja Marttila2019-01-181-1/+1
| | | | | Change-Id: Ib1e3cb1cead8a856d74ef23808072a085e4d268d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix QWindowsPipeWriter errorKatja Marttila2019-01-171-1/+2
| | | | | | | | | Read/write operators were not in sync causing a write fail in QWindowsPipeWriter. Task-id: QTIFW-1254 Change-Id: I0c2ead9c6af9ea0459f7ed55b09540c50cc60a6c Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Allow unstable components when categories are usedKatja Marttila2019-01-171-0/+1
| | | | | | | | | | | | | | | Unstable component means that the component has unresolved dependency, script error etc. Installer cannot recover if we are already in component selection view and fetch new packages from a category which has unstable components if AllowUnstableComponent is false. Fixed so that allowing unstable components is forced when categories are used. Ideal solution would be to recover and rollback the install tree if unstable components are found but that requires huge changes to IFW. Task-id: QTIFW-1257 Change-Id: I786df1b8b54c238f50e15b94a06005e244417c97 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Add possibility to preselect categories in config.xmlKatja Marttila2019-01-172-3/+8
| | | | | Change-Id: I280247cb5155622ade604074c5a71a276b0fb629 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix Next button state in component selection viewKatja Marttila2019-01-161-2/+5
| | | | | | Task-number: QTIFW-1261 Change-Id: Ied506e68d430eef94d482ee2390aa5a8acc3b36e Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Organize categories alphabetically to ComponentSelectionPageKatja Marttila2019-01-164-5/+25
| | | | | | Task-number: QTIFW-1264 Change-Id: I14a54082c30107d9242632a69d73a637803c6f2d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Revert RemoteFileEngineHandler removalKatja Marttila2019-01-152-0/+5
| | | | | | | | Seems this is used for gaining admin rights in Windows Task-id: QTIFW-1254 Change-Id: Ia169200ead7a95d152378ba68ba9b8ad3054d5bb Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Do not allow unstable component installKatja Marttila2019-01-111-1/+6
| | | | | | | | | | Unstable component was installed if component had unresolved dependency and was fetched from category. Fixed so that unstable component which is not already installed gets never selected in restoreCheckState(). Task-id: QTIFW-1265 Change-Id: I04176d095f6d79b2aabae73b490adc36706f597a Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Hide category widgets in updater modeKatja Marttila2019-01-093-1/+13
| | | | | | | | | | We don't need categories in updater mode, the categories were accidently visible if we first visited the 'Add or remove components' page before going to 'Update components' Task-number: QTIFW-1259 Change-Id: I945c2b7e8cdfbb8bfeefbfa0ed07222189573179 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix ability to select node which children are unstableKatja Marttila2019-01-091-1/+1
| | | | | | Task-number: QTIFW-1260 Change-Id: If806f62382eb430c858cb483e3bd25562df7b21a Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Replace 0 with nullptrKatja Marttila2019-01-0941-168/+168
| | | | | | | Prevents a lot of warnings seen in QtCreator Change-Id: I63bf95aca68a04fc9fd0eecbe29c63e9b9c47efd Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Merge "Merge remote-tracking branch 'origin/3.0' into master"Katja Marttila2018-12-1819-61/+63
|\
| * Merge remote-tracking branch 'origin/3.0' into masterKatja Marttila2018-12-1019-61/+63
| |\ | | | | | | | | | Change-Id: I73cb43e090c6ff34f1ceb774490d01818465e2e0
| | * 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>
* | | Remove unused variableKatja Marttila2018-12-182-5/+0
|/ / | | | | | | | | Change-Id: Ie9fc97244b10e821965ac42ce3c9ab3720aa3d00 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Fix wizard's maximum sizeKatja Marttila2018-11-132-0/+10
| | | | | | | | | | | | | | | | | | | | User can set height and width for wizard in config.xml. If the given dimentions does not fit to the screen, wizard was clipped and buttons were of the screen. Fixed so that the screen size cannot be exceeded. Task-number: QTIFW-1016 Change-Id: Iab6970d4203fc1271b93475aec71c946d0508653 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Do not compare empty target to QDir::root() or QDir::home()Katja Marttila2018-10-291-1/+1
| | | | | | | | | | | | | | | | Comparing empty target will cause 'Empty filename passed to function' warning in unix. Change-Id: I2ee1490ef342031703638c201b5e2d6d745a1c98 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Refactor component selection pageKatja Marttila2018-10-235-452/+573
| | | | | | | | | | | | | | | | | | | | | | | | Component selection page has a lot of widgets compared to other pages so moved the implementation to own file. Also fixed the following issues in component selection page: 1. Fixed crash when there were no categories and QBsp button was pressed 2. QBsp button opened multiple dialogs if next/back buttons were pressed 3. Made progressbar use the entire vertical space Change-Id: I30cf1599ecb06a633719622427855a57696d5987 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>