Commit Graph

46044 Commits

Author SHA1 Message Date
Ulf Hermann
c75ddf6b93 Timeline: Provide a method to set all timeline models at once
Setting a number of models one by one results in quadratic overhead
when (re)building the UI. If there are many models this quickly gets
out of hand.

Change-Id: I7f017784c3f0a6a9d7e52c881eb1d8ca4cf70886
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-27 09:12:27 +00:00
Ulf Hermann
b3b4666745 Timeline: Fix sign of height marker for timeline items geometry
The adjustment for items of small height in the vertex shader was
broken.

Change-Id: Icfaef5b1e582696240fe1ed211dbb26502cc208e
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-27 09:12:12 +00:00
Christian Stenger
bad4bac21c AutoTest: Do not use special members in base class
Change-Id: I9e110039ea886f6b0c3e6ddc7361bc9fac387abe
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-05-27 06:01:57 +00:00
Christian Stenger
aaf7181c0d AutoTest: Fix execution of test sets
Broken by 842ab2a551

Change-Id: If34eb0ae726f172b049473b8dd1c92e7b771968c
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-05-27 06:01:51 +00:00
Christian Stenger
317a1d14d7 AutoTest: Unify test parse result implementations
This is also necessary for a uniform handling while adding or
updating test tree items, which in turn makes it possible to
separate model and items once more.

Change-Id: I84ff558d23490c8734b22062f00e03e8c06d6720
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-05-27 06:01:44 +00:00
Thomas Hartmann
1628d052fc QmlJS: Ensure linkImports() can be run in standalone test
In standalone tests there is no instance of ExtensionSystem::PluginManager.

Change-Id: I890016c4e0d2fbb41cfc0a5614e936d31e43cd0f
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-05-26 16:03:43 +00:00
Orgad Shaneh
547d18c0b9 QmakePM: Use Qt5-style connects
The heavy lifting was done by clazy.

Change-Id: Ibcc1bc772c6cc4413ae5834a442f7d270dc4cd75
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-26 14:05:28 +00:00
Ulf Hermann
1d4f0ccd5c Timeline: Only load the row labels when category is expanded
The row labels use up quite a lot of memory, and most of the time we
don't need them.

Change-Id: I25d0498311eb1fc0b3cc9abc7312baa2c1211a8d
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-26 13:14:40 +00:00
Ulf Hermann
d33dcac6ca QmlProfiler: Fix "Callee" vs "Caller" labels in statistics view
Change-Id: I28a134b0ae72bb87ad6849f0f70a5332ec019a50
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-26 13:14:24 +00:00
Andre Hartmann
a5b7ba58f0 SVN: Show conflicted files in submit editor
So far, they didn't show up in the submit editor,
so they could be forgotten during a commit.

Unlike Git, these files don't prohibit the commit,
but at least are shown in the list of modified files
and can be diffed.

Change-Id: Ia5cac7befb870321d2048622c1fac022d979c745
Reviewed-by: Hugues Delorme <delorme.hugues@fougue.pro>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-26 12:39:29 +00:00
Tobias Hunger
5d3823ac47 Use SynchronousProcess::runBlocking
Use SynchronousProcess::runBlocking in favor of SychronousProcess::run.
This avoid nested event loops which can produce really strange crashes
if not use carefully.

This patch only converts those processes that have a timeout of less
than 5 seconds or use the default timeout.

Change-Id: I9de8899dcc946af7049ea357a91972996c0256a1
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-26 11:50:03 +00:00
David Schulz
179153829a CPP: Remove unused function.
Change-Id: Ib55fd0c059b2e5e117250eb4671b3352ab41b310
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-05-26 11:03:56 +00:00
Tobias Hunger
be0b7f0605 Utils: Add fully blocking way to run a binary to SynchronousProcess
This does not use a nested event loop.

Change-Id: I581acdd07546dc633ff4ce371c69b72a6f6c7a8f
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
2016-05-26 10:02:21 +00:00
Leena Miettinen
ecc419f54e Doc: Add numbers with the latest Qt green
From Diana, to be used in screenshots

Change-Id: I8ee855c4bc512c4154c2bb47d8a23b8b1458dd02
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-05-26 09:28:24 +00:00
Ulf Hermann
0cd9e81378 QmlProfiler: Fix compile warning about implicit conversion to 64 bits
Change-Id: Ia3f24f3b29c3ea4a9322ca21767bb5231b2ca2eb
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-05-26 08:39:28 +00:00
David Schulz
0ba4f52ca0 Editor: Simplify completion settings.
Change-Id: If7840fcac0c620b97082229a9f93874dc7afe738
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-05-25 13:56:32 +00:00
David Schulz
509c977f30 C++: Improve automatic quoting magic.
Change-Id: I5d3a15dc100ae9c03bbc49de99714da1c89cb0d8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-05-25 13:56:05 +00:00
David Schulz
7595aaa227 Editor: Separate auto insert brace and quote magic.
To allow enabling/disabling both features separately.

