Commit Graph

54723 Commits

Author SHA1 Message Date
Eike Ziller
0448457fde Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp

Change-Id: I4c619efd7c1060ffd759df44a03a111269d3478d
2018-01-24 13:42:40 +01:00
Christian Stenger
17c64e27f8 Utils: Change processing of children in reverseFindAnyChild()
This changes the processing of children to step down into the children
first (and their children recursively) instead of just processing direct
children in reverse.
Fixes an issue with AutoTest plugin where results of data tags got a
new intermediate although there was already one present.

Change-Id: I1fe42942db975c7a1aa3ddb0b6596979c1164dd7
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 12:02:24 +00:00
Nikolai Kosjar
6b38c73205 Clang: Centralize gathering file argument into one class
Similar to CompilerOptionsBuilder.

Change-Id: Ifac0efe37608562912af20a1c22f85e5e9308094
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-24 11:51:45 +00:00
Nikolai Kosjar
b31978a2f7 Clang: Use reference instead of pointer in editor processor
...because the pointer can't be null.

Change-Id: I318f5d7ff2d2ac7de188718ec6281b083965dfd4
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-24 11:51:40 +00:00
Ivan Donchevskii
2daa5c7280 Clang: Locator: Add filters for classes, includes, functions
Filters are based on symbol query where they are
not implemented yet.

Change-Id: Id826beaf6bb47a81363c36780d7254a85a9a3cc9
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-01-24 11:49:13 +00:00
Ivan Donchevskii
88c3e27722 Clang: Add locator specific methods to SymbolQuery
... and implement LocatorFilter using these methods.

Change-Id: Ie3e3ebb3a547e2b2bda49e76a199a3ccd8fe6403
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-01-24 11:49:04 +00:00
Ivan Donchevskii
92cdfc0c2a Clang: new empty locator filter classes
Introduce classes to replace builtin locator filters.

Change-Id: I5cc6f15fb0f59ea8a51b14a86301cf219cc0d6d6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-01-24 11:48:42 +00:00
David Schulz
193e3de80a Core: modernize HelpManager
Change-Id: Ia5468ee5113f85206d1a714f4580297d166fbafd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 11:17:46 +00:00
Robert Loehning
9e066c7b17 Move HTML out of translated strings
Change-Id: I4664427086619f33e9a882eb3f0a5f2f52e1b42a
Reviewed-by: Jochen Becher <jochen_becher@gmx.de>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 10:18:28 +00:00
hjk
cf7f898db3 Core: Keep track of modes in the ModeManager directly
... instead of having the indirection of the global object pool.

ModeManagerPrivate has been maintaining the list of instantiated
modes by tracking (all...) pool object additions / removals. This
can be achieved more directly by calling functions from the
IMode base constructor/destructor.

The pattern used deviates a bit from the otherwise used 'static
QList<Foo *> allFoos();' acessor pattern as there is some sorting
logic etc. associated each time a mode is appended.
Sticking to the preexisting structure seemed less effort for now.

Change-Id: Ic1b4e641e155f949248890acc48cafbe74025115
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 10:12:50 +00:00
Eike Ziller
5a18231e7e Remove rogue mime type definition for *.ts
There already is a mime type for that in the freedesktop definition,
and that even has alias application/x-linguist, so adding another
mime type with a name that conflicts with the alias leads to strange issues.

Task-number: QTCREATORBUG-19449
Change-Id: I95affeb4d0946f694192a83b396c29f310871e4e
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-01-24 07:51:08 +00:00
Leena Miettinen
998c612e06 Doc: Update Model Editor screenshots to show the Swimlane button
Change-Id: Idb472a0b2f02341d4fadea9253a040df4fc8f5c2
Reviewed-by: Jochen Becher <jochen_becher@gmx.de>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-01-24 07:42:57 +00:00
Christian Stenger
1d763d1941 QbsPM: Fix compile with Qt5.6 + gcc4.9
Broke with a40f11e071.

