Commit Graph

44349 Commits

Author SHA1 Message Date
Tobias Hunger
628c4c5213 CMake: Do not continue watching files after a different BC got active
Change-Id: Ib044a168c2f4e8153cd89dac2a98a80cddb14513
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-12 09:58:38 +00:00
Eike Ziller
f45c59eb8a Merge remote-tracking branch 'origin/master' into 4.2
Change-Id: I96904f9c65b6c25bb4e04ca34e2d1acb27b8dd58
2016-10-12 10:15:59 +02:00
Eike Ziller
9c2d96c965 Help/macOS: Remove use of deprecated function
Change-Id: I8bffe04ab8900879417063041f4ee48886e31480
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-12 08:13:12 +00:00
Marco Bubke
63ae993bf2 Clang: Add output argument highlighting
This adds a mix-in for writable functions arguments.

Change-Id: I758f7fef77d992ea25395db550571ccb081fd5fd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-10-12 08:01:48 +00:00
Tim Jenssen
3218a831f0 QmlDesigner: move code
Change-Id: I5367fc95fb7d54fad7ad3dfbf77412e96613049b
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-10-12 07:42:07 +00:00
Christian Stenger
0c207683c0 QmlDesigner: Fix compile on OSX (clang/Qt5.6)
Avoid error: invalid operands to binary expression.

Change-Id: I1762e5dbda9d8f80a2d4427278a9f4da7905bf2e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-12 07:41:28 +00:00
Christian Stenger
5711a74d0a Debugger: Remove now unused functions
Change-Id: I85c27bd11a5bbe35a911f6aa2d6f628d7f0ffa28
Reviewed-by: hjk <hjk@qt.io>
2016-10-12 07:33:32 +00:00
Tim Jenssen
8c951d85c5 QmlDesigner: use currentEditor variable
reduces the code size

Change-Id: I0a2b2a1b2ba3ca8a94d729623112578b6f49aade
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-10-12 07:28:28 +00:00
hjk
cb7fb51313 Debugger: Fix QML extra stack loading for GDB
Change-Id: I702bb8f183e93fe25857115225fa55607ffb1674
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-12 07:04:56 +00:00
Christian Stenger
4ae49fb856 AutoTest: Make data tags checkable
Change-Id: I9a1e8c9524a3f8beb3851646fb7b6bf7c8cac557
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-12 06:47:40 +00:00
Alessandro Portale
de3cf47273 Utils: HighDPI-able, themable undo and redo icons
Change-Id: Id18c547636fe0577c3ef849e7208e430e53ffc7e
Reviewed-by: hjk <hjk@qt.io>
2016-10-11 15:03:10 +00:00
Thomas Hartmann
a4c96bd839 QmlDesigner: Clarify usage of line edits in form editor
Changing the font size to avoid eliding the text.
Even before the g was did not fit vertically.

Task-number: QTCREATORBUG-12039
Change-Id: I9a1ada6670149de4b68f2d10f2ba1e635a4a7d93
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-11 14:21:59 +00:00
Nikolai Kosjar
9d55d8485c Clang: Show info bar for parse errors in header files
...because those errors can lead to a substantial performance/functional
regression.

The actual diagnostics (possibly with children) are shown as details in
the info bar.

The info bar can be hidden with the "Do Not Show Again" button.
Re-enabling the info bar is possible with the new editor tool bar
button.

Change-Id: I03394ff8e3c84127946b0b791930b28a385f5a46
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 14:01:14 +00:00
Nikolai Kosjar
cb24872f43 Core: Allow to globally unsuppress an info
Change-Id: Ie7af913e28a323e4ad391a35cfd65abd084cfd99
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 14:01:03 +00:00
Nikolai Kosjar
b5023bda5a Core: Add suppression call back for info bar
Change-Id: I56bc10adcd101ed38c463096f1cf9396f0ff8b1e
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 14:00:58 +00:00
Nikolai Kosjar
1cece95f9a Core: Allow disabling default cancel button in info bar
Change-Id: I83f7903854823bb156f57f0fe45eb041a5f35044
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 14:00:53 +00:00
Nikolai Kosjar
a9e0c9e57d Core: Allow showing/hiding details widget in info bar
There might be multiple InfoBarDisplay instances, so create the details
widget for each separately.

