Commit Graph

50929 Commits

Author SHA1 Message Date
Christian Kandeler
efd7a141fa QbsProjectManager: Allow JS expressions when overriding properties
Change-Id: I2564b1268d801aa10f7b19c731928510d007bf02
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-09 15:27:10 +00:00
Ulf Hermann
faf77fd0e5 Timeline: Use QRgb and a lookup table for colors
It makes no sense to return a QColor as the only things we are using
are the red, green, and blue components. Furthermore, colorFromHue()
can only generate 360 different colors which we can easily cache
instead of recalculating them on each request.

This significantly reduces the time it takes to update the timeline
render nodes.

Change-Id: I7961014364a1bec5b089285148b2e6c141a6dc7d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-11-09 11:55:02 +00:00
Ulf Hermann
aaca50f705 QmlProfiler: Send loaded events in batches of about 1024
This significantly reduces the number of signals necessary when
loading traces. The overhead of queueing those signals across threads
was responsible for up to 80% of the time required to load a trace.

Change-Id: I461a2ef9944b0be102a29f8ed6b2b3f2f59f3c0f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-11-09 11:54:57 +00:00
Ulf Hermann
a432683e0c QmlProfiler: Mark various number writing/reading functions inline
The compiler does not necessarily get it automatically.

Change-Id: Id37c20960a66775e34b80cbbe666e22505c5b347
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-11-09 11:54:40 +00:00
Christian Stenger
beb54e31d4 Git: Fix missing include
Change-Id: Id77828b24df73f6e28f1c2ae6fd7533e826a99c2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-11-09 11:41:57 +00:00
Tobias Hunger
0f1f595a12 QmakeProjectManager: Improve signalling of parser state
Correctly signal when parsing of a qmake project starts and stops via
the build- and runconfigurations.

The buildconfigurations are in the picture since they disable the run buttons
when the user has selected to build before deploy and deploy before run.

Task-number: QTCREATORBUG-16172
Task-number: QTCREATORBUG-15583
Change-Id: I44b5f5ce8e145cb93dc0022f66e1edcc202875e4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-09 10:15:05 +00:00
Orgad Shaneh
4ed00a348b Git: Make mergetool parsing more robust
Symbolic link conflict is printed in 2 phases: First "  {remote}", and
then "a symbolic link -> 'foo.cpp'".

This happens because this message involves an additional cat process:

  elif is_symlink "$mode"
  then
      echo "a symbolic link -> '$(cat "$file")'"

For local/remote line, wait for a full line before parsing.

Change-Id: I641cde12aa44dee2f7dff8fdae70da0c443e55d3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-11-09 08:55:04 +00:00
Orgad Shaneh
877a10c8ef Git: Support typechange
Replacing a normal file with a symbolic link.

