summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/scriptengine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add line number information when throwing an Error regarding the scriptAndy Shaw2018-01-241-2/+3
| | | | | Change-Id: I5bc3ca4779ed12d927c3a6a041a81d8e39d5bd1f Reviewed-by: Katja Marttila <katja.marttila@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>
* | Introduced gui.setTextItems() methodFrerich Raabe2016-06-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/2.0'Iikka Eklund2016-01-201-4/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | add silent modeChristoph Vogtländer2015-07-171-0/+9
| | | | | | | | | | | | | | | | | | | | 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>
* | Unify translated error messagesKai Koehne2015-06-241-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | * 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-1/+1
|/ | | | | | | | | | | | 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>
* Doc: add docs for ScriptEngine::newArrayLeena Miettinen2015-05-271-0/+4
| | | | | Change-Id: I69462de7442612c35634cead37572db387031c3e Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* fix empty installer.components arrayChristoph Vogtländer2015-03-131-10/+21
| | | | | | | | | | 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>
* Doc: move ScriptEngine scripting docs to separate filesLeena Miettinen2015-03-061-313/+0
| | | | | Change-Id: Iac1c810cf52fb4a480ebde956d62830af97b6f8c Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Doc: add docs for ScriptEngine methodsLeena Miettinen2015-02-251-3/+17
| | | | | | | Fix the formatting of a list. Change-Id: I93bcd369f5e685fecacab632b801084199b06d4b 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: fix language and QDoc command issuesLeena Miettinen2015-02-121-2/+2
| | | | | | | | To follow the Qt documentation guidelines. Change-Id: I8f533737b39d7d58645a05b033fc966f70918369 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Doc: add docs for arguments and return valuesLeena Miettinen2015-01-301-3/+4
| | | | | | | | 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: add docs for QDesktopServices JavaScript objectLeena Miettinen2015-01-281-3/+32
| | | | | | | | | Based on Qt 5 documentation for QDesktopServices. Change-Id: Ib1a42505b1c046b5175aae0a76f3c71d58c0e86f 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 sure component wrapper is not deleted in advanceKai Koehne2015-01-281-1/+11
| | | | | | | | | | Use ScriptEngine::newQObject instead of the stock QScriptEngine one. This one (among other things) sets object ownership to Cpp, preventing dubious "cannot call name on undefined" script failures if the garbage collector runs. Change-Id: Ib3275012d307533c13de3520f4630d1eeee66869 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Doc: Add docs for QInstaller JavaScript objectLeena Miettinen2015-01-231-19/+38
| | | | | Change-Id: Ied88c365fdbd1cb7fe07d4ed196e7b568f6e892c Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Doc: add docs for QFileDialog JavaScript objectLeena Miettinen2015-01-221-0/+32
| | | | | | | | Based on Qt reference docs for QFileDialog. Change-Id: Ic56fd5a48b290608f7810bc8f9260367389c5896 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Doc: add docs for the gui JavaScript objectLeena Miettinen2015-01-221-0/+12
| | | | | | | | Based on the example code in the Manual. Change-Id: I4b933fe49768fe296c89d715ea5aef30b6e3430b Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Doc: add docs for the console JavaScript objectLeena Miettinen2015-01-211-0/+19
| | | | | | | Change-Id: I0560178f9a1fbd60fa4a5f7c25706b2c826ecd14 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Doc: add docs for buttons JavaScript objectLeena Miettinen2015-01-131-11/+26
| | | | | | | | | Based on Qt 5 QWizard documentation. Change-Id: Ic61ed428d1513fc21131992b1b40bf63a93b4fd2 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Doc: remove "type" from briefs in Scripting APILeena Miettinen2015-01-131-2/+2
| | | | | | | | These are not QML types, but JavaScript objects. Change-Id: Ib50656c764270a1184c74a2c653438a2f42846fd Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Fix objects returned by gui methodsKai Koehne2015-01-081-9/+146
| | | | | | | | | | | | | 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-29/+36
| | | | | | | | | | | | 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>
* Expose findChild, findChildren methods to JSKai Koehne2014-12-101-0/+31
| | | | | | | | 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>
* Expose systemInfo APIKai Koehne2014-12-051-0/+3
| | | | | | | | | Add systemInfo as a wrapper for QSystemInfo. Task-number: QTIFW-592 Change-Id: Ib54fcea8b0ef3a397a74f5315202f3000abd63cd Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Set the object ownership -before- adding the widget as property.kh12014-11-171-0/+1
| | | | | Change-Id: I0af2c4ae71bcf89466826024b8a2af4584d805be Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Make sure to remove all objects from script engine.kh12014-10-301-0/+14
| | | | | | Change-Id: I5dedd63bad3eb37b55a3cc246b3c74ba58396b32 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix regression after porting to QJSEngine.kh12014-10-301-0/+1
| | | | | | | | | | | | 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>
* Add LGPLv3 as new licenseKai Koehne2014-10-161-14/+7
| | | | | | | Change-Id: I61158f956894e209dccf83744b4753774676099d Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Some more documentation fixes (removes more warnings).kh12014-10-151-6/+6
| | | | | Change-Id: I1efb7f98ac4cccdc4dbd1784806cce286654af9f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Fix c++ documentation creation. Add, fix inline documentation.kh12014-10-081-2/+201
| | | | | | Change-Id: Idd6805afbf5736eebf03c2d1ca6dae272c519634 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com>
* Rewrite the component getter mess, remove superfluous methods.kh12014-10-061-4/+4
| | | | | | | | Now we can combine some enum values to achieve the same as before with the several getter functions, removes the clutter from the API. Change-Id: I6368b0ff77821ac95d1defaec4af27dd7d383396 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
* Expose qsTr to the scripts, makes component error example work.kh12014-06-061-1/+6
| | | | | Change-Id: I73be2490182af8582b3e56b177e8ca26c950fa97 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
* Set the right ownership for the components we expose.kh12014-06-061-2/+5
| | | | | | | | Make sure we set the component ownership to c++, by default the script engine would take it and delete the component... Change-Id: If4ea905495566954ff804b636934c33eb118ccf3 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Replace script with js engine.kh12014-06-031-261/+167
| | | | | Change-Id: Ic9c88e27dca1e936ba09a3776df3df7ec166c606 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* Cleanup to support Qt5 only.kh12014-06-021-27/+0
| | | | | Change-Id: Ib8f61229ce2f07e52c22a15e10dc817aca860ead Reviewed-by: Niels Weber <niels.weber@digia.com>
* Make sure we read the script content as UTF8.kh12014-04-231-6/+6
| | | | | | | | Task-number: QTIFW-485 Change-Id: Id09365207c6f5b1312fb85ad67443f7e51a1944e Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix strange error message.kh12014-04-041-9/+11
| | | | | | | | | | | Task-number: QTIFW-309 If a component script file is empty or misses the component class constructor, bail out during binary create or installer execution. Change-Id: I422c64186652a52122d54b5b042139803c24ba10 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Use qobject_cast where appropriate.kh12014-04-031-1/+1
| | | | | | Change-Id: I433ce0a9521863f02777baff339c7226327f4628 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com>
* Merge remote-tracking branch 'origin/1.4' into 1.5Tim Jenssen2013-11-061-19/+25
|\ | | | | | | Change-Id: I2725f9bacbe04240dc3f97062c5ebc50884822c8
| * Restart on the wizard needs to cleanup component left-oversTim Jenssen2013-11-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
| * prepare script engine to get the gui object laterTim Jenssen2013-10-291-19/+22
| | | | | | | | | | | | | | | | - Since we need two different script engines we need to be able to set the gui object later Change-Id: Ie40f8ec3dd84dc4d5b3cf127c3e41ce25ef53b66 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
* | Merge remote-tracking branch 'origin/1.4'Tim Jenssen2013-08-261-0/+2
|\| | | | | | | Change-Id: I9ee4395291754fd5a56555e1dd974df19ee39376
| * Force updating of Essential components.kh12013-08-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTIFW-38 Task-number: QTIFW-155 This is necessary for correct functioning of the Maintenance Tool. Change-Id: I3844760bdd31abf547c660f82dda14a3da38c5da Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* | Expose getOpenFileName to scriptsFrederik Gladhorn2013-08-221-2/+7
|/ | | | | | | Change-Id: Ic3ddbb1f3ddfd72e93f9408dd9a5d5b6fa6cbf71 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* add exceptionhandler code for connected signals/JS methodsTim Jenssen2013-06-031-0/+8
| | | | | | | | | | | - 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>
* avoid wrong replacings in the load script codeTim Jenssen2013-05-211-6/+6
| | | | | Change-Id: Ia0d437fe1200ffa692e7b9a204622619934e92a5 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>