Change-Id: Ica154e3b400823de7cf22daf006958802d751c64
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-05-25 13:55:50 +00:00
Ulf Hermann
94fc57c005 QmlProfiler: Support server generated event type IDs
This way we only have to transmit the location and data events once per
type, not once per event.

Change-Id: Ic6ab9619824764fc8b3abf09c7b58200eda2a198
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-25 13:52:45 +00:00
Ulf Hermann
0924ee5efb QmlProfiler: Move type resolution logic into trace client
This way we will be able to use server-provided type IDs for more
efficient lookup of event types.

Change-Id: I37cd592a7829e5f36c6cfc04e400013d1dc37155
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-25 13:52:38 +00:00
Ulf Hermann
ebd6d269c2 QmlProfiler: Directly pass events from client to model
Running them through the model manager via signals doesn't make much
sense anymore.

Change-Id: I6103d281dd640493f28acd7e787ea49712ebd8df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-25 13:52:33 +00:00
Ulf Hermann
cf02bf971c Timeline: Start items render pass with a BottomToTop node
This saves two vertices and fixes the test case.

Change-Id: Id0d7cec5412ec24720c610d704ccaeb9036ddcaf
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-25 13:52:11 +00:00
Orgad Shaneh
28367148ec FakeVim: Use Qt5-style connects
Change-Id: I85bc7b6e951515768da8473cadcec02cd58d30d3
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-25 07:49:30 +00:00
Tobias Hunger
6a3bb079fd Qmake: Use Qt5-style connect in QmakeProjectConfigWidget
Change-Id: Id9e6a7bd5b0f3aa425a64ad428bdf0072480e94f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-05-25 07:40:20 +00:00
Tobias Hunger
b68be9e3d3 Qbs: Use Qt5-style connects in QbsBuildConfigurationWidget
Change-Id: I12626597a87a965a4a0b657b5ca19470637f30ab
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-05-25 07:40:12 +00:00
Tobias Hunger
4fe46e492f Ios: Convert some classes to Qt5-style connects
Change-Id: Ifb483a92c75d9851f0c3f4c69f080ac449b35e40
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-05-25 07:40:02 +00:00
Tobias Hunger
39a4a837bb Qmake: Use Qt5-style connects
Change-Id: I4806a75acabe33b164d810d133e18573b75bb2ef
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-05-25 07:39:43 +00:00
Tobias Hunger
caf6277cf8 RemoteLinux: Use Qt5-style connects in AbstractPackagingStep
Change-Id: Ifcde41cbbae3f576eabffd077a672d4e9c20b2b4
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-24 15:44:29 +00:00
Tobias Hunger
e6a910bb3d QmlProfiler: Fix warnings about inconsistent use of overrides
Change-Id: I325b5d4371fb662c13a131963b382c77976fc803
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-24 13:52:45 +00:00
Tobias Hunger
ab8006913a SSH: Consistently use override in SshForwardTcpIpTunnel
Fixes warnings when building with clang.

Change-Id: I8775862e3ee4d717067f5cf42f9efe58e69845c7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-24 13:52:36 +00:00
Ulf Hermann
28c94c6b19 Timeline: Aggregate events when there are too many
With this change, if you have more than 1M events in a category, the
ones with the shortest distances from one another will be drawn
together, in grey instead of their respective colors. You can zoom in
or hover-select them to see what they are.

This greatly reduces memory consumption in those cases, but it requires
some more book keeping in order to identify the events to be
aggregated.

Task-number: QTCREATORBUG-14983
Change-Id: If54d6d7efe5f720aa72003b2c307ea9562c911a1
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-24 13:11:06 +00:00
Finn Brudal
e6729c487d CppTools: Fix include filename cache logic
When resolution of a local include fails, a global resolution must be
done. When doing so, re-use the cache.

This will speed up the resolution for projects that mainly use the local
include directives also for global headers.

Change-Id: I7488c1977a44b881f90faa863d22f6276c20b147
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-05-24 07:46:24 +00:00
Ulf Hermann
5ee38fda5b QmlProfiler: Remove duplicate method
Change-Id: Iad8420e5836ad8bc3efc9ecf67bf85b005ede7d5
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-24 07:44:03 +00:00
Ulf Hermann
105f0e963f QmlProfiler: Fix compile error in animations model
Some compilers don't like explicit initializers for arrays.

Change-Id: I49d056e0000334857a635d8da10491c0d1e5f36c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-24 07:40:28 +00:00
Nikita Baryshnikov
32df78c791 ProjectExplorer: fix compilation
ceil was not defined

Change-Id: I9dd7c0ab8f826da998b491864abb546819afc5a5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-05-24 03:22:10 +00:00
Alessandro Portale
4832cdf70b ProjectExplorer: Redone "Header" background
@2x variant. Painting code instead of Stylesheets. Removed scaling
and blurring of the image.

