Commit Graph

18 Commits

Author SHA1 Message Date
hjk
0d7f33aa71 Core: Work around upstream introduction of std::hash<QString>
Change-Id: I51d7e97011d03b1b1af921e55ccc40a61d8822f7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-01 16:05:23 +00:00
Eike Ziller
23c222f61b Fix C++ Library wizard when compiled with Qt < 5.12
Only Qt 5.12 got true ECMA Script capabilities, so arrow function
expressions are not supported before that.

To be able to use "regular" inline functions, we allow usage of } by escaping with backslash.
For variables that do not start with "JS:" we already supported backslash for escaping.

Fixes: QTCREATORBUG-22336
Change-Id: I9fc638e64d2757a21fffc16355635e2fcff87a36
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-06-03 06:46:52 +00:00
Eike Ziller
e0d38ae414 Export Wizard values to JavaScript macro
Registers a new function "value('name')", available to the wizard json
files, which returns the value of the variable "name" as a JavaScript
object. So, variables with a string value are actual JavaScript strings,
booleans are booleans, lists are lists, and dictionaries are
dictionaries.

The patch also makes it actually possible to assign JSON lists and
dictionaries to values.

This removes some hacks involving creating complex JavaScript objects
through string substitution.

Change-Id: I4ac6da22bc5bccc9fadee97694c2fa14d44c9307
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-09 11:19:43 +00:00
Alessandro Portale
f36f04deba Core: Modernize
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
modernize-use-default-member-init (partially)

Change-Id: Idf10d7ffb1d98a04edc09a25c35e4e9e3abe87b5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-08-08 16:04:21 +00:00
Ulf Hermann
47886969cc Drop unused variables and lambda captures
Also, add context to connect() expressions where we are or were
capturing "this".

Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 09:06:53 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Leena Miettinen
e195526d54 Core: fix capitalization of JavaScript in a message
Change-Id: I6f3392192a57ced81f7c051fb9df2032941e19f7
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-23 08:05:33 +00:00
Tobias Hunger
39e8a3abf3 MacroExpander: Fix variable descriptions
Task-number: QTCREATORBUG-15072
Change-Id: I176f2404509fd6be87dd8db98f5f1f5ef5e34dd6
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2015-09-21 11:08:59 +00:00
Alessandro Portale
fb9cea18a8 Core: Replace usage of QScriptEngine with QJSEngine
This replaces the dependency of Core on QtScript with the dependency on
QtQml.

Changes: QJSEngine manages the onwership of injected QObjects. The
Exception information is part of QJSValue instead of the engine.

Change-Id: I54e40a7f2f7795424c4f3e37d962ac59fc2b1a09
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-04-01 14:55:07 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
9c7019f0b2 License update.
Change-Id: I0acde2c3b995693de682679471f03af85bdd0a61
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-15 15:19:55 +02:00
hjk
3119d93b79 VariableChooser: Rework
Allow multiple expanders to be registered for lineedits, e.g. a
local and the global ones, and actually show them.

Use a tree view in the chooser for somewhat more structured display.

Change-Id: I769f92144e5249f45e54381de52aa6973eb20118
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-10-15 00:49:56 +02:00
hjk
e279c7e007 MacroExpander: Allow registering local expansions
This allows a MacroExpander also to describe an expansion it can
do which was restricted to the global VariableManager only.

The global is now just a thin (unneeded) wrapper about new "standard"
functionality.

Change-Id: Ida7ca70cf3d319eae4220ea8d12f3dd1c0d4042c
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-10-15 00:49:17 +02:00
Tobias Hunger
a5828911be JsExpander: Do not crash on exit
Change-Id: I55caca6dd5b316b2573b443175448d732101871c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-09-18 16:12:23 +02:00
Tobias Hunger
3088c97254 Core: Have the JsExpander take ownership of registered QObjects
Change-Id: Ice5f232d5d7bed32b23f6713b7fa44f44a3ea502
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-18 14:56:23 +02:00
Tobias Hunger
f5d48bf39e Core: Add a basic extension for the JsExpander
This adds a "Utils" object to the Js runtime offered by the
JsExpander that adds some useful functions.

Mostly file name mangling and finding preferred extension
from the MIME type database.

Change-Id: I907dae7f295167667ac2ae81461bbff16dc98ef4
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-09-18 14:38:08 +02:00
Christian Stenger
19d20f4b70 Core: Fix compile for gcc 4.7.3
Change-Id: I941179964158eb869299f068f8cd92a45f230967
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-09-17 09:46:48 +02:00
Tobias Hunger
db6af3f152 VariableManager: Add support for javascript varibales
Add JsExpander that can be used to register additional functionality
in its qscriptengine and to evaluate expressions.

Register that with the VariableManager, using the "JS" prefix.

Change-Id: I7d8f1ddc3484104f3943685dbac09e786d60212e
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-16 13:18:14 +02:00