summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Restructure logging utilitiesArttu Tarkiainen2021-02-041-2/+3
| | | | | | | | | | | | | | 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>
* Add support for setting minimum wizard dimensions in config.xmlArttu Tarkiainen2021-02-041-1/+10
| | | | | | | Task-number: QTIFW-1903 Change-Id: I4d8eaf71a1a63dfbfa75ea61af728fa1f5e3e9f3 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Make LicenseAgreementPage license list & details browser user-resizableArttu Tarkiainen2021-01-261-7/+10
| | | | | | Task-number: QTIFW-1987 Change-Id: Ide5a8b6912f96981de2fa79e02013d13bb17b43f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix wizard page addition before ComponentSelectionPageKatja Marttila2021-01-201-3/+0
| | | | | | | | | | | | Wizard page was not able to be added in front of ComponentSelectionPage from script as ComponentSelectionPage was forced to be shown after IntroductionPage in maintenancetool. Removed the forced value so that installer can decide the next page according to nextId. Task-number: QTIFW-1168 Change-Id: I8c13b7f49f0364f777b1fcabf35796bb71fd7016 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Replace usage of derived LazyPlainTextEdit class with QTextEditKatja Marttila2021-01-151-1/+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>
* Provide tooltip texts for buttonsArttu Tarkiainen2021-01-151-0/+3
| | | | | | | | | | | The standard buttons in WizardButton enum (Back, Next, Cancel...) were omitted as they are quite self explanatory. Task-number: QTIFW-2073 Change-Id: I4a6257d2f772c781f4bbc505c03ed289cbf4f36c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Change 'license agreement' -radiobutton to checkboxKatja Marttila2021-01-141-7/+7
| | | | | | Change-Id: I0884b9351030e3b50a6fb2bdd6234101002e5ca6 Reviewed-by: Niels Weber <niels.weber@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add highdpi support for watermark, banner, background and pagelistpixmapsKatja Marttila2021-01-141-39/+27
| | | | | | Task-number: QTIFW-2084 Change-Id: I4047457aae9709819f1a19ec9c74c5a88e9b7e7c Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add high dpi image support for Logo and ProductImagesKatja Marttila2020-12-211-1/+4
| | | | | | | Task-number: QTIFW-2061 Task-number: QTIFW-2060 Change-Id: Idaabb6a08f5e52aa7808de4b3ad541ae47dc4dd8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.0' into masterKatja Marttila2020-12-071-1/+1
|\ | | | | | | Change-Id: I3d61fa9873ef3f2258fd03091dea94e9e4961c0a
| * Fix wrong color in sidewidget text4.0.1Arttu Tarkiainen2020-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | Do not remove Qt::ItemIsEnabled flag from all unvisited pages as we may have skipped some. Instead do this for all pages which's id is greater than the current one. Task-number: QTIFW-2059 Change-Id: Ia66de5e1a376d33179cfee3eb7395248407aa4f1 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Remove 'Reject Licenses' radio buttonKatja Marttila2020-12-021-20/+0
| | | | | | | | | | | | | | | | | | One radio button is enough, by selecting 'Accept Licenses' the 'Next' button is enabled. Task-number: QTIFW-2057 Change-Id: I0db0fb2e85644528b4a2b4304903549d0a91ecbf Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Arrange licenses and filter duplicatesJarkko Lehtoranta2020-11-061-6/+20
| | | | | | | | | | | | | | | | | | | | | | - Add a "priority" attribute to the "License" element used in "package.xml" for arranging licenses by priority in the LicenseAgreementPage and in CLI. Priority >0 shows the license on top of others. - Arrange the licenses with the same priority alphabetically - Filter duplicate licenses from the LicenseAgreementPage and from CLI Change-Id: I1dcacdd417d2383b8dc18149e4de329fbf11cfe8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Remove unused code blocks and functionsKatja Marttila2020-11-041-1/+1
|/ | | | | | | | Results analyzed using cppcheck tools. Also add Q_DECL_OVERRIDE to overwrited functions. Change-Id: Iab5eb43206af0050c1dd84efb7ed860ab9594496 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Enable scroll bars on side widgetArttu Tarkiainen2020-09-221-4/+4
| | | | | | | | | | If the dynamic page list becomes too long to fit the current window height, enable scrolling instead of forcing the user to resize the window. Task-number: QTIFW-1966 Change-Id: Ifc1f1424d3e626c5378a1ed65194489387ad0bed Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Fix documentation warningsTopi Reinio2020-09-161-36/+21
| | | | | | | | | These changes fix many of the documentation warnings when building with a recent version of (Clang-integrated) QDoc. Change-Id: I5714635a25707cd7ab7bec209fa043a95f0b9832 Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Page list widget enhancementsArttu Tarkiainen2020-09-111-5/+11
| | | | | | | | | | | | - Add support for a configurable image shown on top of the page list. - Add missing object names for easier object reference, for example when using stylesheets. - Remove the vertical line separating side widget as this looks particularly ugly on custom styles. Task-number: QTIFW-1939 Change-Id: I16e17e72163068381f54491f7fbe965eb4c5295d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Allow setting BackgroundPixmap shown on MacStyle regardless of platformArttu Tarkiainen2020-08-311-2/+1
| | | | | | | Task-number: QTIFW-1175 Change-Id: Ifa8af022741e8f38c0692845f6fd0cf08181f0b4 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix crash when fetching categoriesKatja Marttila2020-08-261-0/+18
| | | | | | | | | | Component scripts are re-evaluated when new categories are fetched. Remove refereces to already added custom widgets from pages as those are re-added when scripts are re-evaluated. Task-number: QTIFW-1928 Change-Id: Iad52232920eaf3859d710d6fe06e80eeee90797d Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add support for vendor set image decorationArttu Tarkiainen2020-08-251-0/+31
| | | | | | | | | | | | Add possibility to show an arbitrary number of product related, or other images on PerformInstallationPage. These can be specified in the installer configuration file, using <ProductImages> element with one <Image> child element for each file name. Task-number: QTIFW-1900 Change-Id: I2be727d9189963ef1a79046150111dd8c91153c6 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add verbose levels and cleanup log categoriesKatja Marttila2020-08-241-11/+11
| | | | | | | | | Setting several verbose switches enables more logging and performs component checking. Also cleanup some logging categories and unify the rules. Task-number: QTIFW-1914 Change-Id: I9195f4bb02affaa87e66cf9023a3512e65e0645b Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Documentation fixesKatja Marttila2020-07-031-0/+6
| | | | | | | | Added missing documentation and fixed warnings. KDUpdate documentation not added in this commit. Change-Id: Idc0b167bed95b7ae4a46a350290fdb241aa94448 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add possibility to add custom widget from script to certain positionKatja Marttila2020-06-251-4/+21
| | | | | | | | | | | If several custom widgets are added to same page, the order of the widgets is arbitrary. Added a new member to addWizardPageItem which can define the position of the widget in the page, relative to another custom widgets. Non-custom widgets are always placed on top as before. Task-number: QTIFW-1847 Change-Id: Iadafef3a08e60a8b05b959cb06caea2a2042b419 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add possibility to select/deselect component from script using coreKatja Marttila2020-06-251-6/+2
| | | | | | | | | We might not have componentselection page visible, so we need a possibility to select/deselect components also using core. Task-number: QTIFW-1847 Change-Id: I85ccf0602144f843c15ef7c0818ba435d36bdac5 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add a page list widget to installer wizardArttu Tarkiainen2020-06-111-3/+170
| | | | | | | | | | | | | | | | | | | | If an installer is configured with <WizardShowPageList> set to true (default), a QListWidget set as a side widget for the wizard will be shown. The list should indicate completed and incomplete pages and the current wizard page. User navigation is not enabled in this change. The page list should honor the visibility of individual pages and update itself dynamically. In addition the visibility of a page in page list widget can be set internally with setShowOnPageList() which overrides other factors when hiding a page. The page item title shown on the list can be set internally with setPageListTitle() for the PackageManagerPage object, or the item can alternatively use the normal page title and the object name. Task-number: QTIFW-1755 Change-Id: I8a792d957a10e2176de5f42f29b1282e8e7667db Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Refactor maintenance tool writing conditionsArttu Tarkiainen2020-06-101-4/+1
| | | | | | | | | This change fixes a bug caused by a blocking runInstaller() call in PerformInstallationPage::entering() and also contains refactoring to related parts of code. Change-Id: Ic3309707c1f975a646937aa96fc407a3e5931359 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add function to enable button click with objectnameKatja Marttila2020-06-041-0/+14
| | | | | | Task-number: QTIFW-1707 Change-Id: I8574ef96df6a00e577549342d4a4336207dcd9ec Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix shortcut creation when installing from CLIKatja Marttila2020-04-091-1/+1
| | | | | | | | | | | Change default button from Retry to Cancel if operation fails to avoid infinite loop when running from command line interface. Added also unit tests for shortcut operation. Task-number: QTIFW-1666 QTIFW-1710 Change-Id: I171b6aecd9886acce0051b7082842f8f76b22046 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Separate maintenance tool writing for testing purposeKatja Marttila2020-03-201-8/+11
| | | | | | | | | Some unit tests wont work as installer wants to unpack maintenance tool from the installer. As unit tests are not normal installers we need to separate the maintenance unpacking when running tests. Change-Id: I5f2bb60e775a42d1b8dd6ee088ff4f2a694a7a09 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Merge remote-tracking branch 'origin/3.2' to masterKatja Marttila2020-03-161-91/+4
|\ | | | | | | Change-Id: Ia4cf718409ce431cce8d766865ecec506426afb9
| * Add command line option to disable checking of free space on target3.2.2-rcArttu Tarkiainen2020-02-271-89/+4
| | | | | | | | | | | | | | | | | | | | Also move functionality to PackageManagerCore::checkAvailableSpace() for more convenient later usage, if we want to use this without starting the Wizard GUI. Task-number: QTIFW-1602 Change-Id: I4f2d3cc78bc542475fe9c51b9364b1b221098e4a Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Add command line option to start the installer binary as uninstallerArttu Tarkiainen2020-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add option "--uninstaller" to start the installer binary explicitly as uninstaller. This complements options "--updater" and "--manage-packages". Add convenience functions for setting and checking if the magic binary marker has been set by the user. Task-number: QTIFW-1639 Change-Id: Ie40ba9c56e09be079e309bca985b19a8a7bef7ef Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | CLI: decrease the amount of default debug printsKatja Marttila2020-02-201-12/+12
| | | | | | | | | | | | | | | | | | | | Debug prints can be suppressed or extended with logging rules. Make the default usage so that only relevant information will be shown to user, such as uninstall/install progress, server information, warning messages and package name, version and displayname. Change-Id: I09be754a36dd97530d75cdea3edb5fc77e67a856 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Change IntroductionPage radio button handling in maintenance toolArttu Tarkiainen2020-02-181-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If magic binary marker is set to either updater or package manager, act as before. If the marker is set to uninstaller (default for maintenance tool), decide the default checked button based on if any valid repositories are available - a prerequisite for package manager and updater actions to succeed. If repositories are available the default is "Add or remove components", otherwise "Remove all components". Modify validRepositoriesAvailable() implementation to suit this change and better match its function name. Task-number: QTIFW-349 Change-Id: Idf92ad3a2b294cc1ecb939d716f2852ad1872f15 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Use of QLoggingCategoryKatja Marttila2020-02-131-18/+25
| | | | | | | | | | | | | | | | The change enables easier filtering of log messages Change-Id: I769f7c163e20f34c37fa0fe2b0729867ffca5bcb Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Merge remote-tracking branch 'origin/3.2' into masterKatja Marttila2020-01-161-6/+22
|\| | | | | | | Change-Id: Ie42b694119ecaa59c9df4aa0253663107ef0c68c
| * Fix QWizardPage title colorKatja Marttila2020-01-141-5/+3
| | | | | | | | | | | | | | | | | | | | Title color can be given in config.xml with tag TitleColor. If tag is not set, set title color to empty string so correct default title color is used from palette. Task-number: QTIFW-1557 Change-Id: Ic0c808127203c1a70f8183627ac846229223076c Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
| * Documentation fixesKatja Marttila2019-12-171-1/+19
| | | | | | | | | | Change-Id: Ibffb5470d374c8d612791f48c951deddd00f3121 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Install selected packages from CLIKatja Marttila2019-12-041-153/+3
|/ | | | | | | | | Also move targetDirWarning() from targetdirectorypage to packagemanager and move target directory check to checkTargetDir() function so that those are accessible also without UI. Change-Id: Ia38cc7e66bb542e6a60fea2c39cc3b80735564ef Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Update usage of Apple-related terminologyArttu Tarkiainen2019-08-161-5/+5
| | | | | | | | | | | Replace deprecated Q_OS_OSX macro used in several places with the newer Q_OS_MACOS. Old style reference of Apple's desktop operating system name as "OS X" in documentation and files are also replaced with "macOS" where applicable. Task-number: QTIFW-1406 Change-Id: I0561d5e0d964917ac4fca0702d58a06b85d30e57 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>
* Maintenance Tool: Change text in Select Components view when selection of ↵Arttu Tarkiainen2019-05-021-1/+3
| | | | | | | | | 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>
* 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>
* Hide category widgets in updater modeKatja Marttila2019-01-091-1/+3
| | | | | | | | | | 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>
* Replace 0 with nullptrKatja Marttila2019-01-091-22/+22
| | | | | | | Prevents a lot of warnings seen in QtCreator Change-Id: I63bf95aca68a04fc9fd0eecbe29c63e9b9c47efd Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Merge remote-tracking branch 'origin/3.0' into masterKatja Marttila2018-12-101-0/+15
|\ | | | | | | Change-Id: I73cb43e090c6ff34f1ceb774490d01818465e2e0
| * Register virtual component for uninstallKatja Marttila2018-11-061-0/+15
| | | | | | | | | | | | Task-number: QTIFW-1102 Change-Id: I5033f095eece1f1e588c00f518cf7d9d046c2003 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix wizard's maximum sizeKatja Marttila2018-11-131-0/+9
| | | | | | | | | | | | | | | | | | | | 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>