We don't want the tooltip to show up on the disabled expand button.
Change-Id: I0ac6f185a6d6a5e01d07e1dcdacba736816f151e
Reviewed-by: Tim Henning <tim.henning@kdab.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Commit e95fd876 ("Debugger: Make the time stamp recording
option work for single items") introduced an enum, and the old
(off-by-one from column 1 on) plain integers were used here,
leading to the problem that the second column would always
show "0" and the actual value would go to the third column
instead of the second one when hovering over a variable
with the mouse in debug mode.
Use the enum values to make it work as expected.
Change-Id: I3a66596281e27a3bcc953ee6ea461755d5e64d5c
Reviewed-by: hjk <hjk@qt.io>
When the user presses the return key, this must only lead to project
setup if clicking the "Configure Project" button would have been
possible. Otherwise the prerequisites are not met.
Change-Id: I247b9ff3a0600798667c7f95a99e7b61e7171706
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... to the bits that are actually used.
Change-Id: I39a6ed1f4136d75b776bb89eec6165479097a4ec
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... and availableSetups as far as mechanically possible.
Change-Id: Ia1d7babe943eea25da97cef7838187c234378673
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... availableBuilds() and availableSetups().
Goal is to merge them and inline all the local createBuildInfo()
functions.
Change-Id: I9f19093163808b6da6dc83977894420e08a1edd9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
If the user presses return in the path chooser, and the directory does
not contain a proper build, then a message box will come up, after which
the focus might not be at the path chooser anymore, which breaks our
(admittedly somewhat brittle) logic. So we now keep an explicit state
that tells us whether the parent widget should be allowed to handle the
return key or not.
Amends 50dc5674d3.
Change-Id: Ia4643b57641fda591292d20e6883e1c8bc281c0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We can reset some file once to flag a file dirty if the included file has
changed.
Change-Id: I8763bb80f65882fba4e70057f569234e77097927
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We watched all sources but we do not want to watch the sources of the
project part because they are not used to build a PCH.
Change-Id: I700cd6077fc54230c9be94d620043cf3f10cf9ea
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
If a watched file changed we should update the ModifiedTimeChecker too.
Change-Id: Ie43f5cf5b6dd4ddb1383168a1326add21f6e3e9d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Because there a limited resources to watch files we watch now directories.
So we need much less resources.
Change-Id: Iac558832e9521a7a1a67c5ea99b42ad1b0b5129c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Although this is valid JavaScript matching the '.' is
not working as expected.
The directory always gets messed up by replacing the
first character with a dash. Use an alternate regular
expression and also ensure the replacement happens
globally instead of once as we want to replace all
dots by a dash.
As at it fix handling of the file suffixes as well.
Task-number: QTCREATORBUG-22625
Change-Id: Ide189fe50e29994abfb368e503050b9b413aba9f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Useful when there are multiple commands at the same minute.
Change-Id: Ie5c344fe3d19e54e5b2fce1a5b3dc0cfdeb267e2
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The code path for allocators other than
'std::allocator' does work for 'std::allocator' as well,
so unify this.
This also fixes the case of std containers when
'std::allocator' is used and the compiler flag
'-D_GLIBCXX_DEBUG' in place which results in size assumptions
that were made in the now dropped path to not be fulfilled,
thus leading to an incorrect display.
Fixes: QTCREATORBUG-22606
Change-Id: I2b6f8ac9933b210d26197975017292e2fc227541
Reviewed-by: hjk <hjk@qt.io>
Essentially a proof-of-concept that knowing the actual classes is
not needed.
Change-Id: I82b1664c93a25e418860bda77f66ec77144cf658
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Prelimimary step towards aspectification.
Change-Id: I3ce6e3ca3ecd3fbb858525a533202af2fd0e6ff5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Show also the same hint as a tooltip.
Fixes: QTCREATORBUG-22382
Change-Id: If1b594994cea387d6727775ce4c28c21d51f2d86
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This fixes expansion of 'std::basic_string' in the locals
view when a custom allocator is used (which previously
would result in "<not accessible>" being shown);
for example, when expanding 's' at the breakpoint
in the following example:
#include <string>
template<class T>
class myallocator : public std::allocator<T> {};
int main()
{
std::basic_string<char, std::char_traits<char>, myallocator<char>> s("hello");
return 0; // break here and expand value of 's' in locals view
}
Change-Id: I0ca98de50d83a1f6e6f019acc37a1302a05fdba8
Reviewed-by: hjk <hjk@qt.io>
This fixes the std::vector<bool> pretty printer, which
previously just showed "<not accessible>" for variable
'v' for the following sample code (with system GDB
pretty printer disabled so that the custom
pretty printers are used):
#include <vector>
template<class T>
class myallocator : public std::allocator<T> {
};
int main()
{
std::vector<bool, myallocator<bool>> v;
v.push_back(true);
return 0; // break here and check value of 'v'
}
Change-Id: Ia9883aa0b06a396cb3546ac2594a82c1b2062b80
Reviewed-by: hjk <hjk@qt.io>
'Dumper::fromNativeValue' expects an object of type
'gdb.Value'. However, the 'pretty_printer.children()' iterator
may return values that first need to be converted to this,
as documented for function 'pretty_printer.children' at [1]:
> This method must return an object conforming to the Python iterator
> protocol. Each item returned by the iterator must be a tuple holding two
> elements. The first element is the “name” of the child; the second
> element is the child’s value. The value can be any Python object which
> is convertible to a GDB value.
Therefore, explicitly convert the value to a GDB value first.
This fixes the expansion of 'std::vector<bool>' when system
GDB pretty printers are enabled which previously led to
"<not accessible>" being shown e.g. for the following example
(expand 'v' in the local variable view at the breakpoint):
#include <vector>
int main()
{
std::vector<bool> v;
v.push_back(true);
return 0; // insert breakpoint here
}
Side note: GCC's pretty printer for 'std::vector<bool>' previously
returned either '0' or '1' for the element values, thus leading to the
problem described above. With this patch in place, the elements are
shown when the vector is expanded, but the shown type is 'long long'
(since that's the type that GDB seems to automatically assign when
constructing a 'gdb.Value' from these integers, at least with
GDB 8.2.1 on amd64). This will work as expected ('bool' shown as
type) from GCC commit [2] on ("Have std::vector printer's iterator
return bool for vector<bool>").
[1] https://sourceware.org/gdb/onlinedocs/gdb/Pretty-Printing-API.html
[2] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6c7d761a3f5fd7d19795d1d4b9b027a04b3fe88b
Change-Id: I9047affa5b4369befd2e2386c8a6b04c66c4b632
Reviewed-by: hjk <hjk@qt.io>
This level is meant to take the role of current thread handler
in the long run, allowing per-thread stackviews in each engine.
For now, the additional level holds just a single, invisible
dummy item playing the role of a "current thread".
Change-Id: Ief6131500fc1aa8902f2313038a65840b80b495b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The user might still want to get the second project built after the
first one failed.
Fixes: QTCREATORBUG-22140
Change-Id: I644e64ae2267b25e9804cb4a614edd5a3340a2e7
Reviewed-by: hjk <hjk@qt.io>
Was apparently not really needed and can be easily
re-added nowadays.
Change-Id: Ib7f46f7b8ea0624d0d3f12a8ef42092dd51d78d5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
The locals and expressions display nowadays an additional
column which might be hidden.
Use the right 'Value' column to fetch the values.
Fixes: QTCREATORBUG-22617
Change-Id: I646b05eed607c5941f2713013221eb4c511d901b
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
The startup project can get enabled before we create the views. In that
case we miss an update and the run button stays disabled.
Fixes: QTCREATORBUG-22616
Change-Id: I5af9075a4899a5dd0e5f69c13348510cde47285d
Reviewed-by: hjk <hjk@qt.io>