Commit Graph

6444 Commits

Author SHA1 Message Date
Eike Ziller
10098b2508 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	CMakeLists.txt
	tests/unit/unittest/unittest.pro

Change-Id: I64296ad31502d9b35012da129a28e9277e9fcf8e
2019-06-28 12:50:03 +02:00
Christian Kandeler
375ec4c51b Wizards: Fix qbs project template for QtQuick app
Change-Id: Iffc9dad352d78f54557f45b36687c543935853dd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-06-27 09:00:35 +00:00
Christian Stenger
6288e03264 Wizards: Fix regular expressions
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>
2019-06-27 07:18:19 +00:00
Michael Weghorn
aedc0ca91b Pretty printers: Unify code for different allocators
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>
2019-06-26 13:40:13 +00:00
Eike Ziller
63c4428287 Merge remote-tracking branch 'origin/4.9' into 4.10
Change-Id: I53ceb69b1558520e7d7b6db8b7ebdd5c1590e991
2019-06-26 11:58:54 +02:00
Michael Weghorn
5eba3bde93 Fix std::basic_string printer with custom allocator
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>
2019-06-26 07:18:06 +00:00
Michael Weghorn
01f26bd5b7 Fix std::vector<bool> printer with custom allocator
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>
2019-06-26 07:17:39 +00:00
Michael Weghorn
0313cdbd87 gdbbridge: Convert children to gdb.Value
'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>
2019-06-26 07:16:42 +00:00
Thomas Hartmann
5be6e84016 QmlDesigner: List all fonts in project
We iterate all over all ttf and otf files that are found
unter the project directory and show their name in the FontComboBox.

Task-number: QDS-100
Change-Id: I45c4d512783d5ecc4a646860c08e6088bd712798
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-25 07:14:29 +00:00
Robert Loehning
eab4e056bc Small fixes in French translation
Change-Id: I86816eb8e1d0f7b439532b9196aa28a8119e5234
Fixes: QTCREATORBUG-22613
Reviewed-by: Jocelyn Turcotte <turcotte.j@gmail.com>
2019-06-24 15:54:10 +00:00
Eike Ziller
52b9248385 Merge remote-tracking branch 'origin/4.10'
Change-Id: I452d5cbf27c1a0d43a890cef74cb8f0b9646bf60
2019-06-21 10:53:18 +02:00
Thomas Hartmann
4b886e12dd QmlDesigner: Remove shortcuts from undo redo in controls 2
Change-Id: I39c5bec7000c3af6e849b9e797da5c2b1d19e683
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-20 10:22:38 +00:00
Thomas Hartmann
ac685f2cb8 QmlDesigner: Remove shortcut from Controls2
Change-Id: I4ba9b6d2892ef277f7b56d710edb08a202a81ed6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-20 10:01:50 +00:00
Eike Ziller
5455234308 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/libs/utils/consoleprocess.h

Change-Id: I771630cb4dc60a9e87e9d30d6295040c27348d8c
2019-06-20 11:03:05 +02:00
Christian Kandeler
019447c535 New class wizard: Add Qt module dependencies, if necessary
Provide general infrastrucure and implementation for qmake.

Fixes: QTCREATORBUG-16067
Change-Id: I8c6368fe2724c9450dcbc3410b6ca459bbbdc043
Reviewed-by: hjk <hjk@qt.io>
2019-06-19 14:06:49 +00:00
Thomas Hartmann
9da6c2f43b QmlDesigner: Add alias export to QtObject
Change-Id: If1a78463d4f1625105ab1fad7e179e645be08c9e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-19 07:19:15 +00:00
Thomas Hartmann
1dae4593cc QmlDesigner: Use MenuItem instead of Action
This avoids conflicts with shortcuts.

Task-number: QDS-803
Change-Id: I9269729cf2cb4a6bba9493d768c595748af3392d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-19 07:18:42 +00:00
hjk
93d2e3352c Debugger: Improve QObject dumper
Don't use two lookups for parent types and act on known null pointers.

While the machinery is robust enough to handle the result it's a
needless deviation in regular code path.

Change-Id: I6e50629cf554870a3ffb9f488f654e6ae557e5b3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-06-18 09:55:07 +00:00
Thomas Hartmann
0bcdc93e19 QmlDesigner: Fix layout in templates
Because the templates did not use the pre-defined layout,
the layout was bit broken.