Also, remember the "Show Details" state.

Change-Id: I6ee982a9a04373c35d3d1106bf049c0346c50525
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 14:00:47 +00:00
hjk
1d8b900720 Debugger: Avoid one round of lookups in QmlEngine
Will be triggered in handleScope()/insertSubItems() anyway.

Change-Id: Id5e236c231558c819398b38a13fb06def9ae39a6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2016-10-11 13:57:23 +00:00
Alessandro Portale
9c830a1619 Git: Use Utils::Icon for IconItemDelegate constructor
Use our icon abstraction instead of file names, because themed icons are
coming.

Change-Id: I0f4e44caf96aeab0c354d2166b111d59b7b29149
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-10-11 13:29:30 +00:00
Thomas Hartmann
9ad8ec385e QmlDesigner: If the scene looses focus change to selection tool
* We forward the focusOut event to the tools
* The text tool now commits the data if the focus is lost
* Adding override

Task-number: QTCREATORBUG-16085
Change-Id: Ibdf6f60fc53e3c6c03222741c16cd8dd665618e1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-11 12:29:36 +00:00
Thomas Hartmann
cba20b9e37 QmlDesigner: Do not allow to export attached properties
While this might be technically possible, I consider this
bad practice and see now reason to allow this.

Change-Id: I1b25e0e4f7c7925005a608e1cb98f5abe240fd50
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-10-11 11:04:35 +00:00
Thomas Hartmann
30aebff009 QmlDesigner: Remove dots form alias property names
For dor properties (e.g. border.color) we have to remove the dot.

Change-Id: I2a8fc515bf1c25cf85c18f90a5075e50626e0f89
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-11 10:56:07 +00:00
Thomas Hartmann
72ee54a928 QmlDesigner: Allow easy export of single properties
The name is idPropertyName by default, but can be changed
using the dynamic properties editor.

Adding missing qsTr().

Change-Id: I363222620d1ce81c23619e1bc4449ef50357b88b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-11 08:23:34 +00:00
Thomas Hartmann
18f87baa49 QmlDesigner: Clear selection before detaching model for tools
This ensures that the tools commit their data, before the model
is detached (change to editor mode/file change).

Task-number: QTCREATORBUG-14830
Change-Id: I74ccd173f3adba9fec0286795ee4e32087566fb3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-11 08:23:09 +00:00
Nikolai Kosjar
2bff4ba1ec Clang: Log clangbackend process errors to "General Messages" pane
Change-Id: I687c4a4eb8a7a8874fd88b4d3d6995535dade2c9
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 08:22:44 +00:00
Alessandro Portale
d10d0f73e9 TextEditor: Highpi-able and themable refactor marker
Change-Id: I1866e4c5eba7b1afd60e2c461644cbfd6b7efd75
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 07:09:47 +00:00
Alessandro Portale
22d40f4dc6 Utils: Unify the different Bookmark icons
The variant in Bookmarks was left aligned, which is obsolete due to the
textmark overview tooltip. Bookmarks and Help now use the same icon which
is in Utils.

Change-Id: I0f7899de2f7a8803aa8493659d2991ac13739144
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-11 07:09:12 +00:00
Thomas Epting
2d2db8312d MSVC: Ensure the correct MSVC installation folder is detected
With this change, tools like Bullseye Coverage that wrap cl.exe are
disregarded. Only true MSVC installation folders are considered now,
which allows using Creator+Qbs with such tools again.