Change-Id: Id07ab339e8fcdf039b61d6e459b8d751d499f4f6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-09 08:53:51 +00:00
Orgad Shaneh
b98f2a3059 Git: Simplify translations
Change-Id: I6b1af54d6cb5bc5569f5fffdec29f00b37a34436
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-09 08:53:47 +00:00
Orgad Shaneh
0bcfc977e9 Git: Show success message on abort
Change-Id: Ie0ec1a9c00673a6cd50c2a7c54b83303c80cf55c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-09 08:50:16 +00:00
Orgad Shaneh
3eaddacf74 Git: Disambiguate revision from path on log
If you have a file with the same name as the current branch (in the
repo's root), Push to Gerrit opens with an empty list.

Change-Id: I607c67b1d00da83d4551d3f3f75e5a91478294d5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-09 08:48:52 +00:00
Dmitry V. Tchoomak
10954e07a5 QMlJSCheck: Add missed types of State changes
Change-Id: I08ed689dfa92477e35961b7b0b1d407f0c974979
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-09 08:19:43 +00:00
Ulf Hermann
08b780205a Theme: Use QVariantMap for theme properties
QML can directly mirror this into a JavaScript object, so there is no
need to manually copy the values into a different container. Also,
QQmlPropertyMap is very expensive as it will listen to changes to any
value in the map. We never use this. It would be entirely enough to
update the whole map at once if we ever want to update the theme at
runtime.

Change-Id: Ie2b549e9af51d620801808c87d6f659cc7a06c04
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-08 17:58:49 +00:00
Thomas Hartmann
062512a246 QmlJSCheck: Adding more unsupported in designer types
Using initializer lists looks much better.

Change-Id: I314d846a9d383dbda432cd67010d79b492f40915
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-08 16:14:18 +00:00
Christian Kandeler
e3904d45fa Update qbs submodule
To HEAD of 1.6 branch.

Change-Id: Ia1ef808a80e36529cb81167acb8d3109f5f058ea
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-08 15:28:21 +00:00
Tobias Hunger
f33c6210cb CMake: Do not auto-run cmake if that was disabled
Do not run cmake on file changes if that was disabled in the CMakeTool.

Task-number: QTCREATORBUG-17232
Change-Id: I478161aebe353ddc47e24dd8a7f2cec54822e7d0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-08 13:47:44 +00:00
Christian Stenger
c07c4eb068 AutoTest: Avoid concurrent access on static function members
First thread using the helper function initialized the list
object another thread accesses it afterwards. This could be
problematic under some circumstances.

Issue was detected using Helgrind.

Change-Id: I1520b1f7364742cb02630af1fd9d98960dec1f41
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-08 13:44:51 +00:00
David Schulz
2ccacf1fe6 Debugger: Fix potential memory leak
Change-Id: If22513704f72cc1f9802ece100cc1bf129e028c3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-08 12:33:29 +00:00
Tobias Hunger
156282a97f CMake: Use QT_INSTALL_PREFIX for CMAKE_PREFIX_PATH
QQT_INSTALL_LIBS does not work as intended. That was not obvious since
Qt Creatod adapts the PATH, which had a similar effect, but breaks when
trying to build the project outside Qt Creator.

Change-Id: I36c7caf69a157ae0d4e3dc500265042fd5964681
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-08 12:08:36 +00:00
Tim Jenssen
724ce1ba0b space only changes
Change-Id: I21f86f9dd389597fe2f73179e32f46fa7114f590
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-08 11:18:52 +00:00
Ulf Hermann
bb40866217 Beautifier: Move initialization to extensionsInitialized()
Beautifier makes heavy use of mime types which shouldn't be accessed
in initialize() as that doubles the overhead for parsing them.

Change-Id: Ie731f1194f281e9574ef914d67537651658ea9e7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-11-08 11:04:01 +00:00
Ulf Hermann
608f647374 Register python editors icon overlay in extensionsInitialized()
Requesting mime types in initialized() is expensive because it causes
the mime database to be parsed. As additional mime types are added on
various plugin initializations, the database will be reparsed later
anyway. It's better to request the mime types afterwards.

Change-Id: I6c5f67a4483a693b2f69beb300b8014522fa2678
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-11-08 11:03:53 +00:00
BogDan Vatra
de687f5f9e Fix AndroidRunner
"m_tries" and "m_wasStarted" must be initialized before "m_psProc-
>start" call, because m_psProc will emit "QIODevice::readyRead" signal
before the function ends.

Change-Id: I10c63ca2d15c362d6df04018757b1916b9989893
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-11-08 10:03:00 +00:00
Tobias Hunger
9073a6419a CMake: Clear buildsystem related tasks before starting a new parser run
This prevents stale tasks from piling up in the issues pane.

Change-Id: I90f79e969b8929e5bb43e3964c01fcd10af2ea33
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 21:16:56 +00:00
Tobias Hunger
6b469e81e8 ProjectExplorer: Never delete base node when building a tree
Never delete the base folder node when using buildTree to set up
a tree of files in the project tree. This makes sure the node stays
around, even when it turns empty. This matches how buildTree is used
in our code.

Change-Id: Id2a589985d9ac704316db5f210232532dcdb5d58
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 21:16:25 +00:00
Frank Meerkoetter
e3b38b8a34 Fix dead stores in the debugger plugin
Found via the clang-static-analyzer

Change-Id: Ic461a8c369bef60081f7c2dfd9d6a778c64dbda0
Reviewed-by: hjk <hjk@qt.io>
2016-11-07 16:56:47 +00:00
Christian Stenger
3893ffa039 AutoTest: Speed up parsing for tests
Initial parsing for tests when opening bigger projects was too
slow. Try to let the parsing process on more than one file at
a time to speed up the whole process.

Project       before       now
qtbase        ~11min       ~4min
qtcreator     ~2min        ~40s

Values above may vary depending on the underlying hardware.

Change-Id: I77eeb189c82c58fce84ffbac67143ec7fa0adcae
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-07 13:46:12 +00:00
Tobias Hunger
abf84c3252 Qt: Handle absolute paths to mkspecs
Handle absolute paths to mkspec and do not accept any directory
as a mkspec: Only accept directories containing a qmake.conf.

Task-number: QTCREATORBUG-17237
Change-Id: I18c2b28a0abc525721df7c4f1ac2d272ca4cadb1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 13:26:04 +00:00
Tobias Hunger
a7f237d17b CMake: Make future-handling in ServerModeReader more robust
Change-Id: Id2fc5487fdfb7619db2eee2439e5636afdc39add
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 13:25:39 +00:00
Nikolai Kosjar
128d4cc580 Clang: Bring back warning/errors icons for qbs build
Broke with

    commit 9d9f003e0f
    Clang: Distinct warning/error icons

Change-Id: I90694ba8467ff1a4c1dcaab00bf566f4822f962f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-11-07 12:43:08 +00:00
Ulf Hermann
cfe06a8132 Timeline: Drop manual control of scale updates
The assumption that the scale entries only have to be updated when
their stable index changes was wrong. The repeater can shuffle around,
stash and restore items at will. It might restore some item at the
same position, but the timestamp it refers to might have changed. Thus,
the value being displayed was wrong until the timeline got scrolled.

By using a proper binding we avoid this. In turn the blockStartTime
might get re-evaluated twice for a single update to row.firstBlock.
That would be bad as we would constantly re-render all the texts.
Experiments show that the current implementation of the QML engine
happens to order the bindings in a way where this doesn't happen and
we cannot get better than this without huge overhead.

Also, we simplify some of the expressions involved.

Change-Id: I93848f89bdbefd28c3dbf30f13551c9476dabd37
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-11-07 12:25:55 +00:00
Christian Stenger
9050f19046 AutoTest: Re-use snapshot instead of fetching it while visiting
Change-Id: Ia41da67cb1fa047473b84baebafdbcaf6586c7ae
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-11-07 12:05:27 +00:00
Tobias Hunger
bc14dc223f SVN: Escape files containing '@' characters
Append a '@' to files with a '@' in their name. The last '@' (and
everything following it) is cut off by SVN and treated as a revision.

Task-number: QTCREATORBUG-17229
Change-Id: Icab62345c18277c0327b1e548a45feda0906b3c3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 11:24:15 +00:00
Christian Kandeler
0dc87382e9 QbsProjectManager: Translate qbs module properties to compiler flags
Workaround for this not being available via dedicated qbs properties
right now.

Task-number: QTCREATORBUG-17207
Change-Id: Id06a41edf0308e5b20dd6bc7aa390c18d75acb19
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-11-07 11:04:35 +00:00
hjk
537c8721b7 Debugger: Also display symbolic names for pointers
GDB-only for now.

Task-number: QTCREATORBUG-7550
Change-Id: I5a1096028e7454937b727419ec73f5fd979f4e8b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 10:44:29 +00:00
Thomas Hartmann
50c63a78b8 QmlDesigner: Avoid unnecessary updated of item library model
We call delayedUpdateModel() instead of updateModel() setItemLibraryInfo(),
to avoid a second update. The updateModel in updateImports() is not required,
since we call setItemLibraryInfo().

Change-Id: I2fbb4f9d0cd467776141ae4d0c8aaecb00f55557
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 10:29:01 +00:00
Christian Stenger
9b09bf62bd Squish: Fix tst_default_settings
QC now supports C compilers as well, adjust the test to reflect this.

Change-Id: I20f2264b31c1f21384b463beccbc27ab1073083c
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2016-11-07 10:12:52 +00:00
David Schulz
8736565c14 Debugger: Adjust to latest field changes
Change-Id: Ic4b3c8f0670a0d58e3d762ff0765862709901d2a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:57:05 +00:00
David Schulz
bf133156ee Debugger: Replace the native void type with a fake void type
The native void type returns errors when accessing for example size
or name.

Change-Id: Ia5826ff4894eb7205d37a15661b82d9410171413
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:57:00 +00:00
David Schulz
bf982fdfb9 Debugger: Set size of void to pointer size
The previously defined size of zero resulted in a number
of division by zero exceptions.

Change-Id: I3faed573bb15b9b9fd825281b8f9b0c15a02a7de
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:56:57 +00:00
David Schulz
df35444e8d Debugger: Add helper function for value creation
Change-Id: Ibdf496e5d6f6772d5c9fd831b8c66823c7ba8e72
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:56:54 +00:00
David Schulz
4411f91139 Debugger: Set value name in cdbbridge
Change-Id: Ida4068d86b4a0785fcd848cdc4957dcf3a328135
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 08:42:02 +00:00
David Schulz
c44b30c391 Debugger: Return None type instead NULL
Always return a None type in the cdb python interface.
Returning Null will result in an exception whereas a None type
prints a stack as soon as a function or member from the return
value is used.

Change-Id: Idc4ea8547074e73ea17fb14f8e3793c0821cc526
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 08:40:02 +00:00
hjk
d6fff07de8 Debugger: Streamline common options page setup
A preliminary step to debugger options reorganization.

Change-Id: Iac77d87acfe246eff3f5734bcf35e35c2d6909c1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 08:39:46 +00:00
hjk
6f1bd8bbdb Debugger: Consolidate name handling of anonymous structs
Change-Id: I44acfdccb5cad02c95270490e319caca334c8a4b
Reviewed-by: hjk <hjk@qt.io>
2016-11-04 21:21:26 +00:00
hjk
5276f35ae3 Debugger: Move base class numbering to generic code
Change-Id: I046a587f9fbf2a6345f3c0432a1b5937069a9304
Reviewed-by: hjk <hjk@qt.io>
2016-11-04 20:47:09 +00:00
Christian Stenger
b171f3dfbc AutoTest: Ensure that testrunner can always return to not running state
Task-number: QTCREATORBUG-17226
Change-Id: I3ebba229ad8df4d59b550f7be3305bb8f14fb8b2
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-04 13:57:05 +00:00
Tobias Hunger
c286d16c00 CMake: Scan cmake tree for files
CMake is pretty poor with the data on which files are contained in a project.
Run a filesystem scan of the project directory to find more files.

Change-Id: I9cc3293a9faf9a967efa5f586c144c3e7773588b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-04 13:31:12 +00:00
Eike Ziller
261cfb1c98 Merge remote-tracking branch 'origin/4.1' into 4.2
Change-Id: Id15e2daa69c5f149c7aeafba1c212cfbd766e12c
2016-11-04 14:13:02 +01:00
Thomas Hartmann
2524a14660 QmlDesigner: Use original modifier for auto completion
We have to forward the call to the original modifier.
Without this patch auto completion does not work inside components.

Change-Id: Ic5798b3e853787da03d6ea1562e0d80ce0cc3bcc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-04 12:56:57 +00:00