Change-Id: I3a11e78a8dd6ac81252fa51270de5d427e5de0c2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-12 15:19:33 +00:00
Thomas Hartmann
da3f9eb5bf QmlDesigner: Fix property editor template for colors
The color editor requires its own section.
Therefore we mark the color type with 'separateSection'.
For this to work we have to order all properties.
The properties that require their own section do come first.
The QML code generation became a bit more complicated, but
having proper default sheets for colors should be worth it.

Task-number: QDS-742
Change-Id: I1eee71aa05c66af4aaf53e0e8c5a3514a9ca6d92
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-12 15:19:10 +00:00
Thomas Hartmann
aa30828f40 QmlDesigner: Disable horizontal scrollbar for property editor
Change-Id: Id6b9dc66ca86f775c7d8fd8a5c847becb5cf96cb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-12 15:18:37 +00:00
Thomas Hartmann
2831f601fa QmlDesigner: Use OpenGL 4.1 surface for puppet
Change-Id: I520adbb54fc264e738ca5eb630f5cc7bc80ee4bd
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-12 13:48:56 +00:00
Cristian Adam
36135aa261 CMake: Small clean-up of CMake Wizards
* Updated CMake minimum version to 3.5 (Ubuntu LTS 16.04)
* Lowercase commands
* Used the target name instead of ${PROJECT_NAME}, which nobody uses in practice
* No string quotes around the source filenames, which do not contain spaces

Change-Id: Ide9b3eb85535213798c6c35e08624cae080ebd9d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-06-12 13:34:58 +00:00
Thomas Hartmann
b94c725f0f QmlDesigner: Reserve less space for label
We currently waste too much space for long label.
Eliding works fine for long property names.

Change-Id: I1fe2836e8c06cff93e2a48c6290265ab300e5321
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-12 11:30:20 +00:00
Thomas Hartmann
f6db77a0cc QmlDesigner: Slightly reduce size of the spin box
Change-Id: Ida09ddf17fcdc7000b03c6020334e30cfa7c74ee
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-12 11:30:02 +00:00
Christian Kandeler
a093dfc65c Wizards: Include namespace in header guards again
This was broken in 63c339ffba while trying to fix a different bug.

Fixes: QTCREATORBUG-18157
Change-Id: Iec7e14de257195ed9bb20314b8031d3ef59df2ae
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-06-12 11:05:12 +00:00
Henning Gruendl
3172773f52 QmlDesigner: Add more studio controls
* Add alignment button rows with new controls
 * Add font style buttons with new controls
 * Add anchor button rows with new controls
 * Fix CheckBox error about undefined assignment
 * Add new colors in ColorLogic
 * Fix low contrast for edit mode text color ComboBox, SpinBox, LineEdit
 * Add new icon font
 * Fix TranslationIcon background color
 * Some minor import refactoring

Change-Id: If014c3351fd33ccaf893a31033c893e13ee04821
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-12 09:15:51 +00:00
Thomas Hartmann
c839830b3e QmlDesigner: Fix delete shortcut
QtQuick Controls 2 seem to define all shortcuts globally.

Task-number: QDS-803
Change-Id: I6d29f659261c12bdd66473e2c680044b486891ec
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-07 14:42:27 +00:00
Aleksei German
469647db3d QmlDesigner ColorPalette StudioControls usage
Change-Id: Ia1c2daa693e9c2c2a2808cf6fab65a2b60014456
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-07 14:42:00 +00:00
Aleksei German
f3c2fcef1a QmlDesigner ColorButton Labels replacement
Change-Id: I2b0af3e1f77fda44d738202986071b9c8f50cb4f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-07 14:41:38 +00:00
Aleksei German
11093f1ed7 QmlDesigner ColorEditor Labels replacement
Change-Id: Ic437540c8f5047f303b627dd9579e8eead3791e1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-07 14:41:09 +00:00
Henning Gruendl
20b1941aed QmlDesigner: Fix studio controls
* Fix CheckBox hover and focus behavior
 * Fix CheckBox long label issue
 * Refactor SpinBox wrapper property
 * Fix SpinBoxIndicator active focus on use
 * Refactor edit state in all controls

