Commit Graph

57165 Commits

Author SHA1 Message Date
Thomas Hartmann
e0ce44cc27 QmlDesigner: Remove annotations if auxiliary data is empty
Change-Id: I1692fbafbac747936e1dbb303f306bef311ca5f8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-04-17 12:31:13 +00:00
Thomas Hartmann
cedd104009 QmlDesigner: Slightly increase font size on high DPI displays
Change-Id: I8ed2bd45217aa5ff41768048f5fa6627a5895f4f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
2018-04-17 12:30:46 +00:00
Ulf Hermann
dcd8d37f35 QmlProfiler: Don't expose the vector of event types
We always want either the total number of event types or one specific
type. There is no need to expose the fact that we keep them as a vector.

Also, use int as the type of the "number" methods as that aligns better
with Qt containers, and rename the methods. We don't need to state the
fact that we've loaded the events and types at some point.

Change-Id: Iaf680ec9fa10e1070ddee6bcc079800e401775f0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 12:20:57 +00:00
Ulf Hermann
7ca958fa85 QmlProfiler: Integrate TraceTime into ModelManager
We never use it independently and only a subset of its interface needs
to be public.

Change-Id: I97bbc638270bcbb8fb1a4097fcfeacf37e96c048
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 12:17:23 +00:00
Ulf Hermann
507c2d6b5b Move parts of QmlEvent and QmlEventType to timeline
Timeline will become a generic trace handling library. It needs some
abstract concept of events and event types.

Move operator== and operator!= for QmlEvent into the test as we don't
use them anywhere else.

Move the operators for QmlEventType to QmlProfilerTraceClient. We want
to get rid of the hash there as soon as we can assume that no
application we want to profile doesn't support server type IDs.

Change-Id: Icde4e3e7634e387171dc1d8bef7bbe8e71684a1a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 12:15:38 +00:00
Robert Loehning
3eeaf965e8 Squish: Fix property name in tst_WELP03
Squish 6.2 still accepts both property
names but Squish 6.3 is more strict.

Change-Id: I390af974425242d1f766853b80870dcb1948ef92
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-04-17 11:57:39 +00:00
Christian Stenger
d21c508b0a Squish: Remove dead code
Change-Id: Ic24c9db0b923409026d92b87b246694dde8968db
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2018-04-17 11:52:48 +00:00
Thomas Hartmann
5c8c208f26 QmlDesigner: Add a couple of new theme colors
Change-Id: Iab39c0dae28d82f76a8d2ac8bc26562c89bf8e7c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-04-17 10:34:13 +00:00
Ulf Hermann
32c54dfdac QmlProfiler: Fix some number conversion issues
Qt containers have int as size type, while std containers have size_t.
We can use auto and decltype to deal with this. Also, memcpy and malloc
expect size_t, not int.

Change-Id: Id2942d14978c8a15f72967962d551ddb20905471
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 09:24:08 +00:00
Ulf Hermann
e0ba6f91ce Timeline: Add stash() and restore() methods to notes model
Those are needed when manipulating the model in a way that may change
the indices, like restricting to a range or filtering by categories.

Change-Id: I9f218d269cf23104c306960ef77c0fc41591daa1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 09:14:09 +00:00
Ulf Hermann
1ccd058bdf QmlProfiler: Get rid of processing step
The child models are made aware of possible changes in the details
strings, and in turn, we can do the finalization immediately after
acquiring is done.

Change-Id: Ibe57f158e64e5d01d4c97aa617c9b2bcc8e4e96e
Task-number: QTCREATORBUG-20106
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 09:13:04 +00:00
Tim Jenssen
72e0a6fec5 Revert "QmlDesigner: remove testing code"
This reverts commit b3a92fc58e.
If this is missing some general actions in the selection tab
have an empty clickable icon area then.

Change-Id: I143cc7c4d0e2ac11959ddd3c3a58154e4cb0cb3f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-04-17 09:10:06 +00:00
Ulf Hermann
e0cab79965 QmlProfiler: Clean up type selection in statistics model
The statistics have one extra valid event type: "Main Program". This
should not be mapped to typeId -1, as -1 is the invalid typeId. Map it
instead to std::numeric_limits<int>::max() and remove all the hacks
around it.

