Commit Graph

44349 Commits

Author SHA1 Message Date
Eike Ziller
0df84b45e5 Merge remote-tracking branch 'origin/4.5' into 4.6
Conflicts:
	src/shared/qbs

Change-Id: Ib734825a302efe41021307d7d64eb7b453262dc4
2018-01-25 10:16:46 +01:00
Christian Stenger
3c434a7aea AutoTest: Fix handling of group nodes for gtest
GTests can be registered across several files and so it is
possible to get different test sets for the same test case
from a lot of files. Make sure to generate group nodes only
for test cases to avoid getting senseless (inner) group nodes.

Change-Id: I8c3f959e0af62ce3fb8461db0b0c82decfe6fd4f
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-01-25 09:16:33 +00:00
Eike Ziller
ba859279c3 Update qbs submodule
To HEAD of 1.10 branch.

Change-Id: I0f13ce5654b022706a95bd7c639f44353300c5bb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-01-25 08:42:23 +00:00
Christian Stenger
333d30dce5 ClangRefactoring: Fix compile with Qt5.6/gcc4.9
Change-Id: Ibea187c2216cc9f0a3c6ce53d5139b0a2c7c9065
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-25 07:52:40 +00:00
Nikolai Kosjar
e54c514984 Fix build with Qt 5.6 / qtcreator.qbs
Broke with:

  Introduce Q_FALLTHROUGH()
  commit f482270432

Change-Id: I4f99f9a4d8a56ab1358be53f83aa0c449cff69a8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-25 06:04:27 +00:00
Jochen Becher
eb9172d1a0 Modelinglib: Avoid temporary extensive copy
Change-Id: I25fb6f671cc392836b829889987c516aa722bc92
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 19:06:25 +00:00
Robert Loehning
e7d44054e1 Require parent for SessionNameInputDialog
...so the dialog does not appear as a separate application.

Change-Id: I4e9b76bf70f860d7decf8836f6a9885fb5748028
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 17:48:47 +00:00
Orgad Shaneh
561773ce2b Valgrind: Show full command-line on valgrind execution
Change-Id: I2cc5e966be44cb65f9dda5e55c38538badd78130
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-01-24 17:42:25 +00:00
hjk
5afab6f018 ProjectExplorer: Create and populate 'Kits' settings category
Kits are a central concept and structure in anything build and run
related in Creator, their organization is crucial for the functionality
of Creator and deserve to be emphasized over other, often more cosmetic
settings.

This is the first step of two, the second step would be moving
the Device (list) page also in this category, possibly after some
reorganization in the Device category.

Change-Id: I4abc89472d0575c691fc9e5051397833126e5456
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 16:35:39 +00:00
Adam Treat
168799f235 Fix remote target identification on QNX
The targetName on QNX is the project file path.

Change-Id: Ie87b459c6d8d7637815796b3505833d7c65b3500
Reviewed-by: Adam Treat <adam.treat@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 16:05:32 +00:00
Christian Kandeler
327d7a495b QbsProjectManager: Set qbs.targetPlatform rather than qbs.targetOS
This is the recommended way in qbs 1.11.

Change-Id: Id20ecdc2b8332336c92c47cf05077dbe4e54cff2
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2018-01-24 15:51:53 +00:00
Nikolai Kosjar
3c6dbd9b37 Clang: Remove unused member field
Change-Id: I73875f538dbf08dd41cc55f3686b2cf2162a59f5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 15:45:05 +00:00
hjk
1963122dcd Core: Cut explicit interface between MainWindow and StatusBarManager
Mechanical in preparation of 'static pattern' and avoiding the
object pool objectAdded/objectAboutToBeRemoved use

Change-Id: I1e3fc7f67c785410686d0dc7c083024e305f4abe
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 14:53:58 +00:00
Tobias Hunger
d3bed44f5f ProjectExplorer: Remove QTC_CPU override
QTC_CPU was broken in qmake and never worked there. Qbs never implemented
the override properly, so neither did it work there.

Use QSysInfo to retrieve information on CPU that Qt was built for and use
that in the hostAbi.

Change-Id: I298c15b2263c9eaf343a93037229de64e90c36ef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 14:51:32 +00:00
Friedemann Kleint
f482270432 Introduce Q_FALLTHROUGH()
Silence g++ 7.X warnings.

Change-Id: I9d06d04b496c9ec060e13e1be6f43d8fbadb1f3b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-24 14:50:43 +00:00
Nikolai Kosjar
66488ba0b8 Clang: Remove unused functions
Change-Id: Id5bf1852b308ef84d8cfd575a60f084326729ac2
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-01-24 14:45:23 +00:00
Nikolai Kosjar
8836f2a6dc Clang: Fix crash when backend is not yet started
Due to DummyBackendSender not overriding requestToolTip() the base
implementation was called which assumed a connected backend.

To avoid this in future, derive DummyBackendSender from
ClangCodeModelServerInterface so the compiler will warn about not
overridden functions.

Task-number: QTCREATORBUG-19644
Change-Id: Ifd846cbe581092e1688719119dad5003da66d0a3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-01-24 14:23:46 +00:00
David Schulz
b500bba6af Help: call setupData after setting the collection fileData
Setting the collection file leaves the help engine in an invalid state.
It is important to invoke setupData() in order to setup the help engine
again.

Change-Id: I252d7999c113db4f584bcaf94d42c609f507c1cb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-24 13:40:01 +00:00
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
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
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
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