Commit Graph

39219 Commits

Author SHA1 Message Date
Nikolai Kosjar
cb3c7538be CppTools: Fix flaky test_cpplocatorfilters_CppLocatorFilter
The GenericProjectManager tests left over some state in CppModelManager.

Change-Id: I3f5c5bf27b9443e6753eb6c24114e2e5b99e7372
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-19 10:25:03 +01:00
Nikolai Kosjar
b94b7b3ee6 CppTools: Fix test_modelmanager_extraeditorsupport_uiFiles
The test was broken since the QmakeProject was changed to work
asynchronously.

FAIL!  : CppTools::Internal::CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles() Compared values are not the same
   Actual   (workingCopy.size()): 1
   Expected (2)                 : 2

Change-Id: I6f7d05fb70af3def5fc371a9783b606309686e32
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-19 10:24:55 +01:00
Nikolai Kosjar
ef403a4515 GenericProjectManager: Tests: Clean up
* Get rid of CppModelManagerHelper.
  Now we simply use CppModelManager::projectInfo(someProject).isValid() to
  test whether a project is loaded.

* Copy project data to temporary dir before opening the projects.
  This avoids creating *.user files in the Qt Creator source tree and
  annoying pop ups on test start.

Change-Id: I1a57441ca2099beb6bb96cf620390d669fb47601
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-19 10:24:48 +01:00
Nikolai Kosjar
613304edfc CppEditor: Fix test_doxygen_comments_no_leading_asterisks
The settings from the test were not set.

Change-Id: I0e241ee1a60e4c4804c9e3e6819cbf0ecaa80d3d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-19 10:24:38 +01:00
Nikolai Kosjar
fb8e3b9963 CppTools: Clean up commentssettings
Change-Id: I397195a3e6d8b40a55d2a68429daf6c812f52da2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-19 10:24:26 +01:00
Nikolai Kosjar
205170a9e5 CppTools: Create ProjectInfos explicitly
...instead of going through CppModelManager::projectInfo().

Now CppModelManager::projectInfo() returns an invalid ProjectInfo in
case there is no valid data for the given Project.

Change-Id: I11908bf2ddf865b1d3d71ff176eaf4139292b21c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-19 10:16:37 +01:00
Friedemann Kleint
be7d63c99a Fix build of ProjectExplorer with g++ 4.8.2.
The compiler is unable to match the arguments of the connect
statement when a QPointer is involved.

Change-Id: I87d3c11b9452f07739bf4e905a18071145c4e21d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-19 09:59:47 +01:00
Marco Bubke
f6c0e573bf CppEditor: Use AsynchronousMessageBox
Event loops can lead to crashes so it is better to use a dialog which has
not it's own event loop.

Change-Id: I53b5dee15e7207df91df45fd531e4520d502481b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-12-18 18:22:16 +01:00
hjk
c3650bf269 Debugger: Use an enum for column numbers in stack view
Easier to read.

Change-Id: I85abf6e8c881b4d521f7791625cff37bbd2fffdc
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-18 15:51:33 +01:00
Erik Verbruggen
242b3f4110 C++: clean up numeric literal parsing and add support for n3472.
Separate the messy pp-number parsing from the numeric literal parsing.
The C/C++ preprocessor makes a grown man cry, but at least we have
"proper" literal parsing when we want it, including C++1y binary
literals.

Next step is digit separators (n3781).

Change-Id: Ia069eef454ed5c056f77694a5b8a595d0b76adc4
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-18 15:46:22 +01:00
Nikolai Kosjar
16becbd29c Plugin Tests: Create settings dir with QTemporaryDir
Create a clean and unique settings directory for "-test" runs if no
settings path is provided explicitly.

Change-Id: Ida2f5a74d42a5292963dd8d5d1f9dcddcdd24fd4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-18 15:43:49 +01:00
Eike Ziller
fd6ba0e2a6 OS X: Welcome/QQuickWidget fixes
The rendered text is still ugly, but the fuzzy text is better than the
alternative currently.

Change-Id: Id9e54fb406ee964e0b9b5c40b7a8108b45c15f85
Task-number: QTBUG-42861
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-18 15:39:18 +01:00
Eike Ziller
196e0d76e6 Welcome: Fix compilation with QQuickWidget
Use the background color property in the QML code instead of relying on
QQuickView::setColor

Change-Id: I556515a42d9483f88500fa5a5c56ea21f48fa685
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-12-18 15:37:43 +01:00
Eike Ziller
4cf7742fed Welcome: Use Core::Id instead of enum
Change-Id: Id65eb262d02bb4db765abefa361d407837b45782
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-12-18 15:37:22 +01:00
Christian Stenger
dfa76d74e0 ProjectExplorer: Fix compile for Qt version less than 5.4
Change-Id: Ic2500d009d2195d19651ac691c42d55a612fde04
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-18 14:17:43 +01:00
Christian Kandeler
7b226fffd7 ProjectExplorer: Hotfix for crash on session switch.
In ProjectTree::update() as well as in
CurrentProjectFilter::currentProjectChanged(), there are crashes due to
accesses to a pointer to a deleted project. Wrap the pointer in a
QPointer to prevent this.
May or may not be the correct long-term solution, but does fix the
crash.