Change-Id: If647f1a66ddd47795598cc1825c17b73d712d409
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-24 06:07:13 +00:00
Jochen Becher
85fbd5a366 ModelEditor: Avoid temporary extensive copy
Change-Id: I8e77ea98e4e3c6086c3dd8a424da6dfd3f95a0fa
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 06:00:06 +00:00
Thomas Hartmann
59a01d9a1d QmlDesigner: Add tags for important imports
This makes the relevant imports a lot more discoverable.

Change-Id: Ide0396cf844c071aaee050a8993eb06a9c544daf
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-01-23 17:35:03 +00:00
Thomas Hartmann
f00b805da1 QmlDesigner: Add features to .metainfo file
Allows black listing and white listing of imports.
The .metainfo files of QML and QmlDesigner plugins currently
define the contents of the item library.
This patch also allows to blacklist imports in the import manager
and to define important imports that can e. g. be added using a tag list.

Change-Id: I358cf7abe6dc68d54f33488ae7d164fc10e5ea94
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-01-23 17:03:02 +00:00
Eike Ziller
437590a999 Merge remote-tracking branch 'origin/4.6'
Change-Id: I49e8b8442e2b5edffbea19cb2bba97443ebc3d2a
2018-01-23 17:06:59 +01:00
Christian Kandeler
a40f11e071 QbsProjectManager: Add paths of library dependencies to run environment
... with the ability to opt out, as in the qmake run configuration.

Task-number: QTCREATORBUG-19274
Change-Id: If4e996a974a82080bb09f2971b0bb5df9173fb14
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2018-01-23 16:00:19 +00:00
Oswald Buddenhagen
d663e6f925 normalize png file name
this is a workaround for QTBUG-65543, but it also brings the file name
in line with the general pattern, so it's good on its own.

Change-Id: I1c17ece0538c2251d9d6c0df79ba38f358a69b72
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-01-23 15:07:14 +00:00
Robert Loehning
6d61294148 iOS: Include number into translated strings which depend on it
Using this hack will mess up some languages.

Change-Id: Ifbd42ecbec31371fe18cc3e8a5e36566b7c84fb9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-01-23 13:45:04 +00:00
hjk
a5935cb27a DesignMode: Create only when needed
Postpone the Mode object creation until it is really necessary,
the private data object may be needed before.

In the QmlDesigner this patch moves the connection to the DesignMode
instance back to delayedInitialize, essentially reverting part of
e8b3b8140b.

Change-Id: I07146b0bc93eede09af8e824e916edb6de1817ef
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-23 13:08:37 +00:00
David Schulz
01bc302c48 Debugger: Do not add CrtDbgReport breakpoints for vc19
The symbol isn't safely resolvable and can lead to unwanted breaks.

Task-number: QTCREATORBUG-19628
Change-Id: Iaa58b12cb826a9e20faa64454e806ecab9d613f3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-01-23 13:08:25 +00:00
Eike Ziller
4947781bba Fix more issues with renaming Qt Creator executable
Change-Id: I826469bdd90e482a77f4cd65fd4fa7e541103a12
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-01-23 12:52:52 +00:00
Eike Ziller
96ae4d8507 Merge remote-tracking branch 'origin/4.5' into 4.6
Change-Id: I54b60003a755de40fa68beb1ca9f568d22a93a7c
2018-01-23 13:39:20 +01:00
Eike Ziller
b88bfe7db3 Filter debug info out when creating macOS disk image
Move the script to Python for that, for code sharing

Change-Id: I1a0b1ed7fe3ed4413045d478c82621d75800520e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2018-01-23 12:21:49 +00:00
Hannes Domani
408c3a153a Valgrind: Inform about heob/dwarfstack requirements
Change-Id: I86b561b474f5676568b490bdfd829f17364ea3c3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-01-23 11:03:49 +00:00
hjk
33184a1e29 QmlDesigner: Use more direct access to NavigationWidgetFactories
Change-Id: Ib3871131f03f92ffc5e427a09cb5bb26c55268bd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-01-23 10:14:44 +00:00
Thomas Hartmann
a7515d25a9 QmlDesigner: Avoid detachs
The non const overloads of first() and last() do detach
if the reference count is higher than 1.
Therefore we use constFirst() and constLast() instead.