Change-Id: I12f184a66dcca790844e96b4bee3c3d5537a404b
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-05-23 15:36:56 +00:00
Ulf Hermann
c39ed2a3b7 QmlProfiler: Make progress widget more expressive
Instead of the progress bar we can now show the number of events we
have received, and the number of finished finalizers. This should give
a the user a better idea of what is going on.

Change-Id: I324fefbe6d5e3c24b080bfbc103c4317fa585215
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 14:39:24 +00:00
Eike Ziller
475e527cf0 Add readme to distfiles
Change-Id: I8dba77fe0d746b044975ca00e372575fe232480b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-23 14:35:13 +00:00
Eike Ziller
1b92b38e74 MapReduce: Fix documentation
Change-Id: Ic4d84328e7b88a666f7984ae7ec1f6bf55ef58db
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-23 14:35:01 +00:00
Ulf Hermann
ecd8e764dd QmlProfiler: Add a binary trace format
Storing traces in binary form is preferable as loading and saving is
faster and the trace files are smaller.

Change-Id: Ia7340ac526d5ce9391b1e32fc48fc1fab3ffa13d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:32:10 +00:00
Ulf Hermann
d6d69b811a QmlProfiler: Rename QmlProfilerDataModel::addEvent()
We will get another variant, without type.

Change-Id: I06bd47955ef909b2f467425bb9ad8c8b3e3dce27
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:32:06 +00:00
Ulf Hermann
0f513bc91e QmlProfiler: Use a temporary file to store the master event list
As we only ever iterate the master event list in a linear fashion, we
can use a temporary file to store it. This should allow for larger
traces to be handled without running out of memory.

Change-Id: I0d2aea6f998458fe5f426f6fef0f6937e915ae68
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:32:01 +00:00
Ulf Hermann
914e1e1fe1 QmlProfiler: Use data replay feature for saving traces
This removes the last access to the master event list, which allows
us to also remove the accessor function.

Change-Id: I0e70c2eb23d2b11aa8b131c03eb3adfad1a9b9e7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:31:51 +00:00
Ulf Hermann
4a1e5a637a QmlProfiler: Drive event loading from the model manager
We want to get rid of the big master list of QmlEvent in
QmlProfilerDataModel, as that gets very large for longer traces. In
order to reduce the dependencies on that list we load the events on the
fly into the child models while they are being received, rather than
having the child models query QmlProfilerDataModel for the event list
later.

As the trace client so far only emitted rangedEvent() for complete
ranges we run into problems with models that need their events sorted.
The rangedEvent() signals were sorted by end time, rather than start
time which makes it inconvenient to analyze them in a stack based way,
for aggregation. This is solved by passing on all the details from the
trace client to the models, with the QmlProfilerDataModel aggregating
the type information before having the events dispatched to the child
models.

Change-Id: I5831a20551f21cf91e27d298a709f604ebd96c3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-23 12:31:44 +00:00
Ulf Hermann
dd87df7e5d QmlProfiler: Load data event by event in aggregated models
This paves the way for driving the event loading from the model
manager. Also, unify the loading and eliminate the two different
classes for the children models.

Change-Id: Ic89e757963292d75b3b6fd7d6012f09194dff5a9
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-23 12:31:28 +00:00
Ulf Hermann
bc18fafffd QmlProfiler: Drop duration from QmlEvent
It isn't used anymore.

Change-Id: I432bebbd9ddde15baa22a17d339ac724ddb5fe59
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:31:06 +00:00
Ulf Hermann
1e8996b438 QmlProfiler: Methods for dispatching events by feature
When announcing features models have to provide functions that handle
events for those features now. The model manager gets a function to
dispatch events to the models that subscribe to them.

Change-Id: I3fd80443a68ba264a513d8d53ed473cf072f1dc7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:30:09 +00:00
Ulf Hermann
911c8842b2 QmlProfiler: Drop QmlProfilerDataModel::changed() signal
Nobody is listening to it anymore.

Change-Id: I7a437334e3fc6f091c8515574007b400eb312a72
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 12:29:50 +00:00
Ulf Hermann
5ba6f04d4b QmlProfiler: Load the timeline model data event by event
All the models do the same thing when loading the data: They iterate
the list of events, determine for each one if they accept it, and if
so, they load it. After the list has been fully loaded, they do some
finalization. This can be centralized, and ultimately we won't need to
expose the central QVector<QmlEvent> for that anymore.

Change-Id: Ia82facfdc3968200bbec323a02f2fcc02ac44e9e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-05-23 12:04:49 +00:00
Ulf Hermann
67378a7928 QmlProfiler: Restore feature visibility when starting data aquisition
Some models check the visibility to determine what to load.

Change-Id: I94d42ddc6e531d04f240c66d4b789826d8c17cf6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-05-23 11:52:32 +00:00