Change-Id: I4182a4753578cc4765b9120a36cd8701d07c94c1
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-18 13:55:16 +01:00
Nikolai Kosjar
bd70ae3255 CppEditor: First un-register, then register in CppModelManager
...on a file path change.

Change-Id: Id4f67c9f133e53ddb3fea6c0ec3322f87914469b
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-18 13:44:48 +01:00
Christian Kandeler
19ff4c415f SSH: Close unused cached connections after a period of inactivity.
We keep connections open to avoid re-doing the authentication procedure
when the user runs or deploys a remote app repeatedly.
However, the connections should not be around indefinitely; we therefore
now close them after about five minutes of inactivity.

Change-Id: Ie677eb133b618d34c08528da2f2bc221472316b3
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2014-12-18 13:40:40 +01:00
Ulf Hermann
4c793f58ca Timeline: make notes model optional
If you pass 0 as notes model to the aggregator then all the notes
features are hidden.

Change-Id: I432f2820812c472221a0330de5b8f5d8d0fcad13
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:04:59 +01:00
Ulf Hermann
dac7e8644e Timeline: test TimelineAbstractRenderer
Change-Id: I9860af4b6aedbd656103bf5def38f1830b1352e1
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:04:28 +01:00
Ulf Hermann
f0da74d35d Timeline: Streamline model implementations
Allow models to be created without a parent and provide default
implementations for virtual methods. It's actually fine to have all
ranges in row 0 and in black by default. Having default implementations
makes things easier to test.

Change-Id: Ibb842ef295cdcfa13d8ca4be3489906af72e9699
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:04:09 +01:00
Ulf Hermann
7053378fdf Timeline: Complete test coverage of TimelineModel.
Change-Id: If27c51b1189bc0bb0333837c58849bc79b779845
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:03:38 +01:00
Ulf Hermann
0e267a554c Timeline: Clean up TimelineAbstractRenderer
Don't include things twice and don't signal const TimelineModel where
it isn't const. Also, allow creation of renderers without using the
private class.

Change-Id: I1c46d75c6abf1f38731dde6f4f3ebe8f5af2ad08
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:03:07 +01:00
Ulf Hermann
9bcf730f55 Timeline: optimize items render pass
We only need 2 additional vertices for items of different height, not 3.

Change-Id: Idff63aaead53f0a95d89ba5d6455b4fb169059f2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:02:40 +01:00
Ulf Hermann
dc03975409 Timeline: Don't leak render pass states.
Change-Id: Ib19cd8cc76324e583ed79d8a660bb06a7b154a66
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:02:21 +01:00
hjk
3743211e54 Debugger: Rework register handling
Use register names as handle, not their index in the view.
Store the raw real values, not some stringified version
as primary data.  Use subentries to break down bigger
registers into smaller entities. Also remember the
previous value of a register and show it in a tooltip.

Change-Id: I8ae3cc8766a7b211bc7cc827c734e5cf6060825c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-18 12:53:46 +01:00
Eike Ziller
b2bb7ea2da Locator: Shuffle the priorities a bit
Introduce a "Highest" priority for the filters-filter. Keep "Low"
available for lower priority than the default all projects and current
project filter.

Change-Id: I9152d2e6c64b65478416cee18183bce1240ee187
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-18 12:30:47 +01:00
Erik Verbruggen
7d377850d0 C++: handle case-insensitive file names for project files.
... by keying on Utils::FileName.

Task-number: QTCREATORBUG-12390
Change-Id: Ib99eefcf3440d4383f624a614a3093f427efffbd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-12-18 11:54:12 +01:00
Nikita Baryshnikov
5a40c071a4 HelpPlugin: simplify createHelpViewer
and remove stale define

Change-Id: I8f47c539457577faee13320f88709b60deee90ea
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-18 09:31:19 +01:00
Daniel Teske
5d2d37b794 Fix crash in ProjectTree on restoring a session
On adding nodes to the node structure, both the FlatModel::nodesAdded
and ProjectTree::nodesAdded code is run. We need to ensure that
FlatModel::nodesAdded is run first though, as we need that information
in the ProjectTree.

Task-number: QTCREATORBUG-13667
Change-Id: I0b4b41ed6036cfdef668c16689d25611633ab0c9
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-17 17:42:38 +01:00
Eike Ziller
beb0797008 LocalHelpManager: Make last methods static
Change-Id: I1b4a72437b76cefb1c457033692f20efc41c089c
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-17 16:46:41 +01:00
Erik Verbruggen
a48adcf9be C++: handle case-insensitive file names in the CPlusPlus::Snapshot
... by keying on Utils::FileName

Task-number: QTCREATORBUG-12390
Change-Id: Ia98afb5a9160a7fd9225a2f9e02539ff3c35ae86
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-12-17 14:32:17 +01:00
hjk
a8ece5e9b0 TreeModel: Make root item configurable
This is mainly used to communicate the number of columns and
header contents.

