199 Commits

Author SHA1 Message Date
Arttu Tarkiainen
f667bf73d0 Add better test branch for testSetDefaultFilePermissions() on Windows
As the function to be tested is now enabled also on Windows platforms,
this should at least check that the unsetting of legacy read-only flag
works as intended.

Task-number: QTIFW-1464
Change-Id: Ibe126d279a31aaa3d204cf6a8fe04a05ea195bb8
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2019-11-11 07:06:20 +00:00
Katja Marttila
7dd35b336f Fix addDependency functionality
addDependency was acting weird - if a subcomponent was added as
dependency, the parent was not installed. It was installed the next time
the installer was launched and something else was added/removed.
addDependency should behave the same as when selecting the component
from UI - it should install the parents too

Task-number: QTIFW-1458
Change-Id: I21726ad6acda3b1fb382263405754c2d682dea76
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2019-10-21 11:05:56 +00:00
Arttu Tarkiainen
c410e42502 Refactor setting and checking of file permissions
Create methods to explicitly set default file permissions on Unix
platforms, use these on installer created files and installation
target directory. Add unit test for introduced functions.

Remove method introduced in 46aecc23b2983c807ff2232ae9cb9651b4d2fdc2
as the same effect is achieved more efficiently by ensuring target
directory will be written with explicit permissions on initial
installation. Unlike the removed method, this will also not break if
an installed component contains owner non-writable directories.

Further simplify PackageManagerCore::directoryWritable() introduced
in 89f772f819178ee2502768c3d259d22ecb910fbe. Remove orphan unit
test for removed PackageManagerCore::subdirectoriesWritable().

This does not change permissions of files and directories extracted
for installed components.

Task-number: QTIFW-1412
Change-Id: I59698c78aceef874b1f79482bff5a618b9a1b536
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2019-08-30 07:22:30 +00:00
Arttu Tarkiainen
b3eaeb1782 Enable support for Qt 5.12 in installer framework
Workaround issues of IFW not being able to work on elevated mode
caused by changes in qtbase, namely when initializing socket
connection between remote installer client and server, and writing
maintenance tool binary.

Switch to using unbuffered mode for QFSFileEngine instances as
buffered mode support has been dropped. Fix calls to QFile::copy()
when running elevated installer process. Make minor modifications
for unit tests to pass. Explicitly fail and return when performing
CreateLocalRepositoryOperation on non-owned directory.

Task-number: QTIFW-1312
Change-Id: I3db72547ee95c87d8c02d27e5b31c7b30e793431
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2019-08-22 11:49:19 +00:00
Arttu Tarkiainen
c7066c9dc2 Update usage of Apple-related terminology
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>
2019-08-16 08:35:19 +00:00
Arttu Tarkiainen
6d5c3d36ea Fix incorrect compare string on findMagicCookieWithError() test function
Change-Id: Ic38a4dd321d01606deb5f85bfdabac3677205e81
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2019-08-15 12:14:34 +00:00
Arttu Tarkiainen
55ecbb9660 Update repository categories on server authentication request
If repositories in a category were located on a server that requires
user authentication, IFW couldn't update information of the repositories
inside a category during runtime. This prevents for example storing
credentials from the authentication request dialog and blocks the
usage of that category.

Add a method for updating contents in repository categories and a
unit test for the new method. Also some minor tweaks to relevant
bits of code.

Task-number: QTIFW-1358
Change-Id: Idfa2559df6d0d2a6de428b8d5fb1f7672aa1e300
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2019-08-15 10:00:37 +00:00
Arttu Tarkiainen
89f772f819 Gain admin rights for writing MaintenanceTool config files if needed
Running MaintenanceTool from an elevated directory didn't do proper
checks for file writing rights when parsing Updates.xml from a
repository, for example when a default repository contains actions
inside <RepositoryUpdate> tags the MaintenanceTool couldn't write
changes to the .ini file immediately.

Make MaintenanceTool do proper rights checking when parsing Updates.xml.
Create uniform methods for checking directory writing access as it is
used on several occasions. Add tests for directory checking methods.

Task-number: QTIFW-1363
Change-Id: I6d634ddbd59429e5b98af1d8010e70a71de40f69
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2019-06-14 08:10:26 +00:00
Katja Marttila
2767210585 Fix update with long version numbers
Update fails if version number is longer than 32bit int. Fixed so that the
value is converted to 64bit int instead so the int overflow will not happen.

Change-Id: If7ab57e89b155793e9fab3ba5dad9c734adc2234
Fixes: QTIFW-1310
Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2019-03-25 05:41:56 +00:00
Katja Marttila
9dacee18f9 Replace 0 with nullptr
Prevents a lot of warnings seen in QtCreator

