summaryrefslogtreecommitdiffstats
path: root/src/libs
Commit message (Collapse)AuthorAgeFilesLines
* Translations: validate and update translatable user interface stringsArttu Tarkiainen2021-06-2310-29/+29
| | | | | | | Task-number: QTIFW-2245 Change-Id: Id9a79c7c572dc588c05ad37c67ae3f0431fa7cdb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Merge remote-tracking branch 'origin/4.1'Arttu Tarkiainen2021-06-171-1/+1
|\ | | | | | | Change-Id: Iff5a7a99afca53305c7f404a74f210f67728dd54
| * Fix loading translations with upper lettersKatja Marttila2021-06-081-1/+1
| | | | | | | | | | | | | | | | | | Translations are read from resource. The file name must match case sensitively so that resource loading will succeed. Task-number: QTIFW-2265 Change-Id: Iabc899b99bbbed346ff8e7395af82545e9079eb2 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Clarify required user actions when there is an essential updateArttu Tarkiainen2021-06-161-0/+4
| | | | | | | | | | | | Task-number: QTIFW-2244 Change-Id: Ib3c717eb7fd76bdc928072630177c71933e8aef1 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/4.1'Arttu Tarkiainen2021-06-029-24/+47
|\ \ | |/ | | | | Change-Id: I86049138466399411ba36791330f4a94faad8c52
| * Add possibility to list components with regexpKatja Marttila2021-05-214-7/+19
| | | | | | | | | | | | Task-number: QTIFW-2225 Change-Id: I6a7fdfc1070ad54d520563cae7d2446e97e2e87c Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Fix component translation loadingKatja Marttila2021-05-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Component translations were following the system language although allowed languages were set in config.xml using <Translations> field. Also the translation file name was not correct as IFW languages has the syntax 'ifw_<language>'. Task-number: QTIFW-2220 Change-Id: I6a6f19351cbb956accbc22bc532f7a12dde21a2f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * CLI: Print warning when creating over 4GB installers on WindowsArttu Tarkiainen2021-05-041-1/+9
| | | | | | | | | | | | | | Task-number: QTIFW-2199 Change-Id: I56f3663ae605b2c568925702e06c4438e11830ac (cherry picked from commit 35f79da9cb99c7c0456f002829dc0fdfe55b4f8d) Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Fix values overwritten by maintenancetoolKatja Marttila2021-04-303-9/+19
| | | | | | | | | | | | | | | | | | | | | | Maintenancetool has saved values, which are loaded after installer has initialized some values, overwriting the installer initial values. Fixed so that only values that are not already set in installer init will be set from maintenancetool ini file. Task-number: QTIFW-2218 Change-Id: Ide6a3f67daec81fe22d6dcde1e95a28f5ed2c53a Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Do not try to remove non-existing package information file on rollbackArttu Tarkiainen2021-04-261-4/+3
| | | | | | | | | | | | | | | | | | | | | | The installation information XML file (components.xml by default) is not yet written to disk when downloading archives. Canceling the installation here would try to remove the not-yet-created file unconditionally. Task-number: QTIFW-2213 Change-Id: I922ffd7d1344755ed7fcf3f02e83bc02e789cd17 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Fix return value for operations run as detachedKatja Marttila2021-04-211-1/+3
| | | | | | | | | | | | | | Task-number: QTIFW-2210 Change-Id: If02422317039cc7aced3ff175576660cb260a005 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | CLI: Print warning when creating over 4GB installers on WindowsArttu Tarkiainen2021-04-271-1/+9
| | | | | | | | | | | | | | | | Task-number: QTIFW-2199 Change-Id: I56f3663ae605b2c568925702e06c4438e11830ac Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix updating visibility of the QToolBox widget on ComponentSelectionPageArttu Tarkiainen2021-04-191-0/+1
| | | | | | | | | | | | | | | | | | Using a stylesheet with transparent background property for most widgets revealed the page's QToolBox widget and its children were not hidden properly when category layout was hidden. Change-Id: Ic710b348c50edef823d27eccd6092d531da24bf9 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/4.1'Arttu Tarkiainen2021-04-143-4/+20
|\ \ | |/ | | | | Change-Id: I8adecc4573134d2b33f2b98fba9372320b2f8737
| * Fix segfault when selecting non-existing component from scriptArttu Tarkiainen2021-03-281-0/+5
| | | | | | | | | | | | Task-number: QTIFW-2195 Change-Id: Iaf75d4a4ff20f20a36c0b2d21abb3969b86b5a84 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * CLI: Calculate required temporary and installation disk spaceArttu Tarkiainen2021-03-282-2/+10
| | | | | | | | | | | | | | Task-number: QTIFW-2197 Change-Id: I63a0bb265105f5a722ab8c645fa3511328bbcb33 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * CLI: Fix offline installer creation with empty component meta-archiveArttu Tarkiainen2021-03-231-2/+5
| | | | | | | | | | | | | | Task-number: QTIFW-2189 Change-Id: Ic6f56156194039cca7bebf095fad8c1fc66fc275 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Reorder ComponentSelectionPage widgetsArttu Tarkiainen2021-04-132-15/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the category widget from the leftmost column in the page as it takes a lot of horizontal space, and we don't utilize the empty space below it. Add a QToolBox widget to the rightmost QGridLayout column to display either component information or repository categories at a time. If category widget is not shown, display the description widgets directly on the page's QGridLayout without the tool box. Task-number: QTIFW-2096 Change-Id: I04266789e3e4b7ce352b7e0a7230ab80c5e295ce Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Offline-generator: Fix duplicate package entries in internal Updates.xmlArttu Tarkiainen2021-04-121-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a somewhat rare case, it is possible that a same package exist in multiple repositories. The latest available package from remotes is used - however if we select that package for inclusion and also implicitly get some other package from the another repository it exists in with an older version (autodependency, etc.), that repository is then also used to parse package information, and we store a duplicate entry of the package to the Updates.xml to-be-written to the offline installer binary. Fix by appending only the package with the latest version to the PackageInfoVector object used to temporarily hold the package information. Task-number: QTIFW-2190 Change-Id: Icdb3dc979153dfada37fdb0aabb3c718bc8aedff Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | CLI: Add support for additional filtering of search resultsArttu Tarkiainen2021-04-094-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Search command results can now be optionally filtered with the '--filter-packages'-option, which takes an unspecified count of key-value pairs that contain the desired package information element and a regular expression used to find matches in the element. Example usage: 'installer --fp "Version=1.0, Description=Some text" search *' Only the packages which match all given filter rules are included in the output print. Task-number: QTIFW-2168 Change-Id: I788b065d95952b988489c36db80b3c859b970f05 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Use pkexec to start the headless process used for privileged operationsArttu Tarkiainen2021-04-091-219/+15
| | | | | | | | | | | | Task-number: QTIFW-1794 Change-Id: I3225da785d52f0631b84341a4fe3d3db0fc0a171 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge "commit 29ed7cb3ca2e1caeb56eabba327442ce0ccadbf6 1616145450 -t--sp"Katja Marttila2021-03-222-0/+9
|\ \
| * \ Merge remote-tracking branch 'origin/4.1' into masterKatja Marttila2021-03-192-0/+9
| |\ \ | | |/ | | | | | | Change-Id: I2b2ec3606eb50d390da6e59391c0e17a31e08c54
| | * Emit signal when components are recalculatedKatja Marttila2021-03-122-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | This signal is needed in QtInstaller when we want to track components which are unstable. Task-number: QTIFW-2172 Change-Id: I464d7ad9373089d5001f442ad69a076579ee3228 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | CLI: improvements to 'search' and 'install' command outputArttu Tarkiainen2021-03-116-17/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously subcomponents of a virtual component were shown on search results, and trying to install these would print a bit vague message: 'Component not found'. As the sub-branches of virtual component nodes are hidden on GUI, we should also hide them when using CLI search, and give a more appropriate error message why the component cannot be explicitly selected for installation, if the user still tries to do so. Also some minor refactoring to the handling of supplemental information about binary type of the running installer/mt. This change does not fix the possible case of an install script changing the 'virtual'-state of a component, as it would require downloading and evaluating the full metadata for repositories (or components), which would impose a performance penalty to search. Task-number: QTIFW-2168 Change-Id: Ibacaca23c38f5ea98967955d91849cefc1f11f61 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | Fix styling of QMessageBoxesArttu Tarkiainen2021-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MessageBoxHandler will decide an appropriate parent widget for new QMessageBox objects just before they are shown. This is not quaranteed to be a PackageManagerGui instance, for example when the installer wizard does not have focus, which means the style properties do not get inherited. Rather set the used style sheet for the whole application using QApplication::setStyleSheet(). Task-number: QTIFW-2121 Change-Id: I6f2131279d6f6d3dd41b9eacab8404770aad09a3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | Cppcheck: Fix local variable shadowing outer variableKatja Marttila2021-03-096-25/+25
| | | | | | | | | | | | | | | Change-Id: Idff9a40c5089b4de7b8afd1c280603601317beda Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Add explicit and override keywordsKatja Marttila2021-03-092-4/+4
| | | | | | | | | | | | | | | Change-Id: Ia8305652afdf29cbc88328b76f5156187aa54dba Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Move member initialization from constructor body to initialization ↵Katja Marttila2021-03-093-20/+21
| | | | | | | | | | | | | | | | | | | | | list Change-Id: I5bb8c8f81a391abc5cdfdf5a0c7a68bb5edcec89 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Remove unused variablesKatja Marttila2021-03-091-1/+1
| | | | | | | | | | | | | | | Change-Id: Ibf92b3e93ca11428f92e60031a5c8c3c5f60b402 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Misc fixesKatja Marttila2021-03-093-4/+8
|/ / | | | | | | | | Change-Id: I77acdecaf5660f2d7aa723c56d53a97e5687a8b8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Cppcheck: Initialize uninitialized member variablesKatja Marttila2021-03-035-1/+5
| | | | | | | | | | Change-Id: I38c52e2412f50e0aba41876112a66956b9de2920 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Add alternative way to update components from repositoryKatja Marttila2021-03-039-17/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Components can be updated from online repository using version number. Sometimes there is a need to update to an older version which is now possible by using content sha. Content sha can be added to repository with repogen --sha-update <component_id>. If there is a new content sha available in the repository, component is updated although it version number might be smaller. After the content sha is removed from online repository, the normal update with version number is performed. Task-number: QTIFW-1798 Change-Id: Id9e32b0345af5101cccaf6e30c81bd39691d9590 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Refactor repogen for easier testingKatja Marttila2021-03-022-2/+73
|/ | | | | | | | Functionality is only moved from repogen.cpp to repositorygen.cpp. This makes the repository testing much easier. Change-Id: I2078e2880955c71b9ffa0ac46501eafbd499c3ba Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update side widget with the binary marker changes in introduction pageArttu Tarkiainen2021-02-191-0/+6
| | | | | | Task-number: QTIFW-2150 Change-Id: I8a216ed99aaa68347558cb90a712d2afd1147268 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Documentation fixesKatja Marttila2021-02-193-0/+23
| | | | | | Change-Id: Ibb8da857319eff6119b0296375b6c38578729559 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Add unit tests for offline generationArttu Tarkiainen2021-02-163-3/+9
| | | | | | | | | | | | This also changes some of the return values in our CLI-related functions in PackageManagerCore class to better catch cases where we exit without failing but also without doing anything. Also adapt existing tests. Task-number: QTIFW-2028 Change-Id: I73c4ca1b20d439773d0e290195f137d0d7369d17 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix value overwrite from command lineKatja Marttila2021-02-163-43/+56
| | | | | | | | | Key-value pairs given from command line should overwrite all common variables and custom variables saved to maintenancetool.ini Task-number: QTIFW-2021 Change-Id: I1abd8b67e6ae76051a2887965099e00344bc5cc0 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Reduce windows frame size from maximum sizeKatja Marttila2021-02-161-1/+6
| | | | | | | | | Windows frame is calculated to availableGeometry(). If wizard default height is set higher than that, the buttons remains partly unvisible under the taskbar. Change-Id: Ia0610e72fc84356e6c18d6f332a84947179d714a Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix DesktopDir value for AllUsersKatja Marttila2021-02-161-1/+1
| | | | | | | | | Correct value is 'Common Desktop' for AllUsers instead of 'Desktop'. Change-Id: Ice375f56401600e50d126694bbb0a7cc1bb61ad9 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Add warning when cli-only options are used without command keywordArttu Tarkiainen2021-02-154-55/+86
| | | | | | Task-number: QTIFW-2046 Change-Id: Id1c3d24e8c385bdfbe0a7837be774f885a192aa4 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Emit signal after loading default translationsArttu Tarkiainen2021-02-111-0/+1
| | | | | | | | | This makes it easier to get the load order correct, if there are translations to be loaded for additional pages from vendor extensions to the internal C++ API. Change-Id: I9e10cfa7e1cbf25f87d998157436c44425403cac Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add possibility to move component in component treeKatja Marttila2021-02-119-37/+96
| | | | | | | | | | | | Setting <TreeName> -tag to component.xml will overwrite the default location of component in installer's tree view. This way we can define the component location without a complete repo build. Updates.xml can be directly modified by adding <TreeName> -tag for easy relocation of components. TreeName must be an unique name - it cannot conflict with existing tree name or name. Task-number: QTIFW-594 Change-Id: Ie69f90f1303d932369d566d0d7b4bc0e354505c6 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Try rerunning execute operationKatja Marttila2021-02-0510-51/+118
| | | | | | | | | | | | | Execute operation can have hard coded paths to program which is executed. In case the program is relocated, UNDO operation will fail as it will not find the program. Implemented new XXXX_OLD value which can be used for overwriting the hardcoded value. In case the program execution fails, program is tried to launch again with the replaced value. Task-number: QTIFW-2125 Change-Id: I446a4c423e53cc4ffc6e5e25617d2400945ac3d9 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Exit when expecting user input and the output device is not a TTYArttu Tarkiainen2021-02-044-3/+21
| | | | | | | | | | - For arbitrary text input queries, fail and exit. - For file/directory queries, fail and exit. - For message boxes, default to negative option and exit if necessary. Task-number: QTIFW-1949 Change-Id: Iaf8a07247a0e358d4544a856788e48447c6720d9 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Provide missing documentation for functionsKatja Marttila2021-02-045-0/+38
| | | | | | Change-Id: I2fe4f6bfc6a31291900d0005550c419cf6582fac Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Restructure logging utilitiesArttu Tarkiainen2021-02-0414-544/+664
| | | | | | | | | | | | | | Create a singleton-pattern class as an encapsulation unit for holding and altering the state of debug printing attributes. Move related code from various places under a single umbrella header file for logging utilities, with some minor stylistic changes & cleanup. This acts as a preparatory change for providing non-blocking headless CLI runs when there is no TTY attached - that will be fixed in a follow-up change. Change-Id: Ib7f72cf75362c3ea6713058e92eda997d6df55c3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Misc fixes for Lib7z namespace documentationArttu Tarkiainen2021-02-041-5/+71
| | | | | | | | | | We are still missing quite a bit documentation for this namespace. Add documentation for symbols that could be easily documented and mark the rest as internal, at least for the time being. Otherwise the generated html docs contain stub sections for these symbols. Change-Id: I471873c8da5050f9fb3a4f033da71dcb0aff7b3c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Show documentation for Lib7z namespace and PercentPrinter classLeena Miettinen2021-02-041-0/+6
| | | | | | | The docs were already there, just not displayed in the Manual Change-Id: I3bbc0718150ff792a0657140d1d8999f47667450 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add support for setting minimum wizard dimensions in config.xmlArttu Tarkiainen2021-02-044-2/+26
| | | | | | | Task-number: QTIFW-1903 Change-Id: I4d8eaf71a1a63dfbfa75ea61af728fa1f5e3e9f3 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>