summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* 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>
* | Merge remote-tracking branch 'origin/2.0'Iikka Eklund2016-01-201-5/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Fix target directory check for reserved words on WindowsAndy Shaw2015-12-071-1/+1
| | | | | | | | | | | | | | | | | | If the directory starts with "Con" etc then it is still ok to use, it is only if it is /Con or /Con/ that it is not allowed. So the extra check to be sure has anything after the reserved part is included. Change-Id: I72e0e0f98167f29da54cb627e75cd1814c3f9706 Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
* | Optimized checking validity of target directory value on WindowsFrerich Raabe2015-12-091-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Remove implicit expanding vertical spacer from dynamic pagesFrerich Raabe2015-12-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | This change is backwards incompatible in that it may have a negative impact on the layouting of dynamic pages, but it permits creating dynamic pages which allocate the entire vertical space of the page, e.g. custom license text viewers. Change-Id: I5981450366a1d58f01315192bb29f6ae29b7dbd4 Task-number: QTIFW-779 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Allow to use the stylesheet to customize UIDenis Shienkov2015-09-281-0/+13
| | | | | | | | | | | | | | | | | | | | Now it is possible to set a stylesheet file to customize the wizard's UI. The stylesheet adds to the config.xml file using the new "StyleSheet" element. Change-Id: I66271f755a0f742e96cf433fe557423a2261e432 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* | add silent modeChristoph Vogtländer2015-07-171-0/+19
| | | | | | | | | | | | | | | | | | | | 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>
* | Rename files. Remove {kd} prefix. Remove {kdupdater} prefix.Karsten Heimrich2015-07-141-1/+1
| | | | | | | | | | Change-Id: I88c93cab718f4659296d5f7f562beefd747a366f Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* | Sanitize QDebug outputKai Koehne2015-07-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Prefer using the stream operator logic instead of using QString::fromLatin1. Add a noquote() where a QString should be printed without any quotes/escapes. This also fixes the tests with Qt 5.5, where QString's are further escaped. Change-Id: Ie3afd14b9355101d3c0b52f30f66ec759c76526c Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Unify translated error messagesKai Koehne2015-06-241-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | * Enclose file paths in "" * Localize file paths with QDir::toNativeSeparators. * Make sure sentences end with a '.' * Append error details always by ':', e.g. tr("Failed to copy file '%1': %2").(...) * Use 'directory' instead of 'folder' everywhere Change-Id: Ie045f429f72ad5045c96537465c5fb9d2e99d250 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Convert to Qt 5 connect syntaxKai Koehne2015-06-151-78/+94
| | | | | | | | | | | | | | | | | | | | | | | | Convert to new signal/slot syntax where it does not make things more complicated: connections where the signal or slot is an overloaded method, or where the receiver method is not in a QObject, are left alone. The new syntax allows compile-time checking of the connection. Change-Id: I2cc3c93b9812797bd67f64a8728569491eeec668 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* | Merge remote-tracking branch 'origin/2.0'Kai Koehne2015-06-041-12/+25
|\| | | | | | | | | | | | | Conflicts: src/libs/installer/packagemanagercore.cpp Change-Id: Ie3d94fe3a633e189c260bf20682c00a2bb901bc8
| * Doc: link from gui C++ docs to scripting docsLeena Miettinen2015-05-081-12/+25
| | | | | | | | | | | | | | Remove duplicated text, where possible. Change-Id: I6e5e81ab151817d76d53f7137e5183b12bdb04af Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Add constant and make use of it.Karsten Heimrich2015-05-081-1/+1
| | | | | | | | | | | | Change-Id: I3d244f112e39a57dfa769bb6a786f62b607d9b3c Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Christoph Vogtländer <c.vogtlaender@sigma-surface-science.com>
* | Enable feature live preview of dependenciesjkobus2015-05-071-1/+1
| | | | | | | | | | | | | | | | | | This feature is available after setting InstallActionColumnVisible property to true inside config.xml Change-Id: I5071d5c5c4562100a96530c581de01760ca0d2d5 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Merge remote-tracking branch 'origin/2.0'Kai Koehne2015-04-211-12/+21
|\| | | | | | | | | | | | | Conflicts: Changelog Change-Id: Idd7d569f97fba75b05bfc006c7a5b0b9cf8ccf73
| * Fix crash on exit for Windows XP, VistaKai Koehne2015-04-091-12/+21
| | | | | | | | | | | | | | | | | | The destructor of QWinTaskBarButton until Qt 5.4.2 crashes on exit if the OS is older than Windows 7. Task-number: QTIFW-652 Change-Id: Icd0255f79f7339937f129cddce7291997d652f72 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Show title in cancel dialog.Niels Weber2015-03-261-1/+1
| | | | | | | | | | Change-Id: Icb7ea0a78dc6b22cfea834a3d24784178b8c0b20 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Merge remote-tracking branch 'origin/2.0'Kai Koehne2015-03-171-1/+2
|\| | | | | | | Change-Id: I3b38821be20c02d41d9db1c5eee78be1502cba6b
| * Don't show "safety" space on Ready for install pageNiels Weber2015-03-131-1/+2
| | | | | | | | | | | | | | | | | | | | This confused people as it is a different size than what is shown on ComponentSelection page. Change-Id: I3d20250f79b96312bceafb42277452bad7c15465 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* | Merge remote-tracking branch 'origin/2.0'Kai Koehne2015-02-261-18/+634
|\| | | | | | | Change-Id: I962f4f19909c06e1da03c14072b15f97de02a07d
| * Doc: Add docs for QInstaller::PackageManagerGui classesLeena Miettinen2015-02-251-3/+617
| | | | | | | | | | Change-Id: I2ae0a5b80c22b344d19653bb0dfd6ee71e1b3507 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
| * Update CopyrightKai Koehne2015-02-181-7/+7
| | | | | | | | | | Change-Id: I8dde6629cfd461104364d5cdc255cb54b58283fa Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
| * Doc: add docs for arguments and return valuesLeena Miettinen2015-01-301-1/+1
| | | | | | | | | | | | | | | | To get rid of QDoc errors. Change-Id: I4932f1f3ff5fab87eebf24536d63be550582b195 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * Doc: edited PackageManagerGui docsLeena Miettinen2015-01-291-5/+6
| | | | | | | | | | | | | | Fixed grammar, writing style, and QDoc command issues. Change-Id: Ib2fd4e09793943248a6ec8bc6d73e94fd47b5d59 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
| * Fix the invocation order of entering() and page callbackjkobus2015-01-271-2/+2
| | | | | | | | | | | | | | Task-number: QTIFW-620 Change-Id: I1a40aae35dc1c259a96043a1056aa631bf7279b2 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * Fix a crash in testDynamicPage of scriptengine testjkobus2015-01-231-0/+1
| | | | | | | | | | | | Change-Id: I9fcb599c9b14162d0aa86aad0834737e28203939 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Introduce isMaintainer() methodjkobus2015-01-261-10/+9
|/ | | | | | | Prepare for unification of updater and packageManager. Change-Id: Iac9ac109ac5e6cf1309d5739ecee03bdfb1e2934 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Include application size only in case of installer.jkobus2015-01-201-1/+1
| | | | | | | | | | | When createLocalRepository option was specified, include the size of application only for the very first installation (isInstaller()) and omit it in other cases. Change-Id: I3bb248cb1436c16e570140e8d70ebf5cba2c37e5 Reviewed-by: Christoph Vogtländer <c.vogtlaender@sigma-surface-science.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Introduce InstallAction property for componentjkobus2015-01-191-1/+19
| | | | | | | | | | Fixes calculation of component size inside maintenance tool. Don't manipulate check state of components while calculating dependencies. Prepare feature: live preview of dependencies. Change-Id: I0485df8383bc9149a996456e09878fc5676bb27b Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix focus handling on the FinishedPagejkobus2015-01-161-36/+25
| | | | | | | | | | 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-20/+0
| | | | | | | | | | | | | 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>
* Simplify registration of objects into script engineKai Koehne2015-01-071-7/+8
| | | | | | | | | | | | Rename addQObjectChildren, removeQObjectChildren methods to addToGlobalObject, removeToGlobalObject, and merge the augmentation of the properties with newQObject. Also, don't recursively register all objects with their objectNames in the global scope. This avoids name pollution. Change-Id: I28f1bc67e6febecc7b5142982c918432b61ed96f Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>