Additionally, optimize the selection algorithm for the statistics main
view: We don't need to iterate all types to select one. We can rather
use the fact that the row numbers in the source model match the type
indices (except for the two special ones).

Change-Id: I7c4dc4f84fd167f9a21c418466ad2bfce56e441f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 09:09:32 +00:00
Eike Ziller
858a178294 Merge "Merge remote-tracking branch 'origin/4.6'" 2018-04-17 09:09:20 +00:00
Eike Ziller
d751427326 Add first changes file for 4.6.1
Change-Id: Id708d396cfbd285b96f07a1cb4f0b95029879ec8
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-04-17 08:58:58 +00:00
Tobias Hunger
fefce829ad Qmake: Invalidate contents of QmakeVfs on target change
Task-number: QTCREATORBUG-20113
Change-Id: I13cd3749a942cc06172dd63f163bff88490a44ed
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-17 08:35:23 +00:00
Eike Ziller
185fe0c705 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/android/androidrunnable.h
	src/plugins/android/androidrunner.cpp
	src/plugins/qmakeandroidsupport/qmakeandroidrunconfiguration.cpp
	src/plugins/qmakeprojectmanager/qmakeproject.cpp
	src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp

Change-Id: I68093d44cfd672347eab82459ff70c21a32297ce
2018-04-17 10:09:35 +02:00
hjk
962e980baf WinRT: Introduce a custom UninstallAfterStopAspect
... to handle the remaning bool settings in the RunConfiguration.

Change-Id: Icf5c0994860793c69ebb182fb7a0e15b7245c4ad
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-17 07:59:05 +00:00
Christian Stenger
32a219f5c1 AutoTest: Fix check state handling for filtering
Changing (gtest) filters can result in inconsistent
check states up to the root item.
This patch makes the check states consistent again.

Change-Id: I83b146c8859a352892945312ee2fd183699fc79c
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-17 07:00:38 +00:00
Vikas Pachdha
9a946decc3 Android: Give preference to detected deploy errors
Task-number: QTCREATORBUG-17414
Change-Id: I35171dc8649c9ecd790a1a508ccc3d4f690ee67b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 05:02:46 +00:00
Christian Stenger
8771054060 Squish: Check also for expected clang on macOS
Change-Id: I32d7f5ebf02a559ca854553536874c6ec68f0ec5
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2018-04-17 04:55:48 +00:00
Tobias Hunger
ca97be6a13 Abi: Add xtensa architecture
Also add an "rtos" OS flavor to baremetal, which is popular with xtensa.

Task-number: QTCREATORBUG-20147
Change-Id: Id4d22ebfc59f123a76dc3de898c7c57bb3be8a38
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-16 14:20:35 +00:00
Ulf Hermann
b135306d9f QmlProfiler: Remove now-unused members from statistics
Change-Id: Ibf56f405dc51a82d0f56ab300905b1137375d5c0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-16 14:16:03 +00:00
Robert Loehning
fdc4ac41d9 Squish: Replace Qt 5.3 kit with Qt 5.10
This patch just changes the minimum for replacing the kits while
keeping the tests running. Further updates to the tests should
be done in separate patches.

Task-number: QTCREATORBUG-19440
Change-Id: I25ce60ad0a47678dba4352a4b2601ca1cdd4741d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-04-16 14:15:11 +00:00
Ulf Hermann
4aa432bb9a QmlProfiler: Eliminate QStandardItemModel from statistics
This resolves the data duplication between model manager and statistics
models, that gets in the way of updating the details strings on the fly.

Task-number: QTCREATORBUG-20106
Change-Id: I1c4881f903402dff936267de03b84d05ab7c39ca
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-16 13:35:44 +00:00
Ulf Hermann
495b9aa9c2 QmlProfiler: Make statistics models QAbstractItemModels
This way we will be able to replace the QStandardItemModels in a next
step.

Change-Id: I863fde958d29c8bf8c36aa1f501cb1224720ad7a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-16 13:35:33 +00:00
Eike Ziller
42386dbdbc QmlDesigner/ShortcutManager: Cleanup
Remove some unneeded 0-parents, use nullptr, and do not use parameter
actions when they are not needed.

