Commit Graph

42790 Commits

Author SHA1 Message Date
Jochen Becher
d92142f149 Add new ModelEditor plugin.
The plugin is based on the 'modelinglib' library. For features and
screenshots see https://wiki.qt.io/ModelEditor

Change-Id: I857be0652a852cc69a9729f64e67134fe630af00
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-16 12:13:36 +00:00
Jochen Becher
64e2ba87ef Add modeling library
Modeling library implements the entities, diagrams and widget Ui for
ModelEditor plugin and tools. This is a 3rdparty library not following
the QtCreator coding style.

Change-Id: I981e38a10fff1c1792f285d5837553aa7596cd2f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-16 12:13:17 +00:00
hjk
77661e378a Utils: Remove qPidToPid() adapter function
Since Qt 5.3, there's a QProcess::processId() providing direct access.

Change-Id: Ia9c143c7a92ec61d1aa36ff3f4670ba72a509634
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-09-16 12:08:16 +00:00
hjk
1a8faab311 ProcessExplorer: Use 64-bit PIDs in DeviceProcessSignalOperation
This is for consistency with the return value of QProcess::processId().
No platform supported by Qt uses pid values exceeding 2^32.

Change-Id: I8dcdaf9e4640f321bf66eb200aeacdc84da5153f
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-09-16 11:06:41 +00:00
Daniel Teske
014a7b332b CMake: Rewrite logic for kit selection
Some time ago the all the wizards for the Plain C++ were coalesced into one wizard.

Since then the wizard asks first for the targets via a targetsetuppage and then
in the CMakeOpenProjectWizard asked for the kit again.

This patch clean thats up, by always using the TargetSetupPage for kit
selection and removing code from the CMakeOpenProjectWizard for kit selection.

It also adds more types of buildconfigurations