Change-Id: I63bf95aca68a04fc9fd0eecbe29c63e9b9c47efd
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2019-01-09 05:41:16 +00:00
Katja Marttila
4d00ecb977 Fix recursive error when there are unstable components
Change-Id: Iecaf849368904a72bae1a1ca6e51b45cfafb54ef
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2018-09-14 09:13:20 +00:00
Katja Marttila
d2ae9c16c3 Add attribute to mark parts of install tree unstable
This commit adds new AllowUnstableComponents configuration. Setting
AllowUnstablecomponents to true in config.xml will
* allow installing other components when there are errors in scripts
* allow installing other components when there are missing dependencies
* will mark the 'broken' components uninstallable in treeview

Task-number: QTIFW-930
Change-Id: I8d28cf9c4b0401e0bb76795e87d581f39b64f128
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2018-04-05 06:54:21 +00:00
Katja Marttila
6664ca85f0 Add findFiles method
Task-number: QTIFW-1094
Change-Id: Ibc37e9b568f7f54e37f6ed6a5b040940cab5aebd
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2018-03-26 08:46:30 +00:00
Katja Marttila
fff2c98f4a Merge remote-tracking branch 'origin/3.0' into master
Change-Id: I8d0c8b9faa9537b50e989ec264ed7bfe8d2e358b
2018-02-08 12:55:47 +02:00
Konstantin Podsvirov
977610bfb4 Add support dash (-) symbol in component name
Add colon (:) symbol as alternative separator beetwen
component name and version to use dash (-) symbol in
component name.

For names with dash (-) symbol use colon (:) symbol
as separator in dependencies between name and version,
even if you do not specify a version.

Requirement example: package-with-dash:>=1.2.3, stable:1.x,
demo:v1.0-rc1, backward-compatibility:.

Also add test 'tst_ComponentIdentifier' for check new feature.

Task-number: QTIFW-948
Change-Id: I6340c8001dec369ed8d33fcc4a92c7bce660aec1
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-12-05 07:26:41 +00:00
Konstantin Podsvirov
1f3eded578 Allow comparing non-numeric versions
Changes:
- Improve KDUpdater::compareVersion method;
- Add tst_CompareVersion test.

Task-number: QTIFW-948
Change-Id: If64f807cfb04e56d2bdd5fa250f456631df3f239
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-11-13 14:50:07 +00:00
Katja Marttila
2539c3d453 Fix tests
Task-number: QTIFW-1027
Change-Id: I9d153924d0f88a537ddcf87e61cac2c550d6817f
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-11-08 08:40:39 +00:00
Konstantin Podsvirov
ee24c7aefc Add Component::addAutoDependOn method
Changes:
- Add addAutoDependOn method to Component class;
- Add method documentation;
- Improve tst_Solver test.

Change-Id: I5ed62368d62567f1056e20d89ba03c2639e0eaee
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-10-30 05:42:19 +00:00
Katja Marttila
eef1ebfb60 Change 'Checkable' element behavior
Althogh 'Checkable' value is set to package, that can contain packages to
install. Enabling the install of components using 'Checkable' value.

Change-Id: I05d65fe2da65644872d46bdef3accd5e3f16ad31
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-05-22 09:09:13 +00:00
Katja Marttila
7ee08852f3 Make installer to check the dependency version
Installer was able to install dependency correctly. However, it ignored
the version dependency might have.
Dependencies>componentA->=4.0</Dependencies>
If there was already a dependency installed with lower version number,
the newer version, which was required by the selected component, was not
installed. Fixed so that maintenancetool will not only check if the
dependency is installed but also the installed version.

Change-Id: Ia26b5233cf8847bce73095d19a13c481318d27f2
Task-number: QTIFW-914
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-03-23 08:04:42 +00:00
Katja Marttila
9772474dd9 Merge remote-tracking branch 'origin/2.0'
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
2017-01-30 14:40:26 +02:00
Katja Marttila
c9d11cc991 License header update to GPL-EXCEPT
Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1
Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
2017-01-26 10:02:56 +00:00
Frerich Raabe
fc0b26f4d2 Make support for modifying installations configurable
This patch introduces support for a new setting 'SupportsModify' in the
config.xml file. This is only relevant for Windows installers.

By default (i.e. when omitting) this setting, it
defaults to 'true' which means that the product supports modifying
(i.e. reconfiguring) an existing installations. As such, the 'Modify'
button show in Windows' list of installed programs will be enabled.

Setting this to 'false' will cause the button to be disabled.