Change-Id: Ia556f83f7f1ce296fc08fa76cced7f41102d110f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-04-16 13:12:19 +00:00
Eike Ziller
c00c4fc9c2 QmlDesigner: Do not access clipboard if not requested to by user
QClipboard documentation states for X11:

"Lastly, the X11 clipboard is event driven, i.e. the clipboard will not
function properly if the event loop is not running. Similarly, it is
recommended that the contents of the clipboard are stored or retrieved
in direct response to user-input events, e.g. mouse button or key
presses and releases. You should not store or retrieve the clipboard
contents in response to timer or non-user-input events."

So do not request the clipboard data when the QClipboard signals that
the data has changed, because that locks up if the application providing
the data is unresponsive.

Task-number: QTCREATORBUG-20262
Change-Id: Ifd10150e1de62c8153ab2bb93a3e953a36fb243a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-04-16 13:11:47 +00:00
Ulf Hermann
17d530d60d Make sure we always quote the qmldebug command line arguments
Change-Id: I5ce68c238e0ab05d19715659a9cc2161e51e1a7e
Task-number: QTCREATORBUG-20260
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-04-16 13:08:45 +00:00
hjk
e50b3c1412 DesktopQmakeRunConfiguration: Remove unused signals
Previously used to signal changes to the run configuration widget,
now handled by the aspects internally.

Change-Id: I10936610037c9df0469f3d6a66a8a3e8609b50a5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-04-16 13:01:50 +00:00
Tobias Hunger
fa11070977 QMake: Make signalling of parsing state more robust
Move the emitParsingStarted into a location that is called
from both methods that had it before.

Also add an QTC_ASSERT into incrementPending, which is
triggered by the qmake parsing code directly. If something went
wrong before, then the signal will be sent anyway and in the
right sequence -- although the start signal is a bit late at
that point.

Task-number: QTCREATORBUG-20203
Change-Id: I64611e471d1e4959d5cfe0118223594a04238433
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-16 12:43:39 +00:00
Robert Loehning
9636de7cd4 EditorToolBar: Replace optional::value by non-throwing alternative
...to calm down static checker which
fears throwing exceptions into dtors

Change-Id: I7f1a298e8391735d503332a7bce67e10895fbc85
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-16 10:27:59 +00:00
Nikolai Kosjar
7be7d26814 Clang: Show current editor diagnostics in issues pane
This helps to deal with many diagnostics.

Error diagnostics precede warning diagnostis to have them on top.
If no CppEditor is active, no diagnostics are displayed.

Previously one had to scroll the document up and down to locate the
diagnostics. Now they are in a list and can be easily navigated with
F6/Shift-F6. Also, at least for some diagnostics "Get Help Online" from
the context menu seems to provide useful results. For example,
triggering the action on clang tidy issues will open the web browser
with some good hits explaining the issues.

Change-Id: Idabe30b0961d893bee39ccee431e92aeeda1cc26
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-16 09:37:06 +00:00
Nikolai Kosjar
dd231fa754 ProjectExplorer: Make Task accept a QIcon
...instead of a FileName.

If requiring a file name, one has to use Utils::Icon::imageFileName(),
which is discouraged according to the comment there. I've tried that and
ended up with a black/white icon. With Utils::Icon::icon() the icon
retains its color.

Change-Id: Id84f514f7408f4b24b74d68b4e9096ceaa0851dd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-16 09:35:03 +00:00
Nikolai Kosjar
a1e3360236 ProjectExplorer: Allow to add Tasks without TextMarks
This is needed for the Clang Code Model that will also put the
diagnostics into the issues pane. Because the Clang Code Model sets its
own TextMarks, duplications are avoided.

Change-Id: I668a271096cbcad44f03ad49c007ca1a18abc53c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-16 09:34:55 +00:00
Ulf Hermann
7f2912b036 QmlProfiler: Rename method in statistics model
dataChanged() was too generic and easily confused with other methods.

Change-Id: I68b8bcb609599e56a1a2d3c6cf53d878281f7818
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-16 09:19:28 +00:00
Christian Stenger
7943dfb5a6 AutoTest: Use constant for repeated string
Change-Id: I72b21c4976cabbcd454b2e9ca5cce93e57af0f20
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-16 08:39:25 +00:00
Christian Stenger
54f024dba4 AutoTest: Fix handling exceptions while environment setup
If setting up the environment for gtest fails due to an exception
we might end up having no reportable result but we get a return
code of 1 for the test application.
Inform the results pane instead of just ignoring the return code
and explicitly send a fatal result for this.

