Commit Graph

50019 Commits

Author SHA1 Message Date
Eike Ziller
189ab38641 macOS: Remove workaround for bug that was fixed in Qt 5.9.2
Removing the dummy OpenGL widget gets rid of flicker and scaling issues
when moving between monitors with different DPI.

Fixes: QTCREATORBUG-23064
Change-Id: I2373862244353b545e8756afe294f9beeefda422
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-21 07:32:34 +00:00
Thomas Hartmann
3ee870a3d8 QmlJS: Fix regression caused by parser update
We have to keep the semicolonToken into account.

Change-Id: Ie599d141d21f09f1d0036c0382f6a3098fde6ca5
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-10-21 07:21:08 +00:00
Thomas Hartmann
640044c8f8 QmlDesigner: Implement command for synchronising the selection
This patch implements the command and dispatchers for
synchronising the selection between Qt Creator and the qml2puppet.

Qt5InformationNodeInstanceServer::changeSelection() is called whenever the selection
is changed in Qt Creator.

Qt5InformationNodeInstanceServer::changeSelection() allows to change the
selection from the qml2puppet.

Change-Id: I73a64d8dc2a3f330433f966b42a10229cbbff649
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-21 05:52:13 +00:00
Alexis Murzeau
708179285d MsvcToolchain: Fix "detection" of supported ABIs for msvc2010
Always ensure that supportedAbis includes targetAbi so toolchains that
don't have any vcvars32.bat or the like (like msvc2010) are restored
correctly at startup.

The cache-miss case is just shifted inside a else clause so the added
code is executed both in case of cache hit or miss.

The targetAbi is added to m_supportedAbis but is not cached in abiCache
as the abiCache has only vcVarsBat as the key, which is the same for
all toolchains of the same compiler but different architecture.

This way, even if the common supportedAbis is retrieved from the cache,
the presence of targetAbi is always checked and added if needed.

With this modification to detectInstalledAbis(), setSupportedAbi is not
needed anymore as it is redundant. Now msvc2015 build tools case is
handled the same way as msvc2010 in detectInstalledAbis().
This effectively reverts 2896e5f5e2.

Also, the existing QTC_ASSERT(m_supportedAbis.isEmpty(), return); in
detectInstalledAbis() is removed as when vcVars is changed, it can
have a new uncached vcVarsBase while having supportedAbis set already
(via a call to changeVcVarsCall).
This happens for clang-cl toolchains that inherit MsvcToolchain but
change vcVarsBat in ClangClToolChain::resetMsvcToolChain later (in
ClangClToolChain::detectClangClToolChainInPath).

Task-number: QTCREATORBUG-22960
Change-Id: Iaad5ea1dc649393037a3d32faa9075153974b5cb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-10-18 19:02:25 +00:00
Christian Kandeler
e7b481bdee Qnx: Suppress warnings about missing stat
These warnings are only relevant for incremental deployment, which is
not used here.

Change-Id: I52636b0c3f7ba89131c27fc5e66c23e8a6ea9990
Reviewed-by: hjk <hjk@qt.io>
2019-10-18 15:16:13 +00:00
Christian Kandeler
7bbfa2de16 QmakeProjectManager: Do not start parsing without a target
This "feature" generated misleading output when opening a project
initially.

Change-Id: I86c541266ffbf576899004f4e6401feea6f38173
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-10-18 12:20:26 +00:00
Nikolai Kosjar
8c7dd57645 Clang: Build against LLVM/Clang 9
Task-numer: QTCREATORBUG-23038
Change-Id: I3608bca6541614bb55e67d35c87334957cd02761
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
(cherry picked from commit 6ec8017bc6)
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-10-18 12:19:46 +00:00
Laurent Montel
55acde61c3 Cppcheck: remove unused forward declaration
Change-Id: I99f8afd16f98b9d7b2719aa95dfe07d0c5cd0054
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-10-18 12:12:57 +00:00
Eike Ziller
9c2568b8e8 QtVersionManager: Small code cleanup
No QLatin1String, foreach -> for, a few other things.

Change-Id: I80aaff6855e4a38c29d43db917fc37eb975a6de0
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2019-10-18 12:08:17 +00:00
Eike Ziller
91d785a123 Help: Unregister documentation when unregistering Qt versions
While doing we must take care that we do not remove documentation that
is used by other, still registered Qt versions (since for example
desktop & mobile Qt versions share the same documentation).