Change-Id: Ic3163265338d71f1fa8250e4765bb764e5784197
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-17 14:18:01 +01:00
Oswald Buddenhagen
e822d5705f process QMAKE_CXXFLAGS_{APP|SHLIB|PLUGIN}
qmake helpfully hard-codes this processing in the generators instead of
letting default_pro & co. handle it, so we must explicitly reproduce it.

Task-number: <ask nikolai>
Change-Id: Ia42c727291b28cf4b01f11e464d2244ce1fb53dd
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2014-12-16 20:25:53 +01:00
Oswald Buddenhagen
5a9a24fa3d move postprocessing of INCLUDEPATH into ProFileEvaluator::accept()
the rationale is that postprocessing which is done by the generators (in
some cases right at the point of emitting code to the makefile) should
be abstracted inside the "medium-level" class which also does the path
resolution done by the generators.

along the way we also make minor fixes to the processing:
- we pay attention to CONFIG+=no_include_pwd
- we add the build dir as well when shadow building

Change-Id: Ib389942fdc0470e05c1aa49e3615b6ac00241662
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2014-12-16 20:25:42 +01:00
Oswald Buddenhagen
1304c08764 don't LoadPostFiles in build_pass reader
the two functions which use its output don't need any of the processing
done by default_post and later prf files.

Change-Id: I160a5c2762071d5dc97ed195889196b83d8e2204
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2014-12-16 20:25:33 +01:00
Volker Vogelhuber
779f38bded allow out of tree cmake deployment configurations
Change-Id: I78c7e46372ea7a5c1651c420f66c0ce6326d7297
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2014-12-16 16:19:46 +01:00
Ulf Hermann
c40d9e9d17 Timeline: Create new library from contents of QmlProfiler
Change-Id: I964b2f149e237eb25a08600e8dab8968e8bc0cb9
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-16 15:22:48 +01:00
Ulf Hermann
acc4d1a412 QmlProfiler: Implement TimelineModelAggregator::clear()
Change-Id: I3c300a1ebc2286e0ac5d281f29dbffeb5259e62e
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-16 15:22:36 +01:00
Ulf Hermann
eb9cbd5e3e QmlProfiler: Fix lock icon in selection details
It didn't show the "locked" state anymore.

Change-Id: Ia5f9e86bf265261c17ca1318bb166bbaf0414d78
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-16 15:22:25 +01:00
Ulf Hermann
2b7a9f50b4 QmlProfiler: Fix selection by typeId
Selection propagation by typeId was still using the old general
aggregator methods that have been removed by now.

Change-Id: I955149e6ed8f3d6274a2a15a882e1f10341302e4
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-16 15:22:20 +01:00
Ulf Hermann
b1cd118cff QmlProfiler: Fix nesting calculation.
The previous version makes no sense as two events for which
start2 > end1 cannot have start1 == start2. Also, as we only keep
parents, not children, in the parent list, we don't need all the
special cases for grandparents.

Change-Id: Ic6bae2fe237a31726fd55f560c309ba09b5af25d
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-16 15:22:14 +01:00
Eike Ziller
3c3e62dfd0 MacWebKitHelpViewer: Restore override cursor also on error
Change-Id: I7b5fe179e567c360a45aab57748696cb60f07e3b
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-16 14:18:02 +01:00
Christian Stenger
3b9a65f210 ClangCodeModel: Fix compile on older compilers
Avoid digraph "<:" in template specialization.

Change-Id: Ia6fac2639458fe98b662a5e033538c15e8df5aa7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-12-16 09:40:43 +01:00
hjk
449e2dcadc Debugger: Some cleanup in DebuggerPlugin
Remove unused code and unneeded slots.

Change-Id: If3de545137376b1addeb3c7608c479dadf03ed46
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-16 08:12:03 +01:00
Christian Stenger
f515a2528e Squish: Enable QmlProjectManager plugin for tst_qtquick_creation3
Change-Id: Idaa2a603f5945a4df249f9b6ce606769a5c7ea74
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
2014-12-16 07:19:39 +01:00
Christian Kandeler
2f1cbad968 QmlProfiler: Fix qbs build.
Change-Id: I369e0bdf29481c3b86af71f82760dc7550d2be23
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2014-12-15 17:44:24 +01:00
hjk
aff13fdf27 Debugger: Make DebuggerEngine internal
Expose less of debugger internals to the device plugins.

Change-Id: Ie78756b033fae3fe02bff92eadf26b7319990605
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-15 17:23:48 +01:00
Ulf Hermann
8f7bd19600 QmlProfiler: be more resilient against missing models in render passes
Change-Id: Ib5c0ec44bac213f544dfce533299bee03213b374
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-15 17:13:11 +01:00
Ulf Hermann
4b5d38c8cc C++: Avoid digraph "<:" in template specialization
This translates into "[" on compilers that handle digraphs.

Change-Id: Iba650d6929a1d3850018203b4f8331888ec8a257
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-12-15 17:06:05 +01:00