Task-number: QTCREATORBUG-20280
Change-Id: I05e522764d6302c5b0760c4bc10e01a2248a4494
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-16 08:39:06 +00:00
Christian Stenger
96ccb95e6f AutoTest: Avoid unneeded duplication on rebuild
When the rebuild of the tree model has been triggered
due to switching between grouping by filter or directory
it could happen that some children did not get merged
into others due to (insignificant) differences.
Avoid this visual duplication by finding items similar
to the one to be added and if there is one re-use this
instead.

Change-Id: Ife49593638e0af23ffc7353e305be4ea25eb2180
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-04-16 07:47:36 +00:00
Alessandro Portale
db2e962a2f Autotest: Silence Msvc warning
gtestsettingspage.cpp:38: warning: C4138: '*/' found outside of comment

Change-Id: Id68e5e163623684d21d5d7e93652ef0804a46bd4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-04-16 07:47:05 +00:00
Eike Ziller
ab7d8a8fc1 Fix potential nullptr access in editor manager
Introduced recently in f1e02c0826

Change-Id: I9cae829c6c58ed30021b7c29fcde7487bf2ff625
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-04-16 07:36:24 +00:00
Orgad Shaneh
16cf54f6e9 Qbs: Re-add a connection that was lost on merge
Change-Id: I74484fef775da269f7444e2ebb22435d32da9a26
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-16 07:34:44 +00:00
Orgad Shaneh
05125cf146 Qbs: Use project from input target
Changed in recent merge.

Change-Id: I06457929072c1a8937ba702e093a3dff1ce7f2ff
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-16 07:32:29 +00:00
Ulf Hermann
87c12c4e1b QmlProfiler: Store statistics data in a saner way
We don't need to retain the durations after finalize(), and we can use
vectors instead of hashes, as we will cover almost all types anyway.

Vectors allow us to potentially use the position of an item in the data
as its row.

Change-Id: I2c09406f0e0a42f5f517f8444755b1664efb8f3b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-04-16 07:16:35 +00:00
Andre Hartmann
a7cda9a54b ExternalToolsConfig: Fix tab order for path choosers
Change-Id: I6d0d596eddea1c94f92d39f7cc827f54260d8aab
Reviewed-by: Nazar Gerasymchuk <troyan3@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-04-15 15:24:52 +00:00
Antonio Di Monaco
5784fce244 Fix UI freeze while building with multiple cores / distributed build
When parallelizing the build, and a verbose compiler error/warning
is printed (i.e. a template overload error), the IDE wastes a lot
of time parsing always the same file patterns, and that freezes
completely the UI. The only workaround is to kill the build process
using a terminal.

Implement a file cache, thus mitigating the freeze issue.

Change-Id: Ibcbdb6e6161af7cef424e90f7cfdc2fc34f6d7c1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Antonio Di Monaco <tony@becrux.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-04-13 16:04:08 +00:00
Nikolai Kosjar
a8eeb10630 ProjextExplorer: Update a comment
Change-Id: Idfd5a91c4033f7f0a290e73c9d11592bd01dd11d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-13 14:20:44 +00:00
BogDan Vatra
429c596395 Android: Fix debugging on Android 8+
The new way is much reliable and now we can debug all the libs from very
first start, including static constructors, JNI_OnLoad, etc.

The downside is that the startup is a little bit slower then before.
On a Ryzen 1700X is 2 to 5 seconds slower.

Task-number: QTCREATORBUG-19081
Change-Id: Iacedf7b8aa84de5026f9c81eeca35dd377cf4640
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-04-13 14:05:40 +00:00
Alessandro Portale
f748a5b593 TextEditor: Move the fixit light bulb to Utils
Change-Id: I3128c0363737980a77fa780601f0b245d01540ad
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-04-13 13:58:57 +00:00
Robert Loehning
5c8844d8f7 CppTools: Don't deref null pointer
Change-Id: I92eade63b4fdc7039ce9b4e0a7db1091fb34d692
Reviewed-by: hjk <hjk@qt.io>
2018-04-13 13:04:15 +00:00