Fixes: QTCREATORBUG-16631
Change-Id: I77a38c89698cb3050d4a0a6963ab12d3238e2068
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-18 12:08:08 +00:00
Christian Kandeler
ab355bb157 QbsProjectManager: Fix document filtering
This was broken in 929083e7b6.

Change-Id: I5341a90bf8067d93485a75827309840b5212d2b4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-18 12:06:24 +00:00
David Schulz
383ea95889 Debugger: Avoid recreation of breakpoint markers
Change-Id: Ie3b160a7b7137257b2028d03878700675142102f
Reviewed-by: hjk <hjk@qt.io>
2019-10-18 12:01:06 +00:00
Christian Stenger
89dbb44fcb Debugger: Prohibit multi selection on debugger presets
To avoid confusion regarding context menu items limit the
selection mode to single selection.

Change-Id: I220d97fee65180a497f21e5921f832076235acb5
Reviewed-by: hjk <hjk@qt.io>
2019-10-18 11:29:27 +00:00
Christian Stenger
482c53d11a Debugger: Fix display of stack
When switching between interrupted and continue while
debugging the stack was not updated when the engine
states it is running again, but immediately did so
when clicking into the stack view.
Fix by explicitly updating the stack when the engine
reports it is running.

Change-Id: Ie8cb445e87fe6e45f9ae86b8ee2eec386be78a5c
Reviewed-by: hjk <hjk@qt.io>
2019-10-18 11:29:18 +00:00
Alessandro Portale
b5942847e2 McuSupport: Set ARM debugger in MCU kits
... create one if necessary.

Change-Id: I0b89d54429834db7b76be0a76d260152efd1ad03
Reviewed-by: hjk <hjk@qt.io>
2019-10-18 10:56:25 +00:00
Denis Shienkov
f723531f8f BareMetal: Handle details preceding it message in the KEIL parser
We need to handle a multi-line error messages from the KEIL A51
assembler:

 http://www.keil.com/support/man/docs/a51/a51_er_nonfatalerror.htm

This assembler produces an error messages in the form like:

 00B0                 114         ljmp    usb_stub_isr     ; (B0) GPIF operation complete.
 *** _____________________________________^
 *** ERROR #A45 IN 114 (autovec_keil.a51, LINE 114): UNDEFINED SYMBOL
 00B4                 116         ljmp    usb_stub_isr     ; (B4) GPIF waveform.
 *** _____________________________________^
 *** ERROR #A45 IN 116 (autovec_keil.a51, LINE 116): UNDEFINED SYMBOL

where the details places before than a main message text.

This patch handles this error messages, but with an one limitation in that a details
should start with a four hexadecimal letters (in a common case it can not
contains that letters at all).

Change-Id: I0c9bf7ab72e1aef32498af5a1ef29c9221c185d5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-10-18 09:45:34 +00:00
Laurent Montel
36a422e7be Core: Remove unused forward declaration
Change-Id: Ic469d0079eeb8e6729ef1f58b2b8b4f246932f49
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-10-18 08:01:45 +00:00
Laurent Montel
3decb2fc58 texteditor: Remove unused forward declaration
Change-Id: I5edbbbecef472230a81827aa0206533918d97230
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-10-18 07:47:10 +00:00
David Schulz
8b04019270 Python: Fix opening document in wrong pyls
The document was always opened in the first of the configured python
language servers.

Change-Id: If33cb4a08884b93047016be1d8cf5c27ea7950d9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-18 05:23:40 +00:00
David Schulz
28c3f0c31e Python: Add info bar entry to enable pyls
Show an editor info bar entry displaying that the language server for
the current python is disabled and a button to quickly enable the pyls.

Change-Id: I3adb2e7cbfb1a32e35413b0b06dfbe66a0b214af
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-18 05:23:29 +00:00
David Schulz
c8ccfea225 Python: Switch pyls on interpreter change
Change-Id: I458b635986a55003a1e7254e27e2df9667704273
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-18 05:23:10 +00:00
Laurent Montel
b9b2d5ef5d Remove extra setMargin(..) Some lines after we can see a
setContentsMargins

Change-Id: I376129566c7df466a3413f001b42c670ee7c7022
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 21:11:22 +00:00
Alessandro Portale
5b2ca680a7 McuSupport: add /bin path of "stm32CubeProgrammer" to Path
... and make the detection a bit more explicit.

