summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Update license headersIikka Eklund2015-12-29235-899/+664
| | | | | | | | | 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>
* Use QQmlV4Function to correctly get empty parameters from script.Karsten Heimrich2015-11-263-46/+56
| | | | | | | | | 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>
* Fix errors when running updates in a directory requiring elevationKai Koehne2015-08-201-2/+1
| | | | | | | | | | | | | | isWritable() is not a reliable way to check for permissions on Windows. Instead, just try to create a file. The alternative would be to set the magic qt_ntfs_permission_lookup variable to 1. Anyhow, this might slow down things and cause other regressions ... Task-number: QTIFW-746 Change-Id: I1b5637670bfcfe29966f0545ce2c6b1f663a9738 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix usage of system proxy with credentialsKai Koehne2015-08-051-1/+13
| | | | | | | | | | | | | | So far we've been using the entered credentials only for custom proxies on Windows and OS X. If one selected 'System Proxy' we asked or the credentials, but tried again without setting them. This fixes a regression introduced in 2.0, where we started to interactively ask for credentials. Task-number: QTBUG-46547 Change-Id: If059a9c68a0976db0453abdc795d9546c4b3aa4a Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Unify handling of translationsKai Koehne2015-06-304-21/+63
| | | | | | | | | | | Mimic the logic implemented in installerbase/QTranslator::load() by - using QLocale().uiLanguages() - splitting up the locales into candidates (first en-US, then en ...) - implicitly assuming the default is English Task-number: QTIFW-390 Change-Id: I294288d5fc739ebf12c93a0e1a43d613b3834721 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Init all components with proper install actionJarek Kobus2015-06-291-1/+1
| | | | | | Task-number: QTIFW-727 Change-Id: Iae9d232310370fefc0c9dca771e6b2cca6b5b433 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix: .dat file gets deleted after multiple component changes.Karsten Heimrich2015-06-111-0/+6
| | | | | | | | | | | | | | | | | | | | We can close the .dat file in maintenance mode. There is no need to keep it open since no packages are in there and resources are mapped into memory anyway. Fixes commit 7f2c98c8 that updates the .dat file on soft restart. On Windows updating did not work cause the .dat is opened and locked by the OS. To overcome locked files we run a VB script that does a deferred rename once the lock is gone, but in case of a soft restart we now did start several of them depending on the amount of restarts. That had the undesired effect of several replace/rename operations, of which only 2 "succeeded": - First script: Remove .dat | Rename .dat.new -> .dat - Second script: Remove .dat | no .dat anymore... Task-number: QTIFW-689 Change-Id: Ic3ee1b418890eabe5b854dc7879cd7bc118f9240 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix maintenance tool upgrade on OSX.Karsten Heimrich2015-06-031-0/+9
| | | | | | | | | Before rename we need to delete a possible existing file, otherwise it will fail and the installation is messed up. Change-Id: I6ade434f828f11b38c00b52eabeb1c574557ec5a Reviewed-by: Jonathan Courtois <jonathan.courtois@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* OS X: Make sure real user uid == euid in elevated modeKai Koehne2015-06-011-0/+13
| | | | | | | | | | | | | | | | | | | | This fixes a bug that prevents changing existing .ini files during an elevated installation. QFileSystemEngine::fillMetaData() on Unix uses :access() to check whether the user can write to a file, based on the real user id. Because OS X's AuthorizationExecuteWithPrivileges() does keep the original real user id also in the elevated process, QFileInfo::isWritable() was returning false for existing files, which in turn let QSaveFile, and therefore QSettings, to not even attempt to write to the file. On Linux, we use sudo to start the elevated process, which already resets the real user id by default. Task-number: QTIFW-709 Change-Id: I5bfbd631f579412045b242a08baf206a5d444500 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Doc: add docs for ScriptEngine::newArrayLeena Miettinen2015-05-271-0/+4
| | | | | Change-Id: I69462de7442612c35634cead37572db387031c3e Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Remove leftover. (signal and documentation)Karsten Heimrich2015-05-262-9/+0
| | | | | | | Change-Id: Ib735d8e7103ade0a9c31fa3d710542cafae3c8f2 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Doc: add docs for PackageManagerCoreLeena Miettinen2015-05-261-316/+498
| | | | | | | | | | | Move the scripting API documentation to a separate qdoc file. Where possible (no QDoc errors are generated), only link from the C++ API documentation to the scripting API documentation. Change-Id: I969e9afc5cd45c495e6c517b825abb9a9aabdd82 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix help output for --proxyKai Koehne2015-05-121-1/+1
| | | | | | | Actually passing --proxy has an effect on Linux, but not on OS X. Change-Id: I29a4d3945c6113d67311fdea3c700a5610075939 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix archivegen recursive include of directories with filter.Karsten Heimrich2015-05-121-6/+7
| | | | | | | | | | | | | Never pass recursive with true even if path is a directory, otherwise the path containing the file name part of the path is used as path to recurse and the actual file name is used as filter. For example: /path/to/doc -> Directory: /path/to -> Filter: doc Task-number: QTIFW-639 Change-Id: I60972eab0b34073b4c81a815ee83058df09d1eab Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Missed to register copy codec, thus failing to copy files.Karsten Heimrich2015-05-121-0/+3
| | | | | | Task-number: QTIFW-695 Change-Id: I197c9b904dfabe9f08d2344c098d8db70afd91f0 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Replace waitForBytesWritten with flushKai Koehne2015-05-114-2/+4
| | | | | | | | | | | Unfortunately waitForByesWritten is known to fail from time to time: QTBUG-24451 . We introduced it for making sure large data is actually send, but flush() seems to serve the same purporse. The only drawback is that flush() operates on the concrete socket, and therefore needs to be called on the caller's side. Change-Id: Ic92db298b3dad2c3f9eaa47d160aec517e33e284 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* 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>
* Doc: link from C++ API ref to scripting API refLeena Miettinen2015-05-081-34/+58
| | | | | | | | Remove duplicated text where possible, and unify the text if it is needed in both files (by QDoc). Change-Id: If0c62a4a4abf6c1f61fd24f7947b9bc9bfb14f63 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix dynamic build.kh2015-04-281-3/+3
| | | | | Change-Id: I3df834c1938e991b0c3bc07d9caf272c5a2a8507 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix dubious warning about RequiresAdminRights tag.kh12015-04-271-5/+0
| | | | | | | | | | | | | The tag was added once component script is parsed and we did know that addElevatedOperation is called from script. However, the initial commit 7ccd0acdcf35b957e9e7d04cd81902bac362ad04 did not append the node to the parent package update node. Now we decided to have the option statically and declarative available, so we can remove the warning. Task-number: QTIFW-670 Change-Id: I8cd8f702391d7bf80fc4c42074e1fd6d2d4abc57 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Don't modify check state of autodependent component when Select AllJarek Kobus2015-04-241-1/+1
| | | | | Change-Id: Id50fc5fa3460ffda62102019b46923b01b8e8745 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Add more logging categories.Jarek Kobus2015-04-244-15/+28
| | | | | Change-Id: I1c7dabfd16a69ef5a3e5aaa490036de061f1fd13 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Enable logging categories as an installer option.Jarek Kobus2015-04-248-13/+47
| | | | | | | | | | | Now by default all categories are disabled. They get enabled only in verbose mode. Verbose mode enables all categories by default. Categories can be filtered using logging-rules option. Change-Id: I9324826a6e2d7a746e3d7369747fcd31a42b84b6 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Add more explanations on warnings we issue.Jarek Kobus2015-04-241-0/+27
| | | | | | Change-Id: I7fea8d8c5ebc1ffea78635c335a0740c648b8e2e Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Add a missing warning about auto dependency on component with childrenJarek Kobus2015-04-241-5/+10
| | | | | | Change-Id: Ib17fb2d48059ecc5b7f3b466661aad8e9d6b4b33 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix hang and errors when sending big packages over the socketKai Koehne2015-04-241-3/+9
| | | | | | | | | | The assumption that packages of arbitrary size can be send is apparently wrong on Windows. Also, one has sometimes to call waitForBytesWritten, otherwise the data is never transferred. Task-number: QTBUG-45625 Change-Id: I8b5a2584d4d42cf33d1d6688b0e17c44c325ac53 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* RemoteObject: Do not use processEvents()Kai Koehne2015-04-241-9/+1
| | | | | | | | | | | | | Replace the hand-written calls to processEvents() with socket->waitForConnected(). It's unclear why this wasn't done in the first place (maybe to keep the UI responsive when the IFW was still single-threaded)? Anyhow, this allows delivery of spurious events too, which can lead to weird hang-ups. Task-number: QTBUG-45625 Change-Id: I0ff2b85c05d0cc9d0102cf13791935be83c10536 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix "Too many open files" error.kh2015-04-242-67/+67
| | | | | | | | | | The current code did create all files in advance, exceeding the open file limit on big downloads. Now we create the file once we write to it. Task-number: QTIFW-662 Change-Id: I9fe019e08342cbfb14bf564ad00b045cc03b6661 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Make componentChecker warnings optional.Jarek Kobus2015-04-224-1/+10
| | | | | | | | To enable them export the following environment variable: QT_LOGGING_RULES=ifw.componentChecker=true Change-Id: Ied6744c745ca3fd0840c622c71a8ba30ad22e3d9 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Reset font property when setting "virtual" property to false.Jarek Kobus2015-04-211-2/+3
| | | | | | | Visible in systeminfo example, when run with --show-virtual-components Change-Id: Ie9f82602d86c9be8060bc14ef5b1e524387f5c17 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix compilation with gcc 4.6Kai Koehne2015-04-161-1/+1
| | | | | | | gcc 4.6 does not support alias templates yet. Change-Id: I65f2dd8d8bf8ffae37ca2ed9743d24539cd47fcf Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Windows: Fix crashes in elevated installationKai Koehne2015-04-166-13/+82
| | | | | | | | | | | | | | | | | | | | | | 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>
* Do not throw on empty translation filesNiels Weber2015-04-151-3/+5
| | | | | | | | Workaround for QTBUG-31031 (QTranslator::load returns false for empty translation-files) Change-Id: If4587b99c86a5afacada2d022af10460248ecf93 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Move the component checker after installer calculator.Jarek Kobus2015-04-151-4/+5
| | | | | | | In this way we first check for errors, then check for warnings. Change-Id: I3993498c9c517e7900d789fc0f04c59f9c150e14 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix updatecheckNiels Weber2015-04-141-1/+1
| | | | | | | Check for installermarker was the wrong way around. Change-Id: Id87cbc61d0bdb269eddc8377e5c775bc12c01174 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Compile with Qt 5.5kh2015-04-133-0/+3
| | | | | Change-Id: Iaab5bd3821bc4f1d4a826c9fee0c2a8c75d06bba Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Prevent disabled component to be selected using the Select All button.Jonathan Courtois2015-04-101-1/+1
| | | | | | | | | | The Select All button would select disabled component and try to install them, this new check prevent this. Task-number: QTIFW-635 Change-Id: If15f765b2b8c2fcbb66f72f6d27e9b1d3db92e4a Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Fix possible null pointer access.kh2015-04-101-2/+7
| | | | | Change-Id: I2cb1c8b70d41c764e0f9e47637b951c480ebcb5c Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Fix crash on exit for Windows XP, VistaKai Koehne2015-04-092-17/+32
| | | | | | | | | 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>
* Improve Proxy Credentials dialogKai Koehne2015-04-081-0/+3
| | | | | | | | Give it a title + hide the "What's this?" button. Change-Id: I2717a0eeda5c2ca3da511d88540307763228b30b Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Inform about superfluous dependencies.Jarek Kobus2015-03-131-1/+13
| | | | | | | | | In case B depends on A and B auto depends on A, the first dependency is superfluous. Change-Id: I01a97e0777089fafd43d36b8f9675d7089099885 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* fix empty installer.components arrayChristoph VogtlÃĪnder2015-03-133-10/+23
| | | | | | | | | | Make sure the current list of components is used when referencing installer.components in a controller script. Change-Id: I9468110d61a958f13edba66da0059d6622aa7037 Task-number: QTIFW-601 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* 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>
* Doc: update docs for component selectionLeena Miettinen2015-03-111-6/+6
| | | | | | | | | The selected property seems to be gone, so QDoc now wants isSelected() and isSelectedForInstallation() documented. Change-Id: I638f297a77ebd787a627374e71acab2026e49593 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Fix embedding of installbase manifestKai Koehne2015-03-112-5/+3
| | | | | | | | | | | | Redefining QMAKE_MANIFEST is currently broken in Qt for newer compilers: The content is not embedded at all if the toolchain supports "embedding". But the hack is not needed anyway: Just disable the Qt manifest magic, and include our custom manifest file via .rc. This way we can also avoid changing the mkspec for embed_manifest_exe, embed_manifest_dll. Change-Id: I5155ddabe17f0b61b2d7b9c5b9cd912ad6c53dfe Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Doc: add links to topics that describe the namespacesLeena Miettinen2015-03-111-0/+5
| | | | | | | | | | | | In addition to linking to the classes from the top level topic. The namespace topics are generated automatically and list all classes in a namespace with brief descriptions. Add subtitles for listing the classes in each namespace. Change-Id: I0304a86717e018fa3af9f213871f159fdb4ce05c Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Doc: move systeminfo scripting docs to a separate fileLeena Miettinen2015-03-111-21/+23
| | | | | | | | | | Reformat the docs in systeminfo.cpp as C++ code docs. Edit for style. Change-Id: Idec8aaae072a97f889b4d48051341ff766da4247 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Issue a warning when a component depends on auto dependent one.Jarek Kobus2015-03-111-1/+7
| | | | | | | Task-number: QTIFW-510 Change-Id: I57eff879deebf8f31a472a6c66a7e275e34447bd Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Doc: move component scripting docs to a separate fileLeena Miettinen2015-03-091-231/+195
| | | | | | | | | Reformat the docs in the C++ file as C++ documentation. Fix language and style issues. Change-Id: Ifc2ac0a99700d8b2a2ca6835927cdfb0abd7ed2e Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>