Change-Id: I737cfc428f1c21f16185b9b51175e181c0ec7068
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-01-23 10:14:12 +00:00
Thomas Hartmann
92d32c3a26 QmlDesigner: Make pimpl pointer private
For some weird reason the d pointer of the model has been public.
This is against all rules and therefore it is now private.
To avoid adding too many friends I added a protected getter to
AbstractProperty.

Change-Id: I3ee77475a85063574d0b0c7c3d43d28deaa7eae6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-01-23 10:13:51 +00:00
Andre Hartmann
76d58e8303 JavaScriptFilter: Add engine reset
Change-Id: I80c0e1c9270c9a67aa2494eeab1ccd942bf1885e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-23 09:45:12 +00:00
hjk
2b76504bd2 DesignMode: Apply 'static pattern'
Also:
 - and replace some occurrences of DesignMode::instance()->id() by
   Core::Constants::MODE_DESIGN for less dependence on the lifetime
   of the DesignMode object (and less indirection)
 - remove storage if DesignMode::instance() values when direct
   use of the static functions suffice
 - remove some unused items from the interface
 - use member-initialization in DesignMode::Private.

Change-Id: Ie66c06da0fc0a3ccc588b8079e51db6b39284152
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-23 09:18:55 +00:00
Ulf Hermann
fba61c5b55 QmlProjectManager: Prepare for running on remote devices
We add a "targetDirectory" property to the file format and fill in the
deployment data.

Change-Id: I372f2c9f5f3c4252431963eeab7b8b420f8bccd5
Reviewed-by: hjk <hjk@qt.io>
2018-01-23 09:00:10 +00:00
Ulf Hermann
f1138920b9 Timeline: Only load the scale for rows that need it
Typically at most a handful of rows have scales, but the creation of the
Text elements is expensive. Put the whole scale handling into a loader
and condition it on scaleActive.

Change-Id: I0e0cc349f5c6b88953a96b87ba37331586ec702f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-01-23 08:57:28 +00:00
Ulf Hermann
5ad0fea83c Timeline: Improve performance of labels
a, We don't need our special synchronous reloader anymore because the
stock Loader does the same now.

b, Creating and removing the labels while scrolling only accounts for a
relatively small part of the total overhead. The most expensive part is
the offset calculation which has to be performed for each label on each
scroll movement. Move parts of that to the parent item.

c, Asynchronous loading of items in a repeater doesn't work because the
repeater will still wait until all the items are loaded. Thus, the
previous code would still load all the labels immediately when
expanding. Use the "active" property instead to load labels on demand.

d, The repeater initializes all the labels to y == 0 before moving them
into place. Make sure they aren't all initially active because of that.

Change-Id: I4d8b762899c4aa88173dacec668341f592ffe38c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-01-23 08:57:03 +00:00
Christian Kandeler
ff0d67dcd2 Update qbs submodule
To HEAD of 1.11 branch. Also do the adaptations necessary because of the
branch switch.

Change-Id: Ief69ef014c10397c14fcd68a9ca770d1391d5491
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-01-23 08:55:40 +00:00
Andre Hartmann
7743532c7c Locator: Document the JavaScript filter
Change-Id: Idf56eb4d4620e0517b855485ba88dd92b468e850
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-01-23 08:33:30 +00:00
Christian Stenger
8dae0c4613 FakeVim: Correct handling of settings
Fix handling of restoring default values. If the user
restores default values ensure that these changes are
taken into account as well, otherwise the user would
restore the old settings (instead of default settings)
when restarting QC.

When changing command mappings for FakeVim write the
changes immediately to the settings if the user leaves
the options without canceling.

