Commit Graph

45323 Commits

Author SHA1 Message Date
hjk
55dcec95f7 QmlProfiler: Shuffle tool widget creation around
Put the border between plugin code and view code in a more
natural place.

Change-Id: Ib5250a30e52ec9899dcb01bac23cdad62a2d5c5e
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-03-03 09:57:31 +00:00
Tobias Hunger
3cffacdd0f CMake: Improve default generator setup on Windows
If ninja is not an option on windows: Pick mingw makefile generator
for kits with a Mingw toolchain on windows and the nmake makefile
generator for other toolchains on windows.

On Unix fall back to the Unix makefiles generator if ninja is
unavailable as we did before.

Change-Id: I8005615e6f725d38c16c1b9026d3f7548e7b42db
Task-number: QTCREATORBUG-15756
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-03 09:53:08 +00:00
Alessandro Portale
0f8e3f2000 Flat themes: Implement Diana's separators
The flat theme as defined by Diana has the motto:
"Remove unnecessary lines, avoid gradients".

This patch implemets that for the flat themes, while
leaving the default theme unchanged.

The only tweak that touches all styles is that
"Styled Separator" has for consitency now the same look
as standard toolbar separators.

Change-Id: I80ab0d9bf5ca20ab0daa57baf5a7e095a4a0c653
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-03-02 17:32:42 +00:00
Eike Ziller
1698b77827 Fix translations of JSON based wizards.
Used inconsistent translation contexts.

Task-number: QTCREATORBUG-8945
Change-Id: I59d1370501438f4ca00cd801cb6f2803a5ada9b7
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-02 14:47:07 +00:00
Eike Ziller
a6d43e317b Translations: Fix some wrong contexts in ts files.
We often have includes relative to e.g. <qtcreator>/src/plugins, so we
need to pass these to lupdate as well to make it find headers there.

Task-number: QTCREATORBUG-8945
Change-Id: I1d44c90b9a5f6da742666fe3dcd0fc83b1c527f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-03-02 14:13:05 +00:00
Robert Loehning
02de3071ee Squish: Update tst_git_first_commit
Change-Id: Ib5122595a3036345f441238de20878885f860aa4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:56:10 +00:00
hjk
9ff81d5c68 Debugger: Make Perspective status label global
After some discussion we agreed that the contents is ephemeral
and does not need to survive perspective switching.

Change-Id: I41de6a8f9478e4bd229c8b204ef7a3fa0a344b75
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:14:14 +00:00
hjk
7a5226aa47 Valgrind: Clean up tools interface a bit
Mainly move tool specific code from plugin.cpp to *tool.cpp.
Clean up includes etc.

Change-Id: Ic968ead9d93099c59abe9f99a9db529305160f95
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:14:07 +00:00
Ulf Hermann
c0b9565de7 QbsProject: updateCppCodeModel() after building for extra compilers
We don't know the target files of extra compiler until we build the
project. So, if we detect that situation when generating the code model,
regenerate it after building the project the next time.

Change-Id: I5dab9be2fcc14a11b01ecbc0d67f2d8e895c1b91
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-03-02 12:37:30 +00:00
Ulf Hermann
77b1063d8c QbsProject: Implement filesGeneratedFrom()
Unfortunately we cannot use it for updating the code model after all,
as the same file might be used in different products to generate
different files. However, with the new "recursive" parameter to
qbs::Project::generatedFiles() we can use that function directly there.

Change-Id: Iec8e1a1366c6f4d94198b38bcb464d05106dbbff
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-03-02 12:37:26 +00:00
Christian Kandeler
8e1ec99a07 Update qbs submodule.
To HEAD of 1.5 branch.

Change-Id: Ic39054f3f1379e75f57a559efd206bacd2b82f62
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-03-02 11:16:01 +00:00
Orgad Shaneh
2383a6b452 QbsPM: Do not delay initial parsing
When a project is opened, delayParsing() is called several times:
* activeTargetChanged -> buildConfigurationChanged
* environmentChanged
* startupProjectChanged -> ... -> buildDirectoryChanged

delayParsing starts a 1s timer for aggregating all the relevant changes
before starting the actual parse.