Task-number: QBS-1000
Change-Id: Ifb49b3c032359aa4ba1bc702de0dc3d30d3b6075
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-10-10 17:28:50 +00:00
Giuseppe D'Angelo
ef5e762ec5 Remote help: add Stack Overflow
Change-Id: Iaa782ab2e7d6d7b36cccfc8291a220fdfa73d19c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-10-10 16:28:12 +00:00
Giuseppe D'Angelo
52aca31b48 Remote help: switch cplusplus.com to cppreference.com
The previous link didn't even work.

Change-Id: I876ae6e4ae25ee0d3a842020e0c2cdaa2e2a3446
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-10-10 16:28:05 +00:00
Giuseppe D'Angelo
64e92b1ea0 QMake project manager: add fallthrough comment
Change-Id: Icdac22ec69635675fbcd970fcc6215484bdecacd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-10-10 16:14:31 +00:00
Alexander Drozdov
76b76f2723 CMakeProjectManager: Support drop down selector for options
CMake provides "hack" for cmake-gui, that allows set options variants
and select then from drop down list. Allows Qt Creator re-use this
solution.

See:
- https://blog.kitware.com/constraining-values-with-comboboxes-in-cmake-cmake-gui/
- http://blog.bethcodes.com/cmake-tips-tricks-drop-down-list

Drop down values can be added to option via:
 SET_PROPERTY(CACHE OptionName PROPERTY STRINGS Option1 Option2 Option3)

This solution should not restrict to provide any other value, it
provides only suggestion for user to select one of prdefined values.

Change-Id: I8fc52155775f1e04979db8206bb42363df9359e8
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-10-10 15:07:30 +00:00
Tobias Hunger
9e67dfbe17 CMake: Move more code into BuildDirManager
Continue to concentrate all the code reading random cmake files in
BuildDirManager. Now the task is to clean up the code, make it less
dependent on values it should not depend on (kits, etc.), make it
handle changes better and finally add another implementation that
uses the cmake server mode to extract the data.

Change-Id: I533625e376b969b64287bc205bd2e4be7a605306
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-10 14:45:51 +00:00
Nikolai Kosjar
2817a1b639 C++: Fix build of cplusplus-update-frontend
cplusplus-update-frontend.cpp:1667:22: error: 'qSort' was not declared
    in this scope

Change-Id: I70a7401239765f6338b3c77187766333fc487f95
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-10-10 14:28:40 +00:00
hjk
3b8087a85c Debugger: Keep expansion state when stepping in QML
Change-Id: I88c87c040fe276a4436d398ba777b98b6732f37a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2016-10-10 13:53:33 +00:00
hjk
656ceff510 Debugger: Remove old formatting hacks
These go back to the time where we faced raw GDB output. Nowadays
we get polished data from the dumpers already.

Change-Id: Ifeb2c0609d482bbd6d7783242f13c74ecc320233
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-10 13:53:23 +00:00
Nikolai Kosjar
bf5c1cc4fb Clang: Avoid duplicate jobs without changes in-between
This could happen, e.g. with this message order:

  >>> updateTranslationUnitsForEditor()
  add job<1>
  run job<1>
  >>> updateVisibleTranslationUnits(Utf8String(), {})
  >>> updateVisibleTranslationUnits(path, {path})
  add job<2>
  finish job<1>
  run job<2> -- Ops, nothing is changed but job<2> is started

This led to an outdated translation unit (e.g. wrong highlighting).

Now JobQueue checks for duplicates in the queue and checks all the
currently running jobs.

Change-Id: I05843fddcbd21ce0489681c283227c0027ded428
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:37:20 +00:00
Nikolai Kosjar
380d756a03 Clang: Hook up supportive translation unit on first edit
Parsing happens rotationally on the translation units.

The recently parsed translation unit is used for completion jobs while
the older version is used for parse jobs.

