summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.h
Commit message (Collapse)AuthorAgeFilesLines
* Change 'license agreement' -radiobutton to checkboxKatja Marttila2021-01-141-1/+1
| | | | | | 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-3/+1
| | | | | | Task-number: QTIFW-2084 Change-Id: I4047457aae9709819f1a19ec9c74c5a88e9b7e7c Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Remove 'Reject Licenses' radio buttonKatja Marttila2020-12-021-3/+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-1/+1
| | | | | | | | | | | - 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>
* Fix crash when fetching categoriesKatja Marttila2020-08-261-0/+1
| | | | | | | | | | 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/+3
| | | | | | | | | | | | 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 possibility to add custom widget from script to certain positionKatja Marttila2020-06-251-1/+3
| | | | | | | | | | | 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 a page list widget to installer wizardArttu Tarkiainen2020-06-111-1/+16
| | | | | | | | | | | | | | | | | | | | 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>
* Add function to enable button click with objectnameKatja Marttila2020-06-041-0/+1
| | | | | | Task-number: QTIFW-1707 Change-Id: I8574ef96df6a00e577549342d4a4336207dcd9ec Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Change IntroductionPage radio button handling in maintenance toolArttu Tarkiainen2020-02-181-0/+2
| | | | | | | | | | | | | | | | | | | | 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>
* Install selected packages from CLIKatja Marttila2019-12-041-2/+0
| | | | | | | | | 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>
* Merge remote-tracking branch 'origin/3.0' into masterKatja Marttila2018-12-101-0/+1
|\ | | | | | | Change-Id: I73cb43e090c6ff34f1ceb774490d01818465e2e0
| * Register virtual component for uninstallKatja Marttila2018-11-061-0/+1
| | | | | | | | | | | | Task-number: QTIFW-1102 Change-Id: I5033f095eece1f1e588c00f518cf7d9d046c2003 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix wizard's maximum sizeKatja Marttila2018-11-131-0/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Refactor component selection pageKatja Marttila2018-10-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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-0/+1
|/ | | | | | | | | | | | | | | | | | | | 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>
* Add progressbar to indicate unzip job is proceedingKatja Marttila2017-05-101-0/+1
| | | | | | | | | | | When a big compressed package is unzipped, it seemed that the installer hanged as there was no indication that the job is still ongoing. Added undetermined state to progress bar as unzip job does not inform the progress state. Task-number: QTIFW-967 Change-Id: I21ca394e1856038c51413f9e5011307ae7a9850a Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Merge remote-tracking branch 'origin/2.0'Katja Marttila2017-01-301-17/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/installer/lib7z_create.h 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 src/libs/kdtools/localpackagehub.cpp src/libs/kdtools/localpackagehub.h src/libs/kdtools/updatefinder.cpp src/libs/kdtools/updatefinder.h tools/binarycreator/resources/mkdmg.sh Change-Id: Iab2513f549832d2e750e77131c673457ab265af4
| * License header update to GPL-EXCEPTKatja Marttila2017-01-261-17/+12
| | | | | | | | | | Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1 Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
* | Introduces new --silentUpdate command line optionKatja Marttila2016-11-151-3/+0
| | | | | | | | | | | | | | | | | | With this feature one can update all installed components silently with maintenancetool by passing --silentUpdate parameter Change-Id: If31d37ce24e794775c2fe47b603259da133c9ee7 Task-number: QTIFW-906 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | allow installing compressed packagesKatja Marttila2016-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces new feature to add 7z packages to be installed. Packages must be installer repositories (created with repogen), compressed to 7z file and named as qtbsp or 7z. Selecting compressed package is done either with button in component selection page or with --installCompressedRepository parameter given to installer or to maintenancetool. Button will not be created by default. If you want to show the button either build IFW with DEFINES+=INSTALLCOMPRESSED or enable the button in control script with allowCompressedRepositoryInstall() in ComponentSelectionPageCallback Task-number: QTIFW-886 Change-Id: Ia060092c348991d5195393b7dc154205f8bf92a5 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Introduced gui.setTextItems() methodFrerich Raabe2016-06-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This utility function can be used to populate a Qt control which is backed by some QAbstractItemModel with a list of strings. E.g. this can be used to populate a QComboBox or any QAbstractItemView with some items. This is very useful since in many cases, the methods for adding elements to such controls are neither slots, nor marked with Q_INVOKABLE and such unreachable from the script code. Change-Id: I2195f41e53765ef3a798477ed08d8f09ab5c4379 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Iikka Eklund2016-01-201-4/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Update license headersIikka Eklund2015-12-291-4/+3
| | | | | | | | | | | | | | | | | | Update existing license headers. LGPL -> LGPLv21. Update copyright year as well. Change-Id: Ie1d71f8c68186b8f625f409ddf94691f178093c9 Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* | Optimized checking validity of target directory value on WindowsFrerich Raabe2015-12-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDir::drives() was called on every key press to check whether the specified drive letter is valid. Alas, this function is quite expensive on Windows in case there are network drives. In my local tests, a single call to QDir::drives() would take about 300ms per call (i.e. 0.3s per key press). This made typing text feel very sluggish. I first considered fetching the list of drives up front (e.g. when starting the installer) but this won't handle cases nicely where drives are added/removed while the installer is running - e.g. USB devices. Instead, let's use a cooldown timer: only bother checking the entered path if there was no keypress for some specific time (right now: 200ms, a value which is based on highly scientific experiments). In addition to that, also make sure to check the validity when trying to navigate to the next page -- this takes care of people typing and hitting Return quickly. Change-Id: I35e83fff2fd095765ab1b00b44ac1b8bf495af98 Task-number: QTIFW-673 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | add silent modeChristoph VogtlÃĪnder2015-07-171-0/+3
|/ | | | | | | | | | Add possibility to run silently without a gui. Silent mode can be enabled in a controller script using gui.setSilent(true). Change-Id: I5c5d0cc2be734e8e447edfe4e71106fe08f87188 Task-number: QTIFW-166 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* Update CopyrightKai Koehne2015-02-181-7/+7
| | | | | Change-Id: I8dde6629cfd461104364d5cdc255cb54b58283fa Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Fix focus handling on the FinishedPagejkobus2015-01-161-5/+7
| | | | | | | | | | Simplify entering() / leaving() implementation for wizard pages, above methods are now called a bit later, when the new page is already visible. Calling setFocus() inside entering() should work properly right now. Change-Id: Ic5d194f074cc4b1fc419c7be70563e105e644957 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Fix objects returned by gui methodsKai Koehne2015-01-081-12/+9
| | | | | | | | | | | | | We need to make sure objects like pageWidgetByObjectName are augmented too (so that one can access child objects). This is achieved by a proxy object that augments all raw QObject * and QWidget * return values. This fixes e.g. the dynamicpage example. Task-number: QTIFW-605 Change-Id: If26dc59220946a7445ef0f9ec7caa15e5b04eaa8 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Expose findChild, findChildren methods to JSKai Koehne2014-12-101-0/+3
| | | | | | | | Re-add the findChild, findChildren methods known from Qt Script. Change-Id: I3db6be53ccd89a09b2c7de14ba7f96ebb26dbdbb Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Add possibility to specify a control script.kh2014-12-101-5/+2
| | | | | | | | | | | | | Right now we support control scripts just as command line argument, but now we can also bundle it in the binary as well. This helps e.g. with running scripts during uninstallation, enables the possibility to modify the introduction page or enables headless installer builds. Task-number: QTIFW-495 Task-number: QTIFW-166 Change-Id: I6fee6a55db78ed28b1eeb8257a4febaa2703c04e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* IntroductionPage: Fix typosKai Koehne2014-12-101-1/+1
| | | | | Change-Id: I51fb96ed8be188d37c549924118a87ceaf64f7e5 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Add LGPLv3 as new licenseKai Koehne2014-10-161-14/+7
| | | | | | | Change-Id: I61158f956894e209dccf83744b4753774676099d Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Remove unused signaljkobus2014-10-101-1/+0
| | | | | | Change-Id: Ia5c34b537e410997a98a11a90e207acf914bea98 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Implement progress indicator on taskbar on Windows.kh12014-09-111-0/+5
| | | | | | | Task-number: QTIFW-15 Change-Id: Ia11c185f25dff2f1614425ec5ff78e79b2fa2a77 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix indent.kh12014-09-101-1/+1
| | | | | Change-Id: I809f2b2cdeef8c4bfa5918f4a77ab332c69f3b8f Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
* Don't modify commitPage property, use setComplete insteadjkobus2014-08-281-2/+0
| | | | | Change-Id: I7a81d5736d3196731b0f77fbc977950a934bc846 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* Show the details text box when dependencies are not met.jkobus2014-08-271-1/+1
| | | | | | | | This was broken in change 2f5c612538984122018e118b506119dd0e2a2e6e It stopped working when verbose (-v) option was not provided. Change-Id: I1f269faf9b8ce14cd40508c5f7622504fb3f373d Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Toggle details on ReadyForInstallation page with verbose modeNiels Weber2014-07-251-4/+0
| | | | | | | | | | | | Removed the Details button, as it only confused people, especially with the internal component names being shown there. As it is essentially debugging output, it should be toggled with the verbose switch, as is the rest of the debugging output. Task-number: QTIFW-140 Change-Id: I23dc5bd033a52cffc7cf811b6ec886a9db3a6a63 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* Merge IntroductionPage and IntroductionPageImpl.kh12014-04-261-2/+42
| | | | | Change-Id: Ib8a08779979ccde42dab8a1bd83b27a24f318de0 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Merge TargetDirectoryPage and TargetDirectoryPageImpl.kh12014-04-241-1/+7
| | | | | Change-Id: I613dbcb431452729bb672b5546e4108c0f613299 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* Provide an API to get all wizard pages from java script.kh12014-04-241-2/+5
| | | | | | | Task-number: QTIFW-477 Change-Id: Ic83df19d20ce310e3e295de929020182e1878273 Reviewed-by: Niels Weber <niels.weber@digia.com>
* Merge remote-tracking branch 'origin/1.5'Tim Jenssen2014-01-171-3/+6
|\ | | | | | | Change-Id: I64c405bdefa700e614b9a9d8f24f490856322d04
| * Allow a page to force showing the settings button.kh12013-11-281-0/+5
| | | | | | | | | | Change-Id: I433933c7f0a398d2d7cd082db61e41507510c2ab Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
| * remove unused class forwardTim Jenssen2013-10-291-1/+0
| | | | | | | | | | Change-Id: I51d19bb2dac3ffe84f905bf187d361c04694f72d Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
| * remove slotCurrentPageChanged and call it directlyTim Jenssen2013-09-301-2/+1
| | | | | | | | | | | | | | - also renamed it to better name: executeControlScript Change-Id: Id2bb7cada2386561c2b25b158c6aa101382e5cc4 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* | Allow setting the color of page titles and subtitlesDavid Kaye2014-01-091-0/+4
| | | | | | | | | | Change-Id: I826e35536b4c337e0008fed82cfea4c3cf5cb080 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* | Allow users to select installer styleDavid Kaye2013-10-081-0/+1
|/ | | | | | | | Add a "WizardStyle" tag to config.xml that takes values "Modern", "Classic", "Aero" or "Mac" to force the style. Change-Id: Ibd6c329a6b159c202fa7a7aa535b36e00c544079 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* fix that finishButtonClicked didn't come in every caseTim Jenssen2013-08-221-0/+1
| | | | | | | | | | | - we misuse the cancel button as a finish button in the packagemanager/updater mode to have some more control if it is quited - now we connect the cancel button to the finishButtonClicked and disable the reject -> setCanceled connect for that moment Change-Id: I45182da12a5652f193b20af52262852836e29979 Reviewed-by: Rainer Keller <rainer.keller@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* add entered/left signal to pagesTim Jenssen2013-05-211-0/+3
| | | | | | | | | - Now it is possible to connect at a time were every ui thing is setuped. So changes from script side at the ui can be done then. Change-Id: I479378e1f3d3f02eda47b7ee28ced8077feab277 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>