summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/installer.pro
Commit message (Collapse)AuthorAgeFilesLines
* Restructure logging utilitiesArttu Tarkiainen2021-02-041-4/+4
| | | | | | | | | | | | | | 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>
* Replace usage of derived LazyPlainTextEdit class with QTextEditKatja Marttila2021-01-151-2/+0
| | | | | | | | | | | | | | | | | | Remove LazyPlainTextEdit class and replace usage in PerformInstallationForm details browser to QTextEdit. This adds support for RTL text alignment as the base class of the removed class, QPlainTextEdit does not fully support RTL and automatic alignment. Text will now be automatically aligned based on the direction of the characters. This also improves the usability of the details browser, as it does not force scrolling to bottom if the user has scrolled the widget contents to inspect previous lines. Task-number: QTIFW-1994 Change-Id: If01eaea121000edc0b5039edfede88ffb7bacd6f Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Tools: refactor to move general purpose functionality to installer libArttu Tarkiainen2020-12-021-0/+1
| | | | | | | | | This makes it possible to utilize parts of our existing tooling in the offline installer from online installer generation process. Task-number: QTIFW-2048 Change-Id: I7ee605be75541cc83a3b6909089bda45f0835bcf Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Print package information in xml formatKatja Marttila2020-11-251-2/+4
| | | | | | | | | Also removed logging categories for package information, the full package information can be printed by increasing the verbosity level. Task-number: QTIFW-1950 Change-Id: I4bce019a63ba1fbf48e3bb0ca45511e42d4974c9 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix image aspect ratio not preserved when resizing windowArttu Tarkiainen2020-09-161-0/+2
| | | | | | | | | | | As this is not currently possible using only QLabel, subclass it with a new AspectRatioLabel class to provide the functionality. This should be usable also on other places where we need scaling with aspect ratio maintaining. Task-number: QTIFW-1944 Change-Id: I32147b2b487573bb054fcf66b09eb3f8a0350ccd Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Refactor naming and usage of CLI commandsArttu Tarkiainen2020-03-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | - Rename and alter the description of some command line options according to validation results from task QTIFW-1635. The suggested additions are not added in this change. - Remove options "framework-version" and "silentUpdate", these should not be needed anymore. - Combine options "installPackages" and "installDefault" into single "install" command. - Change command line syntax from "binary [options]" to "binary [options] command <arguments>". - Re-order & group known option variables and "--help" printing order based on their topic. - Move CommandLineParser class files under src/libs/installer and add private class for future options extension. Short versions of command line options should be added in a follow-up commit. Task-number: QTIFW-1671 Change-Id: Ie0d393368b5275c8ffa1ab8833885b149af3178e Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Refactor component selection pageKatja Marttila2018-10-231-2/+4
| | | | | | | | | | | | 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>
* Enable usage of categorized repositoriesKatja Marttila2018-09-261-2/+4
| | | | | | | | | | | | | | | | | | | | This change allows to categorize repositories in component selection page. Using categorized repositories will by default show only uncagetorized repository items in tree. Selecting one or several categories using checkbox will update the treeview to show all selected categorized repository content. Repository's metadata is fetched only after the category is selected. Categorized repositories can be defined in config.xml: <RepositoryCategories> <RemoteRepositories> <Displayname>category 1</Displayname> <Repository> <Url>(url)</Url></Repository> </RemoteReposiories> ... <RepositoryCategories Change-Id: I6eae9daee70b1afa322144d52c11f25d0b655ebf Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@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>
* Merge remote-tracking branch 'origin/2.0'Katja Marttila2016-06-211-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Changelog dist/config/config.xml dist/packages/org.qtproject.ifw.binaries/meta/package.xml dist/packages/org.qtproject.ifw/meta/package.xml installerfw.pri src/libs/7zip/7zip.pro src/libs/7zip/win/CPP/7zip/UI/Common/Update.cpp src/libs/installer/component.cpp src/libs/installer/lib7z_facade.cpp src/libs/installer/packagemanagercore.cpp src/libs/installer/proxycredentialsdialog.h src/sdk/translations/ja.ts tests/auto/installer/messageboxhandler/tst_messageboxhandler.cpp tests/auto/installer/scriptengine/tst_scriptengine.cpp tests/auto/installer/settings/tst_settings.cpp Change-Id: I3bb98b8490b3c3eb7f664c1abb7417155b5430b2
| * add make install functionality with INSTALL_ROOTKatja Marttila2016-05-191-0/+3
| | | | | | | | | | | | Change-Id: I8bad1c9bbe7b705ff0842f15fb0c9bc6c127e9bc Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
| * Revert "Use QQmlV4Function to correctly get empty parameters from script."Katja Marttila2016-02-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit eb574d77b0ab9a92b61e7738d089cd4ea4304e51. The change will not work with Qt5.5 as it is causing constant crashes in Qt installers. Using this change will require a fix for Qt5. As we are about to make Qt installers based on 2.0 we need to revert this change for now. Change-Id: Ia7906d02db645f2407ab07d14f5a037224574b29 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* | Revert "Windows: Fix crashes in elevated installation"Katja Marttila2016-05-201-1/+0
| | | | | | | | | | | | | | | | This reverts commit 95ae661cba931a982d12cd68d8b4da392d74bdd0. As we now require at least Qt5.5.0 we don't need this workaround Change-Id: I6ab930886bc9af0716a61a8e21b12db83018b0c2 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Iikka Eklund2016-01-201-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: installerfw.pri src/libs/kdtools/kdgenericfactory.cpp src/libs/kdtools/kdgenericfactory.h src/libs/kdtools/kdupdaterapplication.cpp src/libs/kdtools/kdupdaterapplication.h src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp src/libs/kdtools/kdupdaterupdatesourcesinfo.h sync.profile Change-Id: Ifdc8b065f89b7e241bd3788ed79768e21888161f
| * Use QQmlV4Function to correctly get empty parameters from script.Karsten Heimrich2015-11-261-1/+2
| | | | | | | | | | | | | | | | | | By using QQmlV4Function to get the parameters, empty strings passed are correctly kept as empty and not null. Task-number: QTIFW-724 Change-Id: I592e2230e574ba82e765bd0079964db29452b2e9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Split the huge header file in more dedicated ones.Karsten Heimrich2015-06-101-1/+4
| | | | | | | | | | Change-Id: I35a1500d5a9bb8986765488660cf0487c32d9720 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Update source tree with version 9.38.beta of LZMA SDK.Karsten Heimrich2015-06-101-1/+2
| | | | | | | | | | | | | | | | | | | | - Remove unused files. - Split in .pri files. - Add HEADERS section. - Adjust lib7z_facade. Change-Id: I31e7bafbfe1a9346364bd58c391601955f98ad3a Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Replace UpdateSourcesInfo and UpdateSourceInfo classes.Karsten Heimrich2015-05-061-2/+4
|/ | | | | | | | | | | | Introduce a new struct PackageInfo, which is similar to the removed UpdateSourceInfo struct. The new struct name reflects the actual use better, as we deal with package here (either packages to install or updates to apply) and not updates only. Also remove the container class UpdateSourcesInfo, we can simple reuse a existing Qt container here. Adjust all occurrences that use/ used the classes. Change-Id: I526e24cbf1664f0ab0ad18153f60c2c10b6909d8 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Windows: Fix crashes in elevated installationKai Koehne2015-04-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | Until Qt 5.5.0, QLocalSocket::waitForReadyRead() immediately returns when there are still bytesAvailable(). This means our busy loop for polling new data gets stuck. To work around this we've been explicitly calling processEvents(), which however can have undesired side effects: Namely that non-network events get delivered too, and that 'intermediate' requests are sent to the server, resulting in the protocol getting out of sync - requests get replies from intermediate commands, ultimately leading to crashes. The patch therefore removes the processEvents() call, and instead works around the QLocalSocket::waitForReadyRead() deficiency by subclassing. Task-number: QTIFW-663 Task-number: QTIFW-656 Task-number: QTIFW-659 Change-Id: I4099fa1702cd8dceda954d672c9c3dac0ca7fd66 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix handling of incomplete messages in client/server communicationKai Koehne2015-02-201-0/+1
| | | | | | | | | | | | | Do not assume that the socket always contains enough data. Instead, prefix every 'packet' with its size, and back off until the full packet is available. The actual encoding/decoding is done in Protocol::sendPacket, Protocol::receivePacket. To be able to use the methods everywhere, replies are now prefixed by a Protocol::Reply command. Change-Id: I75a89605b2cc3fe2f2f841d8e3159fc8aea65d77 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Set correct permissions for ini filesNiels Weber2015-01-261-0/+2
| | | | | | | | | | | This is necessary due to a behavior change in QSettings/Qt 5 that now creates ini files with more restrictive permissions than before. Task-number: QTIFW-589 Task-number: QTBUG-44086 Change-Id: I296ad4b312a933cbda7dd5c1f644294f83e1850d Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Expose systemInfo APIKai Koehne2014-12-051-2/+4
| | | | | | | | | Add systemInfo as a wrapper for QSystemInfo. Task-number: QTIFW-592 Change-Id: Ib54fcea8b0ef3a397a74f5315202f3000abd63cd Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Move the KeepAliveObject class into its own source files.kh2014-12-021-2/+4
| | | | | | Change-Id: Iaf8f397bdcaa4afb5432b826aa3fe238d54193c0 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Add ComponentChecker class for verifying the internal state.jkobus2014-12-011-0/+2
| | | | | Change-Id: I3361ad6c51d5a0f3beee049237e6b370d57a8f0d Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Implement server authentication and updating repository credentials.kh2014-11-261-3/+6
| | | | | | | Task-number: QTIFW-570 Change-Id: I7b6b1fab8279331e5cb4b4da86726322b44a1109 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* Remove Qt SDK specific operationskh2014-11-181-13/+4
| | | | | Change-Id: I0a06c4b019dc6799447adef6d722be36ab3ded5d Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Remove Qt Creator specific operationsKai Koehne2014-11-181-5/+0
| | | | | | | These have been superseded by SettingsOperation Change-Id: I268f40b8246cb4735eea58650a1439e5ffbd8553 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Ask for proxy credentials in modal dialogKai Koehne2014-11-181-2/+6
| | | | | | | | | | | | If a proxy requires authentication, DownloadFileTask will throw an exception of type ProxyAuthenticationRequiredException. This exception is handled in MetadataJob to first ask the user for credentials, storing them in PackageManagerProxyFactory, and then retriggering the download. Change-Id: I0d69504d3f90d503d83c7b2229bc670756fa1463 GPush-Base: 9aeb0197e58d630ef7e657bb05671d6ec7b3f5ec Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Move the uninstallation calculations into UninstallerCalculatorjkobus2014-10-101-2/+4
| | | | | Change-Id: I1b398815414430c2fab9a5c611b44e3a92c2fb39 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
* Move InstallerCalculator into its own headerkh12014-10-061-2/+4
| | | | | | | Make it public, so that it can be used outside (e.g. in tests) Change-Id: I2a307dcd6f2eb017f9ac26de06d77deb0d668fbe Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
* Implement progress indicator on taskbar on Windows.kh12014-09-111-0/+1
| | | | | | | Task-number: QTIFW-15 Change-Id: Ia11c185f25dff2f1614425ec5ff78e79b2fa2a77 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Rewrite binary layout read/ write implementation.kh12014-09-041-2/+4
| | | | | | | | | | Move BinaryLayout into its own file. Calculate the segment offsets in place instead of letting the caller do the work. Adjust autotest to match the new behavior. Adjust uses to the new behavior. Change-Id: Iba7a4398bd097f1768c33f0c528efd12b7458541 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Move class BinaryContent into its own file.kh12014-07-151-2/+4
| | | | | | | Prepare for QTIFW-292 and QTIFW-345. Change-Id: I938b5aa728e8f81eb9521df5753ad80ac630d96e Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* Move updater class into sdk binary and rename to UpdateChecker.kh12014-07-151-2/+0
| | | | | | | | | | | | | Remove some now superfluous methods from binary format. Adjust initializing some objects as we need them not earlier. Unify implementation of accessing the right binary to read the content from. UpdateChecker does now have its own run checker, makes it possible to run the binary even if a e.g. maintenace tool is already running. Change-Id: I94f32f7f38b62b5aee433753abc2fe72e879ddc9 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Introduce developer tool.kh12014-07-111-2/+0
| | | | | | | | | | Supports dump binary content, run operation and update existing binary with new installer base. The support for starting with binary data of a different installer got dropped completely, use update and run instead. Change-Id: I41073d0bfc9a4c4da18fbb9f49fd3e65bb54b501 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Remove unused class.kh12014-07-111-2/+0
| | | | | | | | | It was introduced and put into the lib for an example we do not have anymore. It's also something an application should implement rather then the library. Change-Id: Ieed1e63eed2f756326f608c4fc9680cc1df1c916 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
* Split out the file IO stuff and adjust other files respectively.kh12014-06-241-2/+4
| | | | | | | | | Also adjust the API to use QFileDevice instead of QIODevice to make clear we just operate on files here and not on any possible device like sockets, processes etc... Change-Id: I4ecbb6e244fe4bb666ed12e62f9f5586bc1347f0 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix AdminAuthorization implementation.kh12014-06-191-1/+0
| | | | | | | | | - execute() does the magic of getting privileges and starting the process - hasAdminRights() simply returns if we started privileged.. Change-Id: I0940a02556fe240af0ee7dfb068f7f8009eb683e Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* Replace client-server classes and update implementations.kh12014-06-031-5/+0
| | | | | | | | | | Remove superfluous file engine tests. Introduce auto test for newly added client server classes. Fix some wrong implementations serverside for settings array handling and broken arguments in process wrapper. Replace all other parts that with new implementations. Remove now unused classes. Change-Id: I6f9e836993096a2c2c06b06f2b06d7aa4b287e56 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* Introduce new classes for client-server communication.kh12014-06-031-3/+17
| | | | | | | Still based on what we had already, though more separated. Change-Id: I4cce298003a4ffc2ebcec01fea1a07adfbfdf990 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com>
* Replace script with js engine.kh12014-06-031-2/+3
| | | | | Change-Id: Ic9c88e27dca1e936ba09a3776df3df7ec166c606 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* We need to have these files in the include list too.kh12014-06-021-1/+2
| | | | | Change-Id: I9da3f099d154d2d610179b5b181ecec58b9b3a2a Reviewed-by: Niels Weber <niels.weber@digia.com>
* Merge remote-tracking branch 'origin/1.6'Oswald Buddenhagen2014-06-021-2/+0
|\ | | | | | | | | | | | | | | | | | | Conflicts: dist/config/config.xml dist/packages/org.qtproject.ifw.binaries/meta/package.xml dist/packages/org.qtproject.ifw/meta/package.xml installerfw.pri Change-Id: I32a2a17b8fd7dc0f1f9c12272fc5f814ea5d86cb
| * Cleanup. Remove some unused and broken code.kh12014-05-141-2/+0
| | | | | | | | | | Change-Id: I6b1c9b4cd406da91c6642a9cad0e225d8473df20 Reviewed-by: Niels Weber <niels.weber@digia.com>
* | Cleanup to support Qt5 only.kh12014-06-021-5/+4
|/ | | | | Change-Id: Ib8f61229ce2f07e52c22a15e10dc817aca860ead Reviewed-by: Niels Weber <niels.weber@digia.com>
* Slightly faster version of asynchronous metadata download.kh12014-02-031-6/+5
| | | | | Change-Id: I63793529eeebfd3ea0a325cabe79d646015dc3bc Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* QFuture based asynchronous Task implementation.kh12014-01-221-2/+15
| | | | | Change-Id: I538a2fc40b67d6d27f120afe3705065ab98f8f99 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* Implement factory to be able to insert pages dynamically.Tim Jenssen2013-11-251-2/+4
| | | | | | Change-Id: Ic358a820148670da85a1b374abd08103eaa995de Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* Move TestRepository from sdk to own file in installer libSamuli Piippo2013-11-201-2/+4
| | | | | | | | Moved the class to installer lib so it can be reused in ProductKeyCheck as well. Change-Id: I8b207f4816505671fa05ebf602895978e04d13e9 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* add new settingsoperationTim Jenssen2013-11-141-2/+4
| | | | | Change-Id: I3c05c51241a19304b43c0fc4f1306b36b6a84c86 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>