Change-Id: I8dc4f6dbdcc44e4e3cd56e332dd6d5ca6fa12021
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 16:53:30 +00:00
Alessandro Portale
17354cebad McuSupport: Allow PackageOptions to return different path than selected one
... by adding a relativePathModifier property

Change-Id: I5e4a13ffb43566f7ed221dfc926731abc0460853
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 16:53:15 +00:00
David Schulz
fa8ff4108f Debugger: further untangle of breakpoint item and marker
Change-Id: I9331912c1b53a0110479f46ef1e576676441ab75
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 13:19:10 +00:00
Christian Kandeler
139196b93c Fix restoring cmake run configurations
Amends 5bcd59c94f.

Fixes: QTCREATORBUG-22932
Change-Id: I46b42f0e15eaf1fe4bd2f1ea4a87286ee68cfee8
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 13:11:09 +00:00
David Schulz
cc1399a4b6 Debugger: Fix crash after breakpoint marker drag&drop
The updateMarker function deletes the marker of the global breakpoint so
don't call that function from the marker.

Fixes: QTCREATORBUG-23107
Change-Id: I377608f1a08b61451be1fc0be5bc15252252a4a7
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 13:04:20 +00:00
David Schulz
bfc65cee98 LanguageClient: create TextMarks only for active clients
Fixes that marks from all running clients are shown after splitting the
editor.

Change-Id: Ia76a084e5b133d5f7205ac79f9584b211d73b501
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-17 08:04:47 +00:00
Thomas Hartmann
0942f2e1ec QmlDesigner: Keep qml2puppet alive, if local socket is not processed
In case Qt Creator did not process the events from local socket,
e.g. when a modal dialog was executed, we did kill the qml2puppet.

In this patch we first check if there are really no pending data
anymore. If there was pending data we restart the timers for each qml2puppet.

Change-Id: If19161636ee05835e01f082dd992e49f39d366bd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-17 08:03:47 +00:00
Thomas Hartmann
0bde9b14cb QmlDesigner: Fix warning
Change-Id: I6dd31b411f636df013495e15d03d47997cb24705
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-10-17 08:03:29 +00:00
Christian Stenger
418c7d108a AutoTest: Fix handling of parameterized boost tests
Setting the parameterized flag after the test case may
have been added to the found tests is useless.
Do it as early as possible to take it into account
when gathering information for location and type.

Beside this the filter for parameterized boost tests
had been wrong which in turn led to not executing
them at all.

Change-Id: I1a4345b2a751c79cc4fc6df8e201e9606c961aaf
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-17 05:53:55 +00:00
Christian Stenger
3e56a2b81e AutoTest: Add some logging to test runner
This may help for issues which are not easily
reproducible.

Change-Id: If8063c51f69bd24f12afdcdd0648790f1a0668da
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-17 04:41:09 +00:00
Christian Kandeler
f5e25c50db QbsProjectManager: Fix build
BuildStepList: :allOfType() was newly used in 4.10 and removed in 4.11.
Change-Id: I3129f4a8aa411547e018c88eec02df58f56285f9
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 15:59:38 +00:00
Christian Kandeler
f7808af946 Update qbs submodule
To HEAD of 1.14 branch.

Change-Id: I3106078a808ddddc0211d46e871c66383746aec3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-10-16 15:40:12 +00:00
Thomas Hartmann
e2e18ff625 QmlDesigner: Implement combobox to disable 3d editor
The combobox is in the toolbar of the form editor.
For pure 2D scenes the combobox is disabled.

Since auxiliaryData is persistent, this setting is
also persistent.

Change-Id: I1bf1d9acba7320b8503311ca785410df27d650db
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-16 14:10:35 +00:00
The Qt Project
3f5af7545d Merge "Merge remote-tracking branch 'origin/4.10' into 4.11" into 4.11 2019-10-16 13:35:04 +00:00
Eike Ziller
fcb12a275f Merge remote-tracking branch 'origin/4.10' into 4.11
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/projectexplorer/deploymentdata.cpp
	src/plugins/projectexplorer/msvctoolchain.cpp

Change-Id: I64c304fc71435629a6a0060a9df71e8952699508
2019-10-16 15:27:22 +02:00
hjk
50deb50069 Debugger: Introduce a checkbox
... to propagate breakpoint changes from a running debugger
back to the original preset breakpoint.

This is currently unused as some changes are already propagated,
and some not, so a bit more diligence is needed.

For now it is there to have the new label string in safely
before string freeze.