Change-Id: Ice12aac7b97a36a658dadfac68457aefe0d757a1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-07 11:57:01 +00:00
Thomas Hartmann
52f718fdcb QmlDesigner: Some layout adjustments
Change-Id: Ibf752ff24c1e79629a49061abeb7f87136a7a316
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-07 11:54:38 +00:00
Thomas Hartmann
7459afaf3c QmlDesigner: Remove print
Change-Id: Iadf0a1343974eb034ecca1e5b64b90b4a525849f
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 15:56:57 +00:00
Thomas Hartmann
641cc7ee06 QmlDesigner: Use new controls in TargetComboBox
Change-Id: I8f65e673843c119de1f910b7e2c4d35fccfd8a94
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 15:56:33 +00:00
Thomas Hartmann
cd42ebb840 QmlDesigner: Use new controls in UrlChooser
Change-Id: I07e6110f4e2d2c7458860db0432fb58afacf7015
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 15:56:21 +00:00
Thomas Hartmann
9f0a0cd8c6 QmlDesigner: Add wrapper pattern to DoubleSpinBox
This is unfortunately required for step size.
We need real in the API while QQC2 has int.

Change-Id: I162c13a3edc24c34271a1dbf8e19f55b9fe2d034
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 15:27:00 +00:00
Thomas Hartmann
6b82dd201f QmlDesigner: Fix QML warning
Change-Id: Ic5fae60c8efb9009c310d558f3dc9629822a40f7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 14:01:47 +00:00
Thomas Hartmann
fed8f7745c QmlDesigner: Fix hasSlider: in SpinBox
This property exists for compatibility reasons.

Change-Id: I25a4454da953f0b7165e1ef5aeeba28e9ab1087a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 14:01:30 +00:00
Thomas Hartmann
422553ca2f QmlDesigner: Add ExtendedFunctionLogic to qmldir
Change-Id: I6888ecba5994f42a6f7c3d0b878b4c26a6cf35d0
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:08:59 +00:00
Thomas Hartmann
1435d43f20 QmlDesigner: Add sliderIndicatorVisible to SpinBox
Change-Id: I6a136b537a755a63350514ce2e2d5d42f93c503b
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:08:47 +00:00
Thomas Hartmann
68a6c5dfd9 QmlDesigner: Use sliderIndicatorVisible for some properties
Change-Id: I5827bd15c42f65f23f8b47a0f110c37311d26631
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:08:29 +00:00
Thomas Hartmann
98f6c55653 QmlDesigner: Set proper closePolicy for Menu
This is required for macOS.

Change-Id: Ib0631583104a46a3828529ac4a64adbe7cbfd774
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:08:10 +00:00
Thomas Hartmann
b6703b989d QmlDesigner: Remove focus when clicking outside
Change-Id: I400401c547461cfca22f7af026cf9c33704e8f6a
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:07:57 +00:00
Thomas Hartmann
4edfa4c740 QmlDesigner: Use new controls for FontComboBox
Change-Id: I72946b4adb8e160c05191da0c96011881cd09543
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:07:43 +00:00
Thomas Hartmann
726c51eb8c QmlDesigner: Use onCompressedValueModified
Change-Id: I7ebe5a8db4b78ac086d0301f6d6d84fb99c83cda
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:05:37 +00:00
Thomas Hartmann
d9b8213856 QmlDesigner: Use new controls for font section
Change-Id: I53041a989f71f990c6051b87d84631c3e94a0f34
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 13:05:17 +00:00
Thomas Hartmann
fc711ed66f QmlDesigner: Implement DoubleSpinBox with new controls
Change-Id: Icf42b8633df2f9b35bafe92a3fde4cdbb03cbf72
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 12:58:40 +00:00
Thomas Hartmann
14ede3af6f QmlDesigner: Use new controls for GradientPropertySpinBox
Change-Id: I30175e89f375cd6dc56a255d195c1788aa873577
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 12:58:25 +00:00
Thomas Hartmann
52ddea91ee QmlDesigner: Add missing properties to LineEdit and ComboBox
Change-Id: I7e9a9159aa75973f04a660a16c2d00aa294ab944
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-06 12:57:47 +00:00