Offer: Debug, Release, ReleaseWithDebugInfo, MinSizeRelease with the
corresponding -DCMAKE_BUILD_TYPE parameters. That argument is saved
in the build configuration and used once for the first cmake run. (Subsequent
runs of cmake don't require passing that to cmake again.)

Also do not require running cmake on creating the buildconfiguraiton, instead
postpone that until the buildconfiguration is made active. With the current
cmake wizard, selecting multiple kits would show a dialog per buildconfiguration.

Change-Id: I3bb806113f4f529f8e291830647d2515a6c4df8a
Task-number: QTCREATORBUG-12219
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-16 10:08:52 +00:00
Daniel Teske
798fa669bf ProjectExplorer: Check if the project can rename a specific file
before renaming the file.

This adds a new api:
FolderNode::canRename(oldFileName, newFileName) that asks the
project manager if a specific file renaming could be applied to
the project file.

Change-Id: I77bae56db06d81fd03e590285d6079abea2c514b
Task-number: QTCREATORBUG-14521
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-16 09:58:56 +00:00
Thomas Hartmann
366e89e9cf QmlDesigner: Adding helper function for icon browser
Change-Id: I6f333c897802c8bf1d93b168f5d108b77bfa33c2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-09-16 08:55:09 +00:00
Orgad Shaneh
6cac3b73ab DiffEditor: Add indication on failure
Task-number: QTCREATORBUG-15051
Change-Id: If8beef268fa6390f2ff8f36996354f9685b70d80
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-15 20:38:20 +00:00
Tobias Hunger
7adb56afde QmlPuppet: Fix warning about unused static function
Change-Id: I3a7fbc18a8fe6b208600996bfa45202389009a18
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-09-15 14:21:47 +00:00
Tobias Hunger
83cea95b95 QmlPuppet: Fix warning about overriding method
Change-Id: I3cee4ab6ae27c56808e69adb9da0ffed336c3ff2
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-09-15 14:21:40 +00:00
Tobias Hunger
15614b2b7c Gdb: Fix warnings about inconsistent use of override
Change-Id: I8999f88acd30ecaa475837391ff4ba5622ae8ee4
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-09-15 14:21:32 +00:00
Ulf Hermann
666fd0d659 Timeline: Provide some sane defaults for all text elements
Change-Id: I40e4a777c6f485443ab142cc220ae22dab44b752
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-15 13:06:50 +00:00
Ulf Hermann
a324694671 QmlProfiler: Persist the last trace file loaded or saved
This is quite handy if you keep all your traces in one directory.

Change-Id: I09842404493c02fb0ca9c4a328950f7b6dcb5be0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-15 13:06:44 +00:00
Ulf Hermann
05388a7229 QmlProfiler: Simplify application state handling
Only half of the states are useful for anything.

Change-Id: I4591ccda6eec902e929e07947bad6c3f7b967ef9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-15 13:06:40 +00:00
Daniel Teske
bcdadbec72 ProjectNode: Provide default implementations of a few functions
Since a lot of derived classes can make use of those.

Change-Id: I051542e8d318476348d753de4d4c0a30b3a9ed62
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-15 10:46:28 +00:00
Daniel Teske
fa94ec2c3b ProjectExplorer: Simplify code for showing rename errors
Lambdas!

Change-Id: I89d381aaca07eb678d818c2be138197e25b855b1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-15 10:46:20 +00:00
Daniel Teske
8395157426 Project: Add a option to synchronize kits and build/deploy across projects
This is far from perfect but seems to work. Further work could add more
fine grained control over which projects are affected by the automatic
synchronize. Also there might be a few cases where the switching is
over zealous or missing.

Change-Id: I26ad3d59431251564917e4b408c66695dc454823
Task-number: QTCREATORBUG-5823
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-15 10:45:53 +00:00
Ulf Hermann
d5707e0e32 Debugger: Use Qt's JSON encoder for debugger protocol
The V4 debug service expects correct JSON as input and gdb, lldb, and
pdb expect Python object literals. There is a subset of JSON that is
also valid as Python object literals and we use that for the protocol
spoken with gdb, lldb, and pdb. The strings passed to CDB are tunneled
through JSON strings and converted to byte arrays before sending them.

Change-Id: I87319b5450e5c3c3b29c565b75cddaa612767611
Task-number: QTCREATORBUG-14931
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-09-15 08:28:14 +00:00
hjk
7d3bb6fdee Debugger: Remove some unneeded calls to resetLocation()
Since resetLocation() is called when the repective actions are
triggered immediately before the engine's executeFoo() are called
there is no need to call them in executeFoo() again.

Also, remove the unused autoContinueInferior(); function.

Change-Id: I8d2ec419c0da6efa388ce1ed317f31d24654897f
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-09-15 06:00:25 +00:00
hjk
7ac99044e8 Debugger: Merge watcher request creation
... of {Gdb,Lldb,Pdb}Engine. Code is the same nowadays.

Change-Id: I874b1ddfd813c15cc16c9b91bd894c7c42b56e93
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-09-15 06:00:14 +00:00
hjk
1cb811ebe6 Debugger: Slim down CHECK_STATE() expansion
Less generated code.

Change-Id: Iafcafc875afa3ead12e10fd5f316d9663b2f9823
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-09-15 05:55:29 +00:00
Eike Ziller
054ed354e0 Merge remote-tracking branch 'origin/3.5'
Change-Id: I30148c16cbb66ef670caaf1c74dccff47069bf68
2015-09-15 07:41:02 +02:00
Daniel Teske
e818a4ed90 Algorithm: Add a TODO for the future
Currently e.g. this won't compile:
Utils::equal(&Class::toString, QLatin1String("xxx"));

because eqaul_to<QLatin1String> doesn't know how to compare
QString and QLatin1String.

In C++14, equal_to<> (without any template parameter) was added,
which simply works in that case.

Change-Id: I463d01e23f9f0379fea95ef1de4305751af8f1a7
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-14 10:54:52 +00:00
Daniel Teske
33d1a91c4f KitManager: Consider sdk kits for initial default kit
Change-Id: I86874f3d138f49d9962e11323364ba856b03bffd
Task-number: QTCREATORBUG-15002
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-14 10:54:35 +00:00
Daniel Teske
37a2cee1c6 GenericKit: Fail to open if the default kit is invalid.
The generic project manager does not ask for a kit on opening a new
project, but uses the default kit.

Change-Id: I33371afb386c780ec8e3e9bbc7010ccfa4733d85
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-09-14 10:54:25 +00:00
Tobias Hunger
d0a8f5acbf CppTools: Remove unnecessary code from abstracteditorsupport
Change-Id: Ie9032ea494d151a491d37cd5e777f3c2df40f1e2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-09-14 10:26:31 +00:00
hjk
04cc526630 Debugger: Remove two unused functions from cdbparsehelpers
Change-Id: I63865dd975e981c6c3ed49708e2b81e7e5b1ce0c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-09-14 09:25:27 +00:00
Tobias Hunger
4345b37bf1 Wizards: Rename all qml template files
The QML lint does pick up the QML template files from the wizards
directory and complains about those when opening Qt Creator. So
rename them.

Change-Id: Ifa7a6006c222bf7b30c41097b07167c845bf7a48
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-09-14 09:19:29 +00:00
hjk
4c0aa28ab5 iOS: Use some more Qt5-style connects
Safer to refactor.

Change-Id: Ie909b695e7d1d7a473aba6bb39e6bdf0d5d24d85
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-09-11 14:30:37 +00:00
Ulf Hermann
89f1c0bf53 QmlProfiler: Remove some dead code
Change-Id: I2efd48a4dc13cc3996eda994eb4a046c101ad3e9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 12:26:53 +00:00
Ulf Hermann
fe2d9e2a3b QmlProfiler: Remove QmlProfilerClientManager::serverRecordingChanged
It doesn't do anything useful. Also the qmlDataReady member is
write-only and can be removed.

Change-Id: I667b05611cfc5960eb2fd73254a7b3c621ae98a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 12:26:49 +00:00
Ulf Hermann
fdbed834fa QmlProfiler: Refactor complete() methods
The complete() methods do something more specific. We should call them
by what they do. Also, we don't need to signal the finishing of data
acquisition via a signal and most of the postprocessing can happen in
the worker thread.

Change-Id: Iae986aefb8e7e7d4327c481d7a85325bbff7fa48
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 12:26:45 +00:00
Robert Loehning
73fbf3afd1 Squish: Don't check state of closed bug
The bug is fixed in master so checking for
it here in 3.5 is wrong and causes fails.

Change-Id: Idd429cf61734c869ada2728151b2bf6f82f6a240
Task-number: QTCREATORBUG-14307
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-09-11 12:15:20 +00:00
Robert Loehning
ebad4ed2c1 Squish: Test warnings about outdated Qt version
Change-Id: Id5c3243ace16ef545386cc3f63744963edd5fda1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-09-11 12:14:45 +00:00
Alessandro Portale
44750d047e CorePlugin: remove unused mode_Output.png
...hasn't been in use for years.

Change-Id: Ife303f9660b60465a869471d8ff0a77ff24beaa5
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-09-11 10:24:54 +00:00
Ulf Hermann
6f8acae62d QmlProfiler: Remove QmlProfilerBaseModel
Now that the V8 model is gone we don't need a base model anymore.

Change-Id: I35aee0627f78f417ec9c971e1c7bbf70adfc7b27
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:43 +00:00
Ulf Hermann
f388882995 QmlProfiler: Remove QmlProfilerModelManager::count()
Change-Id: If520a8575add386e64a7f56b63d0241f15efa2a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:38 +00:00
Ulf Hermann
ddb872727f QmlProfiler: Eliminate QmlProfilerDataState
This class is only accessible through the model manager and there is no
real point in keeping it separate.

Change-Id: I575d47c08aa8f6731d44739f9604072b95fd1dcd
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:34 +00:00
Ulf Hermann
f373c6794e QmlProfiler: Simplify file loading
There is no need to keep a redundant copy of the file name.

Change-Id: I407b1e4b92232a5869eade4d52eb7b4468fffa9d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:30 +00:00
Ulf Hermann
60ead88856 QmlProfiler: Don't create widgets in a worker thread
We better call QmlProfilerModelManager::complete() from the main
thread. There are too many things that can break if it's called from a
worker thread.

Change-Id: I92211df7ec072d572ed82dc1203efd2f67b4b540
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:26 +00:00
Ulf Hermann
fba007741c Timeline: Make time labels invisible if the timeline is empty
This avoids the "QTransform::translate with NaN called" warnings. They
were triggered by the text item having a negative width due to its
parent having a width of 0 and the item itself subtracting a margin
from that.

Change-Id: I3ee89b11ba2a27e568982a7ff9a9fe297907a37e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:21 +00:00
Ulf Hermann
ba973a68f2 Timeline: Properly clear the flickable when clearing the timeline
If zoomer.rangeDuration <= 0 we should set contentWidth and contentX to
0. Otherwise we get a long empty, but scrollable trace.

Change-Id: I1fcb5d75d220fdec609d1a7a2908f68d084d0f49
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:15 +00:00
Ulf Hermann
b1dd6c9d75 Timeline: Adapt selection renderer autotest to new material
Change-Id: If518418ba1ee22bff99abe9c108166976ce43f2c
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:10 +00:00
Ulf Hermann
8d1693e175 Tests: Fix Qt dependency for timeline and qml tests
"declarative" is QtQuick1

Change-Id: Ia72c846dcddc478a7eb0c247345259281fe65d77
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:06 +00:00
Ulf Hermann
cc77b47191 Timeline: Improve accuracy when constructing selection node
Constructing a QRectF from two points adds some float arithmetic that
can be avoided by doing the relevant math in integer before. Also,
make sure that we do the float subtraction as last step when
calculating the top of the rectangle.

Change-Id: Id33ffa0cf022ace09d5cdc3e6114b2add5f9b831
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 09:13:00 +00:00
hjk
d15cb20ee2 Debugger: Add 'override' to *Engine classes
Thanks to clang-modernize.

Change-Id: Ie1998c32d492cb458b9b4649c425c0de272ce976
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-09-11 08:49:42 +00:00
hjk
0095953e22 Debugger: Make CDB DebuggerCommand handling more similar to LLDB
Change-Id: Ib0ea7e95e2744f521cf369bd03d3d88ee2578cb2
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-09-11 08:01:27 +00:00
hjk
3ee97ef8ab Debugger: Use the usual callback mechanism for LLDB, too
... instead of the custom mechanisms to funnel breakpoint ids, cookies
and similar through individual bridge functions.

Change-Id: I2b6e906078eefdbcd4ffa166dc1881a1d0f7fb51
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-09-11 07:58:02 +00:00
Orgad Shaneh
0780c1d763 Git: Fix compilation with GCC 4.8
Change-Id: I47e2ac73a7afdd5c44c054bab54bc454973a1fa7
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
2015-09-10 18:49:37 +00:00
Sergey Belyashov
14ddaae54e Update Russian translation
Change-Id: Ib6f3b047a318528c6b6ad85b9421bc4b23555e90
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-10 15:47:10 +00:00