Advantages:
  A1. A completion job cannot be blocked anymore by currently running
      parse job.
  A2. Faster triggering of parse jobs. A reparse was triggered about
      1650ms after the last keystroke. This is down to 500ms now since we
      do not have a blocking translation unit for the completion anymore.

Disadvantages:
  D1. Memory consumption is doubled for an edited document.
      This could be addressed by suspending the second translation unit
      after some time of inactivity.
  D2. Setup of the supportive translation unit takes some time.

Change-Id: I958c883c01f274530f5482c788c15cd38d6f4c3e
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:36:59 +00:00
Nikolai Kosjar
a85d5c7222 Clang: Return updated documents
Change-Id: Id4b1267914019ac56cdd132c6d597167a1f2b9a9
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:36:48 +00:00
Nikolai Kosjar
6ede503aa3 Clang: Soft assert creation of a job
Change-Id: I59af185fe2942eb4cd191692c56e6449610312e3
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:36:38 +00:00
Nikolai Kosjar
c8cec2dd0d Clang: Base JobQueue on translation unit
This enables a job per translation unit instead of per document.

This does not change any behavior yet.

Change-Id: Iafb8dab5da32b53dbb3010c16241bf89cbb81b38
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:36:33 +00:00
Nikolai Kosjar
8d443b40b7 Clang: Extract long clock/time_point references
Change-Id: If2790263e9a314f27762c57cf6bf4ef67f93a84b
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:36:24 +00:00
Nikolai Kosjar
1a426d9f01 Clang: Support second translation unit
A TranslationUnit is owned by TranslationUnits now. TranslationUnits
allows to add another TranslationUnit and to update/query the recently
and previously parsed translation unit.

This does not change any behavior yet.

Change-Id: I8a2f0cc05d3e51bf739dd5d7c4da14b54147f3ab
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:35:48 +00:00
Nikolai Kosjar
c12d01fb41 Clang: Add job queue for each document
...in preparation for follow-up changes. This will enable e.g. a timer
per document.

This does not change any behavior yet.

Change-Id: Ic1dc06de602373c666d47ce7a95ab99e56d389d5
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 12:35:35 +00:00
Eike Ziller
b64bb0a7e3 Help: Fix that help viewer opened even if URL is opened in browser
After we constructed the online URL for Qt/Qt Creator documentation that
is not installed locally, we can just open that via desktop services
instead of bothering built-in help viewers.

Change-Id: Ic8a37bc22d34af881b5daf87534d59db4d331e44
Task-number: QTCREATORBUG-16111
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2016-10-10 11:09:03 +00:00
Christian Stenger
01db726870 AutoTest: Fix running selected quick test functions
Task-number: QTCREATORBUG-17093
Change-Id: Ia404efe5779eaf5e735410db83840d9b9f58f5bd
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-10 10:58:34 +00:00
hjk
82803f5a68 Valgrind: Create only one extra configuration aspect
Let only the Callgrind tool create one, Memcheck shares it now.

Task-number: QTCREATORBUG-17053
Change-Id: I29d17ef5801ab295c2523f0748616b9e2aab29ce
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-10-10 10:02:56 +00:00
Tobias Hunger
318b6c9dba JSON Wizards: Add "isPassword" property to LineEdits
Change-Id: I5539c66c162345bda052546fa02cc69d4bd55f9a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-10-10 08:29:48 +00:00
Christian Kandeler
93fa6ebc6d QbsProjectManager: Allow to switch on qbs profiling via env variable
We don't want to expose an option for this in the GUI, as the output is
not easily discoverable and the information is mostly interesting for
qbs developers.

Change-Id: I79a11e3ad12880b9862690cf18bdd3188aa9c03c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-10-10 08:29:27 +00:00
Eike Ziller
21258bac46 Merge remote-tracking branch 'origin/master' into 4.2
Change-Id: Ibc8b4de34e6790854d23b829c96a1a128ea0e6a4
2016-10-10 09:25:10 +02:00