This makes sense also when the user makes changes (like switching build
configurations fast, or editing the build directory).

When the project is opened initially, there's no reason to wait before
parsing.

Change-Id: I4eb0c7d3419465bc01e8f9febc9ee808684adb6e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-02 11:06:06 +00:00
Robert Loehning
063a6fc9ba Increment IDE_YEAR
Change-Id: Ib7008eddf6c638e04711158dcb3543c3d992d7ee
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-02 10:58:08 +00:00
Christian Stenger
5d6f8547a2 ClangCodeModel: Fix license headers
Change-Id: I8a232ef986fe2492083ae767c14ba903a039c257
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2016-03-02 10:20:27 +00:00
Christian Kandeler
a57f930036 qbs build: Adapt to new implementation of qbs.FileInfo.
We cannot pass in a relative path as the first argument of
FileInfo.relativePath() anymore, which we relied on in some places. The
old implementation assumed that if both arguments were relative paths,
they had an implicit common base directory.

Change-Id: I55ee62e478da761cf085587c57220d5fb1ac990e
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2016-03-02 09:46:37 +00:00
Christian Kandeler
eaabc26126 QbsProjectManager: Display qbs version in settings page.
Task-number: QBS-855
Change-Id: I2f9c5536a79a8a5564daeca869c1d7951732658c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2016-03-02 09:43:23 +00:00
Orgad Shaneh
c5f60bcc7c Debugger: Fix compilation without tests
* Some functions were inside WITH_TESTS section.
* MSVC requires Perspective::Split to be explicitly exported.

Change-Id: I272cefc5c4f446415b2714595f8b398f8ce010a4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:52:30 +00:00
hjk
ee4874e4ee Debugger: Simplify code a little
Change-Id: Ib259058973eff47e730f4354f2feaaccc3029746
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:28:06 +00:00
Eike Ziller
8da98c44f1 Merge remote-tracking branch 'origin/master' into 4.0
Change-Id: Iab01658c329f3bf57077595d54be6ed73f11f715
2016-03-02 09:18:06 +01:00
hjk
f3bd7412ef Debugger: Remove return value from AnalyzerManager::createDockWidget()
Change-Id: If6cd2a68f2f99a1977ded0f05a12790194143274
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:08:15 +00:00
hjk
6492d16408 Debugger: Split out re-usable parts of ex-AnalyzerMainWindow
Next steps is to re-use it for ex-DebuggerMainWindow.

Change-Id: Ic272d062f6db2e54ed62082c2a7d3a289b810a03
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:06:55 +00:00
hjk
397e6546e1 Debugger: Split debugger main window implementation
... into a plain Utils::FancyMainWindow object and the debugger
specific functionality in Debugger::MainWindow.

A step forward to share the Utils::FancyMainWindow with the
(Ex-)Analyzer MainWindow and towards merging Analyzer and
Debugger mode.

Change-Id: I50e89d9d615226cb9b9af1a653c7383468e40a93
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:05:23 +00:00
Alessandro Portale
c43c0163a5 Add the "Dark frame" Qt Creator theme
http://blog.qt.io/blog/2015/02/09/qt-creator-flat-style-ui-design-new-light-theme/
defines a dark and a light theme. We start by implementing the dark one.

"Dark frame" stands for dark toolbar areas and light content areas.
The name is silly, and we need to find a proper one before the release
(we will most likely keep the silly name, though).

Since the existing "dark" theme is much darker and has a dark content
area, we don't want to simply replace that.

Change-Id: If2197c4a07ae1e374be4449b6ed0383cdbe314b3
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-03-01 18:28:50 +00:00
Alessandro Portale
7ef8ba082d Application wizard for Qt.labs.control based applications
Let's make it easier to create applications with Qt labs controls. This
creates a tabbed navigation style. We can add options to the wizard to
create drill-down and other common navigation styles. Also an option
for the controls style (material, universal, etc.). And perhaps a
checkbox to include the virtual keyboard.