Change-Id: I8ee4d07bab5a4f66e59bf992ebfd81c56fdb3ecf
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-16 12:46:48 +00:00
Denis Shienkov
1e54d45139 BareMetal: Minimize nested blocks of code in KEIL parser
Change-Id: I420eb67683413730f67fce9dd103487380296548
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 08:31:40 +00:00
Christian Kandeler
e90a48e639 ProjectExplorer: Fix some problems with plugin unloading
It was not possible to return false from
ProjectExplorerPlugin::initialize() without triggering crashes.

Change-Id: I96b2f80c835e69769f64f9b9c61f473e9ff88623
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 08:16:23 +00:00
Thomas Hartmann
84c9f669ca QmlDesigner: Add missing const
Before this patch one could write node.auxiliaryData().setValue(), which
did nothing.

Change-Id: Ib8c30bf5e689f3702d52c8122081d64e7c55a6c7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-16 07:49:16 +00:00
Eike Ziller
2c2bca924a Help: Remove functionality of unregistering namespace from public API
Only used by the options page and generally needs knowledge of help
namespaces, which requires querying QtHelp.

Change-Id: Id8eda86e5b373ab3214e8eff6e2e3ce92c1239ba
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-16 07:19:18 +00:00
Laurent Montel
f467badc2f Port setMargins to setContentsMargins
Change-Id: Ie6b3f3e4dddbbf4bcc7ea7561ec348ff2c666907
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 05:02:57 +00:00
Christian Stenger
d5320bb407 QmlDesigner: Fix compile for old gcc
Amends 1278c01c1c.

Change-Id: I85e4ac570649cdeb3a1f20c867371652f553d80a
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-16 04:55:42 +00:00
Alexis Murzeau
c7cb7672f0 AbiWidget: Fix custom abi comboboxes' enabled state when mainComboBox is changed
When the mainComboBox is updated and its current selection changed via
setAbis, the custom ABI comboboxes weren't updated accordingly.

This is because in setAbis when doing d->m_abi->setCurrentIndex(), the
m_ignoreChanges guard is held which inhibit mainComboBoxChanged
function from doing anything for performance reasons. But the effect of
this is that custom ABI comboboxes were left in their previous state
(enabled or disabled).

This commit ensures the custom ABI comboboxes are updated according to
the new selected item in the mainComboBox at the end of setAbis
function.

Change-Id: Iedabde412a42985697d2cba33ddb6c154f10a68f
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-10-15 19:37:10 +00:00
Miikka Heikkinen
062a0a9dbd Implement support for UIA/UIP importing
Each different type of import file gets its own options tab in import
dialog. Item library icon for each imported component is generated
at import time depending on component root element type.

Change-Id: I95824b43d251d02d8e032b6a3e45a18d1d509b80
Fixes: QDS-1152
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-15 13:19:16 +00:00
Aleksei German
1278c01c1c QmlDesigner Tool bar for Binding Editor
Task: QDS-843
Change-Id: I8faa5816067ee8de91fd225d856d6bac2a6eda58
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-10-15 13:10:30 +00:00
Thomas Hartmann
db3dc34a12 QmlDesigner: Introduce QMLDESIGNER_QUICK3D_MODE
We should enable the 3d edit mode only, if there is
QtQuick3D import. Additionally there should also be an option in the UI.

Change-Id: I2010f2cdd6546c63a2263b8ee02480d4f13177c2
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-15 12:43:27 +00:00
Thomas Hartmann
41a7cd15be QmlDesigner: Fix assert
TimelineWidget::invalidateTimelineDuration() is called
by TimelineView::instancePropertyChanged(), which is a callback
from the model.

Those callbacks are not supposed to mutate the model and write
access to the model will trigger an assert.
The method setCurrentFrame() calls ModelNode::setAuxiliaryData().
The reasoning for this behavior is to avoid events casades from
the get go and to avoid that a view has a side effect on
the operation of another view.
This way we also avoid any circular information flow in the application.

In theory a view should never act as a 'gatekeeper' like in this case.
The simple 'hack' for trivial cases is to use a timer.
Generally we try to move the logic into the model in such cases.

Change-Id: I0b46bb38ee0a9603d4617f1a13d8cfcd2e7378b8
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-15 09:08:13 +00:00
Christian Kandeler
c13b20f160 Target setup page: Do not dereference potentially invalid Target pointer
Fixes: QTCREATORBUG-23075
Change-Id: I60d332b3ff18cf7c83e63cb87730b44ee2a47502
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-15 09:03:45 +00:00