summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Fix failing autotestsKai Koehne2015-03-061-1/+1
| | | | | | | | | | | | Commit 603d9bb1f49c58f2 deleted RemoteClientPrivate when the engine is shut down, but the autotests expect to re-use the singleton in the same process afterwards. Fix this by creating a new - clean - RemoteClientPrivate instance instead on shutdown. Change-Id: Iafa701f44c654db2d7e7d838ea7a27e978eb1913 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Doc: move ScriptEngine scripting docs to separate filesLeena Miettinen2015-03-061-313/+0
| | | | | Change-Id: Iac1c810cf52fb4a480ebde956d62830af97b6f8c Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Make sure RemoteClient's localsocket is freed early enough on shutdownKai Koehne2015-03-051-0/+1
| | | | | Change-Id: Idb0afb201f4759696988566f08baeb156c3bb7be Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Simplify KeepAliveObject implementationKai Koehne2015-03-053-49/+19
| | | | | | Change-Id: I5c647510a8aa001183c9bf63ac0e1cae5ec32ce9 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Add Windows 8.1 to list of supported versions in manifestKai Koehne2015-03-051-0/+2
| | | | | Change-Id: If101748767192d0a32dbba7f3b3bf156fb04b781 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Docs: edit MessageBoxHandler docsLeena Miettinen2015-03-051-61/+161
| | | | | | | | Move scripting docs to another file and add C++ docs. Edit the C++ docs for grammar and style. Change-Id: I2494c573662687cd107916c06e24b0f528596a7e Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Doc: fix a broken \a commandLeena Miettinen2015-03-051-1/+1
| | | | | | | In protocol.cpp. Change-Id: Ib73c055e88bbab8a3e2a7e61bcbddcd8ca42c577 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Drop source code references from ts filesNiels Weber2015-03-025-2488/+1
| | | | | | Change-Id: I58deca6acc3c4c36097b57a57fdaae11068f5feb Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Restore original behavior for component.installationRequestedKai Koehne2015-02-274-3/+9
| | | | | | | | | | | | | | component.installationRequested() should return true also for components that are selected through dependencies (after they have been resolved). This restores the original behavior on 1.6. To keep the change minimal the 'new' behavior has been saved in a method isSelectedForInstallation . This should be further refactored in the master branch. Task-number: QTBUG-633 Change-Id: I2cb936a399927252a4ad4dd81f73683fa3c28a01 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>