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>
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>
Since qtdeclarative change e2c1e7b8a exceptions in JS slots do _not_ set
the engine to an error state anymore, but are rather printed to console,
and ignored. This prevents exceptions to silently propagate ...
Change-Id: Icb065314730cf2142eedbde14b0c77c21bdd6f6f
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Make the QWidget representing a UI file known to the engine, so that
e.g. child objects can be always accessed :
component.userInterface("RegisterFileCheckBoxForm").RegisterFileCheckBox.checked;
This worked reliably only if the .ui file has been shown to the user,
which might not always been the case.
Change-Id: I7a87773e29f6210ab7160d8e33c41f6ebeeb82d6
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
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>
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>
Re-add the findChild, findChildren methods known from Qt Script.
Change-Id: I3db6be53ccd89a09b2c7de14ba7f96ebb26dbdbb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Dead since commit 5359d0a3e8d84699701e73d3d15163fb20200bb0
Change-Id: I40af485876d70a6a68406eafe14258b185e16323
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Setting a dynamic property of a dynamic page from JS doesn't have
any effect anymore, as the properties are not synced. Now we define
the property directly on the JavaScript object and connect it to
corresponding C++ page with static Qt properties.
Task-number: QTIFW-562
Change-Id: If95222a94ebee7f8bb455792eab96c5e9bc19b86
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
- use two different script engine instances
- one which lives from the beginning -> the controlScriptEngine
- the other one which will be reset if there are some new repositories
loaded
- now the core has a pointer to the gui object, but it should only be
used by the script engine so a QObject type should be enough
- engines are deleted as QObject children from the PackageManagerCore
- registered downloaded archives are removed
Change-Id: I60a4a32fb2e409059839ec11b10c57357454f57a
Reviewed-by: Michal Klocek <michal.klocek@digia.com>
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
- also renamed it to better name: executeControlScript
Change-Id: Id2bb7cada2386561c2b25b158c6aa101382e5cc4
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
- there wasn't any error information if a C++ triggered signal resulted
in a JS method which has an error, now it will create an exception for it
- creating messagebox inside the lib is something what we want to avoid,
so the developer itself is responsible to catch these exceptions
- most cases of the installer code does that already
Change-Id: I07486f73be9de13a486de235f14e3a7d7b54f5b1
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
- destructor deletes components, so there was a double deletion
Change-Id: I5c4f14bb3b964297be542821d10a7ebb27925af5
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
- since we are using one scriptengine the component needs to be
registered on the packagemangercore to load the script
Change-Id: I931b75e8d68328c2317dd4a55ab9cc298229caba
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
- it uses one scriptengine for everything and adds the components
or/and the install-controller in javascript closure contexts
- added the gui object to the component script context
- removed tabController from controlscript context
Change-Id: I3bd6c5dcf470666c30add1b7d04a8fdd094f5f11
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>