Change-Id: I4105f3f0bce67830aa2ee8ae0e6f6abb25c35b30
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2016-09-14 07:27:08 +00:00
Katja Marttila
810ea81009 Fix settings test
Change-Id: Ifbb9aca0719e670026c6bde910430d96621dd61e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2016-06-21 12:05:57 +00:00
Katja Marttila
e87c58548a Merge remote-tracking branch 'origin/2.0'
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/7zip/7zip.pro
	src/libs/7zip/win/CPP/7zip/UI/Common/Update.cpp
	src/libs/installer/component.cpp
	src/libs/installer/lib7z_facade.cpp
	src/libs/installer/packagemanagercore.cpp
	src/libs/installer/proxycredentialsdialog.h
	src/sdk/translations/ja.ts
	tests/auto/installer/messageboxhandler/tst_messageboxhandler.cpp
	tests/auto/installer/scriptengine/tst_scriptengine.cpp
	tests/auto/installer/settings/tst_settings.cpp

Change-Id: I3bb98b8490b3c3eb7f664c1abb7417155b5430b2
2016-06-21 12:32:42 +03:00
Katja Marttila
6a06b8adc5 Fix settings test
QFile either returns 'Unknown error' or 'No such file or directory'
when trying to use non-existing file. Make settings test
work with both values.

Change-Id: I5245b5ad0cf5b91a7eec61c17315982ce14eecfb
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2016-06-20 06:32:55 +00:00
Slobodan Vrkacevic
80a655749f Make usage of authorization fallback optional
Asking users to use the authorization fallback in case of authorization errors
might be a bit problematic in some cases. If the users are not familiar with the
concept, running: "<installer_exe> --startserver PRODUCTION,{GUID},{GUID}" from
command line might be confusing or difficult. Also it might not help at all.

So let's make this optional. If the config variable DisableAuthorizationFallback
is set to true the installer will not ask users to run the authorization
fallback but instead it will abort the installation immediately.

In RemoteClient this is implemented by adding a new function called
setAuthorizationFallbackDisabled. The init function could be also extend for
this but the config settings are not loaded at the time when the function is
called.

Change-Id: I4baf1dea34c5cc0016e98df47a9492ee1418c5ee
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-05-18 03:09:55 +00:00
Christian Stenger
4b652cdc1a Tests: Fix scriptengine test
Change-Id: I288f366785c72da49087cb688f7f1247c2494c99
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
2016-03-31 13:20:45 +00:00
Karsten Heimrich
ba145f6090 Make communication via installer.execute() Unicode safe
It was impossible to pass Unicode data safely to a process started via
installer.execute(), or to read Unicode data printed by that process
safely back in. The reason for this is that the code hardcoded the
latin1 codec for converting between strings used in the script
interpreter and bytes used by the QProcessWrapper API.

Fix this by adding two new optional arguments to installer.execute()
which can be used to define the codec to be used for writing to stdin
resp. reading from stdout. This defaults to latin1 for backwards
compatibility.

Change-Id: I290d8d9617b286ef90b2f0a05c6e7a47f6df317f
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
Reviewed-by: Frerich Raabe <raabe@froglogic.com>
2016-03-30 21:13:03 +00:00
Karsten Heimrich
6e904b95bd Fix failing auto-test.
Change-Id: If948400f15f9dcb43e4f47293ee58428993375f7
Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
2016-03-23 11:46:30 +00:00
Karsten Heimrich
e58f289bab Fix compilation, we depend on network for QLocalSocket.
Change-Id: I1ef2da40f3565abff3f1e4d0f802cfb7c2e4dfdb
Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
2016-03-23 09:05:42 +00:00
Slobodan Vrkacevic
b09fa71683 Allow specifying the installer size in 'em' or 'ex' units
The WizardDefaultWidth and WizardDefaultHeight configuration settings
always expected pixel values. This made the installer look somewhat
awkward on high DPI displays, in which case the ratio between the font
size and the installer window size was such that the fonts looked very
big.

Let's fix this by allowing to specify the width/height of the installer
using units which are defined in terms of the font size, namely 'em'
("The width of the letter M") and 'ex' ("The width of the letter x").
'px' is supported as well and means the same thing as not specifying any
unit at all: the given size is defined in pixels.

We choose to *not* use the font width for 'em' and 'ex' to be consistent
with what the Qt CSS parser does (see src/gui/text/qcssparser.cpp),
which adheres to what the W3C document at
https://www.w3.org/WAI/GL/css2em.htm describes.

Change-Id: Iaeb5a29c79d437ef4b956cb318158181f6289ec9
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-02-29 12:22:54 +00:00
Katja Marttila
1d781f7342 Fix arguments in RegisterFileType
When using RegisterFileType, argumens include progId.
Removed it from arguments and saved as member variable.
This way progId won't interfere argument check count and
it can be used also in undo operation.

Change-Id: Ic80a54a28b5e171a5d4e3023b58eb1636a16fa49
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
2016-02-29 12:17:57 +00:00
Katja Marttila
e67fd518cb Revert "Use QQmlV4Function to correctly get empty parameters from script."
This reverts commit eb574d77b0ab9a92b61e7738d089cd4ea4304e51.
The change will not work with Qt5.5 as it is causing constant
crashes in Qt installers. Using this change will require a fix
for Qt5. As we are about to make Qt installers based on 2.0 we
need to revert this change for now.