Change-Id: I81ee47af6a208823d4afecb71cbaddcf2d571750
Reviewed-by: hjk <hjk@qt.io>
2018-01-23 06:12:58 +00:00
Orgad Shaneh
22b0d3b6aa Debugger: Search for kit also by display name
The Id is not visible to users. Allow to pass name instead (first match
will be used).

Change-Id: I6bcd7ce50297e373b5b4d8a553009a27ff43cd24
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-01-22 14:29:03 +00:00
Nikolai Kosjar
3ea921c216 CppTools: Move some decls from header to source
...as there is no client using them.

Change-Id: I2fbbe247e6f4bad537644a9574ddcc0606bfa13e
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 14:25:33 +00:00
Nikolai Kosjar
30c95c937b Clang: Take over jobs if document gets new project part
We could loose jobs if e.g. the user switched to another parse context
or shuffled project files between targets/products/project-parts while
there were still jobs in the queue.

Previously, changing the project part id of a document was a two step
process:
  1) Unregister document with old project part id
  2) Register document with new project part id
On 1), we have thrown the document processors (and thus the job queue)
away. On 2), we have created a new document. Due to this separation the
backend could not take over jobs to the new document (processor) - it
could not know that these commands belong together.

Now, we avoid the explicit unregister command. On a register command the
backend has enough context to find out what to do, it can take over
relevant jobs.

Task-number: QTCREATORBUG-18856
Change-Id: Ib68a8e62140fcfdb2de58dcd2ae955b4c2e15166
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 14:00:03 +00:00
hjk
045cb7a509 Debugger: Clarify the accepted kit values on the command line
Change-Id: If88192085d5f0d99a7017d096acbf486660c4358
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-01-22 13:59:54 +00:00
hjk
58f457f405 Debugger: Also extract Qt namespaces for libinfixed Qt build
GDB-only for now.

Task-number: QTCREATORBUG-19620
Change-Id: I2ca3a927623ec0df742fed65048e8a3bcfa5cee2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-01-22 13:59:42 +00:00
Christian Stenger
3e81fe628a QmlJSEditor: Avoid detaching of containers
Change-Id: I52bb5b073793c11cf157cb72244ba3552ca1ac72
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-01-22 13:58:57 +00:00
Marco Bubke
fb0b5d9d9b Clang: Make it more clear that the FilePathId.filePathId is not shared
The name fileNameId could imply that the id shared for the same file name
which is not the case.

Change-Id: I27310a8994c2d9e9bb0f0aed2094bd988309c710
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 13:22:30 +00:00
Marco Bubke
aefc8cd693 Clang: Add aliases FilePathViews and NativeFilePathViews
Change-Id: I6f32392693b286969a62d79c9c779e3a837f5cb4
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 13:22:24 +00:00
Marco Bubke
19984076ff Utils: Derive FilePathView from SmallStringView
If FilePathView has derived publicity from SmallStringView it can be much
easier used in generic algorithms.

Change-Id: Icfaa5739ee46d9ff4419a73f87f84f2525e10ccf
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 13:22:17 +00:00
Marco Bubke
a572b2db6a Utils: Change SmallString::toView to SmallString::toStringView
This improves the readability of the code.

Change-Id: Ifccbaaa6003636848ea48e00d92abc44f5c2e0f1
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 13:22:00 +00:00
Marco Bubke
b3bed4c306 Utils: Introduce flexible constructor for SmallString and SmallStringView
If a class has a data method that returns a char pointer it can be 
used to construct a SmallString and a SmallStringView.

Change-Id: I02dcba50babb3074b58998e5f907799e84361ed7
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 13:21:52 +00:00
Marco Bubke
05b86568d9 Clang: Derive FilePath from Utils::PathString
We don't want to implement all the methods again.

Change-Id: I2f89ea59607b59f5ca49e6790e8a868942e1f96f
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-22 13:21:14 +00:00
Christian Gagneraud
e8d7a1f21e sdktool: Update README and convert it to markdown
Change-Id: I4ea36841e51138c4feed85d8146a07f8824ee853
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-22 13:18:37 +00:00