Change-Id: I9672ab12aa616e7ce08e90eb244fad525e5ab2b2
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-03-01 17:39:46 +00:00
Nikolai Kosjar
83e18c127c Clang: Introduce warning configuration per project
Change-Id: I5b9a330274e6f72b0786259eb25aa454877d4eef
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2016-03-01 15:55:30 +00:00
Alessandro Portale
b590642a85 FancyLineEdit: Implement flat style
Follow Diana's guide for flat themes:

http://blog.qt.io/blog/2015/02/09/qt-creator-flat-style-ui-design-new-
light-theme/

Change-Id: Ia15f266dbf9138e9cac61e04265970543b2505bf
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-03-01 14:42:19 +00:00
Ulf Hermann
302162e6d6 QbsProject: Use filesGeneratedFrom() to find files for ExtraCompilers
qbs::Project::generatedFiles() without tags retrieves all generated
files recursively. That is not what ExtraCompiler expects.

This way it should do the same as the other project types. It should
only retrieve the first level of generated files. However, as
filesGeneratedFrom() is currently unimplemented in QbsProject, in fact
it doesn't retrieve anything and the feature is disabled for now.

Change-Id: I8ba0b5e9310a55fcd348b3547d8ff87d97a1b498
Task-number: QTCREATORBUG-15796
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-01 14:32:19 +00:00
Tobias Hunger
5aca8ca27e CMake: Remove no longer used code
Change-Id: Icdd132b891e223a874051448bb4e5a090bdc245e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-01 14:30:44 +00:00
Tobias Hunger
a8853fa8b1 CMake: Make shadowBuildDirectory helper available
Make shadowBuildDirectory(...) a static method of CMakeBuildConfiguration.
That way it can be used by a future projectimporter.

Change-Id: I1b3ffc821ac9197aa5c90e2b78891df7a81a31dd
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-01 14:29:24 +00:00
Tobias Hunger
68b99dac2b CMake: Make parsing of CMakeCache.txt files available
Change-Id: I94876851dd4cf737418c4c00b589af1b3a9535ed
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-01 14:26:34 +00:00
Orgad Shaneh
d9a57623af Clang: Add some tests for lambda highlighting
Test that local, argument and member variables are highlighted
correctly when referenced inside a lambda

struct LambdaTester
{
    int member = 0;
    void func() {
        const int var = 42, var2 = 84;
        auto lambda = [var, this](int input) {
            return var + input + member; // All variables here
        };
        lambda(var2);
    }
};

Change-Id: I3b7b86c57a91f0f254715770dd870033be928b28
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2016-03-01 13:20:49 +00:00
Alessandro Portale
c2dfd0f53b Update Canvas3D application wizard to Qt 5.7 level
Upgraded r74 three.js port, which is compatible with Qt 5.6 and Qt 5.7.

Some three.js features require Canvas3D 1.1 API,
so increased the import version in the template.

Change-Id: I1ae37237073d4149f56c1d93579b20a576496e33
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-03-01 12:24:51 +00:00
Ulf Hermann
09c4ae8ed5 QmlProfiler: Limit hard resetting of QML debug connection
On windows it can take a long time to establish the connection. On OSX
we want to throw away the first connection after trying for 200ms. We
don't want to introduce #ifdefs here, so after throwing away two
connections stick to the third one.

Change-Id: I407120244747ac39429786e371c93a7d1e29933d
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-03-01 12:04:40 +00:00
Nikolai Kosjar
8cfef9657a Clang: Introduce switching/adding of warning configurations
A warning configuration is a list of command line (warning) options for
libclang. Three non-editable built-in configurations are provided by
default. The user can copy a configuration to customize it.

This is still a global setting and it changes take effect after
re-opening a document. Both issues will be addressed in follow-up
changes.

Change-Id: I86667d7dc39ad31b88666454220e6da563797740
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2016-03-01 11:21:36 +00:00
BogDan Vatra
4f04900f45 Update qbs submodule.
To HEAD of 1.5 branch. Also do the necessary
adaptations in the QbsProjectManager plugin.

Change-Id: Ic4c756b7f6134b9c61bad9635ac25c1e33c75825
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-03-01 10:52:08 +00:00
Tobias Hunger
869c46227d CMake: Only use ninja if that is found in PATH
Only use ninja by default if that is found in PATH. Still prefer ninja
if it is available as that apparently is a huge time saver, especially
on windows.