Change-Id: Ia7906d02db645f2407ab07d14f5a037224574b29
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-17 11:20:56 +00:00
Karsten Heimrich
22a0f6b682 Fix compile with namespace'ed Qt.
Change-Id: I9c0d399943d2f6eb9a0ab136abf24a5c8b108abb
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-21 13:55:35 +00:00
Karsten Heimrich
d2e0b8fc3b Fix build after merge.
Change-Id: I03b7f65e9a2b5ce16160f9059e70a064e354a6c7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-21 13:55:26 +00:00
Iikka Eklund
2af57eb8c8 Merge remote-tracking branch 'origin/2.0'
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
2016-01-20 14:18:30 +02:00
Katja Marttila
ba1209000a Allow defining non-checkable items
This change will introduce new element 'Checkable' for package.
Setting checkable to false will hide checkbox. Useful if use case
is to install one sub item instead of all sub items.

Change-Id: I8c731e77353b6da539dddcecdc8495b28ef5f7ea
Task-number: QTIFW-773
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
2016-01-18 12:01:50 +00:00
Karsten Heimrich
181e6870fb Fix timezone issue, simply keep the UTC time.
Since we're the only user of the list archive function, do
not convert from UTC. Though once we document the function
it should be mentioned that the user needs to convert it
(e.g. for display purposes etc...).

Change-Id: Icbf8372ddff4f34e3c5a426b983ff25a117d74eb
Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
2016-01-04 12:34:31 +00:00
Iikka Eklund
6ba58b42ab Update license headers
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>
2015-12-29 07:31:11 +00:00
Frerich Raabe
5e28f85a88 Fixed running binarycreator if the temporary directory name contains spaces
The binarycreator program fails to generate an archive if the temporary
directory name contains spaces. This is not uncommon on Windows since
the temporary directory is beneath the home directory, e.g.
C:\Users\<username>\AppData\Local\Temp. If the user name contains spaces
(as it does in my case, the user name is "Frerich Raabe") binarycreator
fails with

  [64] Warning: QFile::remove: Empty or null file name (C:\Qt\MSVC12\5.5.0-src\qtbase\src\corelib\io\qfile.cpp:498, bool __thiscall QFile::remove(void))
  Caught exception: Cannot create archive "C:\Users\Frerich": internal code: E_FAIL

This was caused by createArchive() assembling a command line without
escaping either the 'target' or any of the 'sources' values.

Instead of adding escaping only to split the command line again, let's
drop the approach of constructing a command and then splitting it
completely. Instead, let's build an array of arguments right away.

Change-Id: I284c1b5a27e9edd3717243ea7979149ab2033d64
Task-number: QTIFW-787
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
2015-12-08 13:06:49 +00:00
Karsten Heimrich
eb574d77b0 Use QQmlV4Function to correctly get empty parameters from script.
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>
2015-11-26 07:04:11 +00:00
Katja Marttila
30c223190d Fix scriptengine autotest
Was failing in Windows because NativeSeparators was not taken into account
when verifying the error message

Change-Id: I79c17ad91875918501d84b102d16f84bb2008038
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
2015-11-06 07:41:53 +00:00
Karsten Heimrich
d3de2b14cb Compile with namespaces.
Change-Id: I734b0e27d53fd8b6199a3fb5891497df0e1815bb
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-09-07 10:41:58 +00:00
Karsten Heimrich
cab3405ad2 Missed to rename classes and to update docs and tests.
Change-Id: I2d79ab4094cb9706287d44160543c19b35a66c95
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-09-07 10:41:45 +00:00
Karsten Heimrich
5a635073b4 Compile.
Change-Id: I130d79d0f814f2b8237a24b340ba96d44c92b428
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-14 13:08:33 +00:00
Karsten Heimrich
de8b7ede25 Rename files. Remove {kd} prefix. Remove {kdupdater} prefix.
Change-Id: I88c93cab718f4659296d5f7f562beefd747a366f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
2015-07-14 12:37:58 +00:00
Karsten Heimrich
38799ceaf1 Make use of the new varadic template feature + cosmetic changes.
Change constructor to take the a package manager argument. Add a
package manager member to the operation. Remove setter function.

Change-Id: Iffb860e24089beb6496ac4ee479d547a29463728
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-07-10 08:54:06 +00:00
Karsten Heimrich
39a56f719a Add factory auto test. Update template parameter + documentation.
The create function cannot be documented properly, cause qdoc
does not understand the ellipsis(...) operator as of right now.

Change-Id: I6569372ed37621eeaaa7a41ea49aa795676ca65b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-07-10 08:53:49 +00:00
Kai Koehne
b2a65ce68b Sanitize QDebug output
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>
2015-07-09 13:38:42 +00:00