* Add HostOS:PathListSeparator
* Add HostOS:ExecutableSuffix
Both should be useful e.g. for External Tools.
Change-Id: I2a807b189eb2ace5ac093e50ff406ebcd3e497a1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
DebuggerRunTool and debugger backend process have (almost) a 1:1
correspondence, unlike engines or the debugger plugin itself.
So it makes sense to accumulate backend start/rampdown login
in DebuggerRunTool.
Change-Id: Ia105283bcdf2641c7e9a401b4146b34c20605ba7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This should not expire after another year.
Change-Id: I86ed49d491f619509e6bd32fc2624df2a1c24f5f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There is a recurring special case that certain run controls depend
on the presence of specific RunConfiguration (which in turn has
it's own restriction on e.g. target or project types) but have no
further restrictions.
Make it easy to handle that case.
Change-Id: I2e86f366591b02003f720dcc00b4c52bb2f34e00
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Otherwise they are all invalid and nothing is loaded.
Change-Id: I12c71b231c81ce961754c1de67766010f00dd8d5
Task-number: QTCREATORBUG-20508
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
...to the global diagnostic settings list.
It was possible to add/remove some configurations without
adding/removing them to the checks combobox.
Change-Id: I31608fd3758c385aa2fb7ce06aceeb0b91403c50
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
qOverload() needs support for variable templates, which GCC 4.9 does
not support yet (it is only supported since GCC 5)
Change-Id: I79d6d234cdfb36ec539fcccc6619be39fae1b1fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If a file had multiple fixits and only a subset was applied, the
remaining fixits in that file were invalidated. Fix this by adjusting
the locations of the not yet applied fixits.
Change-Id: I2c190412e871e9011c4d4a62ed938e76ad4cdf72
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Describe the Bookmarks menu options and the buttons in the
Bookmarks view. Update and add screenshots.
Change-Id: I5a72fd1679fe1c3d674dc703884e3e9c3a663a47
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It is often possible to user (member) functions or members directly.
That improves readablility and potentially reduces the total number of
symbols.
Also use qobject_container_cast at places where it is appropriate.
Change-Id: Ia2591bca356591e001e2c53eeebcf753e5bc3c37
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
...for getting context sensitive help for a class or function
(an alternative to pressing F1).
Change-Id: I5c742f13a7eedde39d75cdb35c7ae860ac531567
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
By default the make step uses idealThreadCount jobs, except if it finds
a "-j" option in the MAKEFLAGS variable. The user can opt-in to override
MAKEFLAGS anyhow, and can also choose a different number of build jobs
(including 1).
This option is available for unix-style make. It is not available on
Windows with MSVC tool chain, which would use either nmake (does not
support parallel jobs) or jom (does parallel building by default).
Task-number: QTCREATORBUG-18414
Change-Id: Ic0b5c732d899607ce67ef0b496cc758497a3113a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
We cannot have the model manager clear itself from the dtor, as the
order of deletion between the various other objects parented to the tool
is undefined. Make sure we get into a clean state before the model
manager disappears.
This fixes the soft asserts when the tests shut down.
Change-Id: I8fcd52a7c2d0703cbdd215d85aa1d80c2e3296a3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Do not crash when the cmake tool that was used to parse the project
gets removed.
Change-Id: Ieda3ae2025dbcfb1f90d9bd01c5f0ed960756c6a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
turns out that flushing the ids together with the ProFile cache was an
abysmal idea, as the latter expires after a few seconds after loading
the project, while references to the ProFiles (and thus the underlying
file ids) are kept for as long as the project stays loaded. the early
flush would cause re-use of the file ids, which would wreak all kinds of
havoc when re-loading projects.
instead, ref-count the vfs class based on its instances.
amends 60245e55d7.
Task-number: QTCREATORBUG-20113
Change-Id: I7382a71af4d6a991156c05719deae9fb1e4fb278
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
... by default. The "New File" wizard, if not invoked from the context
menu, implicitly prefers Groups over Products, because the respective
nodes are tried first. Thus, we lower the priority of group nodes so
that their parent product will be a better match unless the group was
specifically selected.
Task-number: QTCREATORBUG-20480
Change-Id: I0c5b2dbf861065ee97ab957ec8bd86132295893e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Fall back to C tool chain and then to any other tool chain.
Change-Id: I1683f304a8042cd949f33fcbd4ef18b663e56ea3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Using unique_ptr for parented QObjects is maybe not the best idea in the
first place ...
Change-Id: I95e2d1dd27f8f3d42d90d206e4fed0d866d1ea49
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
ProjectExplorer::Project wants an ID and a displayName, and Target wants
an IBuildConfigurationFactory that returns a priority >= 0. Give them
what they want.
Change-Id: Iab539d183669729d0e57505143b462ffa92730ad
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Commented out in the analyzer base merge, and never missed since then.
Change-Id: I078b12a70970dc244bc4590520bdb1dd80d8b2ff
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It did nothing if false was passed. So do not call it in that
case and drop the parameter.
Change-Id: I9b055cb0c0c8be85d528247a269fb7fea062326b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
That's similar to d4ea80ef7c, but for LLDB.
Change-Id: Ie38b49d48418c614e42c095e9bb7f7f7a6ad5fd8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Latest refactoring brought up a new pattern for
creating and using the fake future.
Follow the same pattern at older occurrence.
Change-Id: I4db4b3e6b0558660ef416e4201a017acba3de538
Reviewed-by: David Schulz <david.schulz@qt.io>
Since the clang code model is enabled by default now, remove the text
that describes how to activate the plugin.
Change-Id: I2e2c5d84ca00302cb5f9f15dceaab48279fce75a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Don't set the initial palette on the text color scheme dialog. For dark
themes this would cause the labels for the dialog to be black, which was
very difficult to read against the dark background.
Mini project selector now uses the highlighted text color for the item
that
has focus. This will work more correctly when dark themes use a more
readable selection color, which will be done next commit.
Task-number: QTCREATORBUG-18888
Change-Id: Ie666af0ce9f8a8030e5e83ccd9a4de362dccaa4f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
QDir::exists() returns false for files which is not the
intended behavior.
Change-Id: I768432df93e10b3f8f570da4d94035038ff52e06
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
The code model is listening to editorsClosed signals, and checks for
which editors are actually visible when that signal is sent.
For this to work correctly, the signal must be sent only at the very end
after deconstructing all the views, because otherwise we might be in a
state where temporarily no editors are "visible".
Fix-up after 80ae992c91 which exposes the
issue.
Task-number: QTCREATORBUG-20464
Change-Id: I9ec5e579d681f2c12924be3d7b89aab398579505
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
List of checks does not give enough flexibility to
select/unselect specific checks. The tree fixes that.
Also remove Clang-Tidy checks line edit because it is
now integrated into the tree mode as an alternative way
of providing checks by pressing "Plain text edit" button.
'cpptools_clangtidychecks.h' is generated using python
script 'generateClangTidyChecks.py' and clang-tidy
from our LLVM/Clang 6.0 build.
Change-Id: I2ed1738cb2cbbf8dac6aba563469f06f69b11593
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Stick to coding rules
* Fix a variable name, probably a left-over.
* Simplify removing first items.
Change-Id: Ibfcc5ab4d6fd4cd21e6ab24c6964da4ad4478e8e
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
...in the diagnostic tooltips.
The "enable option" in the top right of the tooltip (e.g.
"-Wclazy-range-loop") is now clickable and will open the documentation
page for clazy and tidy checks.
Change-Id: I6e7e2d1fc39b3b6ccee328276b7a52ae4809b567
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
We assumed that diagnostics from clang itself (not tidy, clazy) have
always an enable option set, but this is not true as can be easily
observed with invalid code:
bla // error: unknown type name 'bla'
Due to the assumption we were running into the
conclude-category-and-option-for-tidy-and-clazy code path, which failed
and resulted in an empty category and thus an empty line in the tooltip.
Change-Id: Ic21629a637a7b0e5736ac514dc826bdc4c0cf91d
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
...now that parsing and creating the preamble is faster due to the
skipped function bodies.
As a consequence, we can remove all the extra jobs that were needed to
get an initial AST faster.
Change-Id: I79a66b8a0e8a180850af6daf353d9a679089bbb1
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
With this, we get
* Significantly faster reparsing (~ 50% faster here for texteditor.cpp)
* Less crashes due to less code to handle
* Reduced memory consumption and size of the preamble on disk due to
smaller AST
On the downside, we don't get anymore diagnostics for invalid template
instantiations, e.g:
-- header.h --
template<class T>
bool cmp(T t1, T t2)
{ return t1 < t2; } // Function body is not parsed.
-- main.cpp --
#include "header.h"
struct Foo {};
void example(Foo foo)
{
cmp(foo, foo);
}
The diagnostic "error: invalid operands to binary expression ('Foo' and
'Foo')" is not reported anymore. It will be noticed at build time.
Change-Id: I9b37be349f99af88b4786380ca1d8e6aff39b123
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>