Change-Id: Iadaecbaddfe6592222f2ed5e42b440665e9246a7
Task-number: QTCREATORBUG-15756
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-01 10:12:40 +00:00
Orgad Shaneh
925492a1b3 QmakePM: Avoid multiple loads of the same standard icon
Loading a standard icon is expensive.

Change-Id: Ic6bae20c9d0bdcb07fda48309bebcc3a959bc031
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-01 10:06:50 +00:00
Ulf Hermann
dfa8e27968 QmlProfiler: Check runConfiguration for 0 before accessing it
Change-Id: I274d7a75313a899a2b0c05fddbe8e189f9b99156
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-03-01 09:00:31 +00:00
Orgad Shaneh
7026b26c49 Debugger: Do not set the current executable by default
Only when the user requests.

Change-Id: Iaae1acb879dc99bcb0cb4d15f92f685b17829a8b
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-01 07:04:09 +00:00
Christian Kandeler
f900b4e1ba Selection changer autotest: Fix build with namespaced Qt.
Change-Id: Ic9709ac4e76a199bb9fdd7ed231d48d498201de6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2016-02-29 15:14:37 +00:00
hjk
a26d5ece43 QmlProfiler: Avoid use of Analyzer::createDockWidget return value
In a quest to make the function return 'void'.

Change-Id: I36635c89948ded84b89861f169303a00bf2ea6bf
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-02-29 15:03:58 +00:00
Tobias Hunger
78074999f6 PNGs: Remove sRGB chunk
libPNG does nag about broken/useless sRGB headers on the console for a
while now. Remove them from our PNGs to stop that text from appearing
in the console on startup.

Change-Id: I2f49f892397bf9d4498ac39210fd6d1d4f29269e
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-29 13:28:51 +00:00
Christian Stenger
7985b518c2 Valgrind: Avoid soft assert when no project is opened
Change-Id: I3ff8a3dbc3b6115824477e307c03d9a2c0d19285
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-02-29 13:06:46 +00:00
Tobias Hunger
102135a768 GLSL: Fix warnings about inconsistent use of override
Change-Id: Ice4cf80141c5cb3c250c1c01fb70e6db8d1abe29
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 12:52:09 +00:00
Tobias Hunger
a286c8da44 ApplicationLaucher: Catch late WinDebug messages
Catch and display messages received from WinDebug interface, even
for a short while after the process has already finished.
This can apparently happen, e.g. when doing a qDebug right before
the application ends (and QT_LOGGING_TO_CONSOLE is not 1, the
application is being run in GUI mode, on windows).

Task-number: QTCREATORBUG-15546
Change-Id: I37a015da89fc409234adeb597171fa328f50c14d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-29 12:51:39 +00:00
Orgad Shaneh
13c3972a75 ExtraCompiler: Use a hash for contents
Avoid recurring scans of the targets.

From a simple test, there is usually a single target. This is mostly
done for correctness.

Change-Id: Ic025de0825133f1096c400278c929a7e9087c643
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-02-29 12:43:19 +00:00
Friedemann Kleint
4eeb9dc0c3 ProjectExplorer: Enable the document factory to handle directories.
Register the mime type inode/directory and use it to open
project files in that directory.

It is then possible to drop directories on the main window
which will cause the contained projects to be opened.

Also allows for simplifying the code in the command line handling.

Change-Id: I92138915216b1346a36b5ca7654cf2b7d6f405c4
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-29 12:13:58 +00:00
hjk
9c7146a881 Valgrind: Always use global settings if no project is loaded
Change-Id: Id52ec4fff052cbbafef1c83c1a864e259c55b148
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 12:02:57 +00:00
Tobias Hunger
5a04c8b06a Session: Modernize code a bit
Change-Id: I6459da31592a391533f7eb062e1b9f1bb9dabc78
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-29 10:50:25 +00:00
hjk
931ee3382c Analyzer: Rework the dock widget layout generation
Decouple layout generation from widget generation and
separate analyzer action description from menu action creation.

Tool specific layouts are named "Perspective" now.

Change-Id: I774efe77a07640c4cc26e4e566662c8a673c8831
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 10:47:43 +00:00