summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* | Refactor component selection pageKatja Marttila2018-10-231-447/+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>
* | Add objectnames and rename variablesKatja Marttila2018-10-091-34/+37
| | | | | | | | | | | | | | | | | | | | We have decided to rename the archive as category. We already renamed some of the classes etc. but some variable names were still with the old name. Rename those to avoid confusion. Also add some object names so the elements are available using control script. Change-Id: I9ea50805a04acbd982eb742c906100afed86567a Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Enable usage of categorized repositoriesKatja Marttila2018-09-261-52/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Enable expanding items by defaultRiho Pihlak2018-01-031-0/+6
| | | | | | | | | | | | | | | | | | | | An item can be expanded by default in component tree by setting ExpandedByDefault to true in package.xml file. Change-Id: Ib324327cf6ef6e2dda3271e704f3ced523c6579c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/3.0' into masterKatja Marttila2017-06-201-0/+2
|\| | | | | | | Change-Id: I36894f02abbb180bec7017fa48f2cbf07cee8cdc
| * Fix Component Name visibility in maintenancetoolKatja Marttila2017-06-201-0/+2
| | | | | | | | | | | | | | | | | | | | Most likely the first QTreeView field which contains the Component Name is the most valuable. Make sure that the name has enough space in QTreeView to show the whole component name. This change prevents user to resize the Component Name field Change-Id: I5f7dc7158d2d6f9f6ed1b900eb8d312cd88c03ec Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Merge remote-tracking branch 'origin/3.0' into masterKatja Marttila2017-05-241-17/+25
|\| | | | | | | | | | | | | | | | | | | 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: Ifaac76cd06737167a908baba5e554bedddd0e5ae
| * Add progressbar to indicate unzip job is proceedingKatja Marttila2017-05-101-1/+10
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Clarify the add/remove components string to make it clearerAndy Shaw2017-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | Since there is generally confusion as to what will be installed, removed or updated the string is clarified further to hopefully make it much more clearer what will happen depending on whether it is checked or not. Change-Id: I1077b3dd3e4511e01ca64d0598942d5254e33a54 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Fix invalid QBSP installer breakKatja Marttila2017-04-241-14/+13
| | | | | | | | | | | | Change-Id: I7e0bfc2fb0dc4c5438ec2c5ce59b49eb0f0348ee Task-number: QTIFW-954 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
| * Change QBSP button nameKatja Marttila2017-04-071-1/+1
| | | | | | | | | | | | | | | | In macOS, QBSP button was taking too much space making component tree quite narrow. Shorten the button name to make more space to tree Change-Id: I92355c2a7ebe2442bdb6779454f2e6b2c01bb6e7 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Add shortcut to some widgetsJesus Fernandez2017-02-201-4/+4
|/ | | | | | | | | | | | Adds shortcut to the following widgets: * Add or Remove components * Update components * Remove all components * Quit Change-Id: I828f5efe877b62f4437ddaf89eb690572948bf43 Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro> Reviewed-by: Katja Marttila <katja.marttila@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>
* | Rename QtBSP as QBSPKatja Marttila2017-01-241-2/+2
| | | | | | | | | | Change-Id: I2537aec5d3065da78bf9b0c6970ff3b38c7d4946 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* | Fix crash at end of installer on Linux 64bitFrerich Raabe2016-11-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The installer occasionally crashed at the very end of the installation, apparently this is often triggered on Linux 64bit. It appears that this is caused by two or more threads using qDebug() concurrently: some operation still uses OperationTrace::trace() to print status output and at the same time we try to call showFinishedPage(), which uses qDebug() to print a not-so-useful message. Getting qDebug() out of the operations seems to be tough, and defining QT_NO_DEBUG_OUTPUT at build time to disable *all* qDebug() output feels like overkill, so let's fix this crash by just not printing a message in showFinishedPage(). Task-number: QTIFW-905 Change-Id: I4702eb511577148ae6cc0d32f1580d842e58e0b2 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Introduces new --silentUpdate command line optionKatja Marttila2016-11-151-45/+1
| | | | | | | | | | | | | | | | | | 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-5/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Vertical layout for LicenseAgreement pageKatja Marttila2016-06-131-4/+4
| | | | | | | | | | | | | | | | | | | | License agreement was hard to read and the title sometimes needed scrolling. Make the layout vertical so there is more room for license title and license agreement text. Change-Id: I46a9d4880b0219a2a92af19a8f17a39ba53faf6a Task-number: QTIFW-815 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix warning introduced with commit 175ffec58f9.Karsten Heimrich2016-03-231-8/+9
| | | | | | | | | | | | Change-Id: I922e572e246abfbd0647216a0134df615d36b484 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
* | fix banner sizeKatja Marttila2016-02-291-2/+9
| | | | | | | | | | | | | | | | | | | | If WizardDefaultSize was not set, banner size was zero. In this commit default banner size to page size if WizardDefaultSize is not set. Also resize banner only when it is found to avoid warning messages in console. Change-Id: If47f947b134714ae935d80bc3074226763ca8ea7 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Fixed final 'Finish' message on OS XFrerich Raabe2016-02-151-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OS X, the final page of the installer would say something like Click Done to exit the %1 wizard. However, the final "commit" button is only actually labelled "Done" when using the natie OS X style. When specifying a different style in the config.xml file, e.g. 'Modern', the commit button is labelled the same as on other operating systems: "Finish". Hence, in such cases the final message would be wrong. Fix this by not hardcoding any particular label in the message but rather querying the default button text - this works with all styles. This also required setting the text a little later (when entering the page) because only then we can safely access the pointer returned by the gui() method. Change-Id: I285c6e376c8450457fcce20941240f9e29350de7 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
* | Resize banner image to fit default installer widthSlobodan Vrkacevic2016-02-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the Modern wizard style is used, the size of the banner picture limits the width of the installer and that's a problem on high DPI displays. Scaling and resizing of the UI does not work correctly in that case. Also the WizardDefaultWidth option from config.xml is ignored completely. Let's try to solve this by resizing the banner image to fit the installers default width. This is technically not backwards compatible (existing installers may suddenly appear to be much more narrow or wide than before) but makes the installer work much better on high DPI displays in which case the fonts tends to be very big (in terms of pixels) and the banner image looks very small. If the old behavior is needed, setting the 'WizardDefaultWidth' value to be equal to the width of the banner image will do the job. Change-Id: Ib311df3bbc277c328e015c1095ae4d35663c42e1 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>