Commit Graph

76860 Commits

Author SHA1 Message Date
David Schulz
61e291688f LanguageClient: outline drag support
Fixes: QTCREATORBUG-27502
Change-Id: If5b8226c03886fb7c050c9d99941c9942ef47593
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-29 09:16:33 +00:00
Christian Kandeler
9cbe2439dd CppEditor: Do not highlight macros as preprocessor statements
Macros are used like identifiers; there is no reason why they should need
to have the same highlighting as a preprocessor directive.

Fixes: QTCREATORBUG-23548
Change-Id: I186befc06ccb36a00451fd707c41e3687a84af14
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-06-29 09:08:27 +00:00
Alessandro Portale
83c380665d Android: Try harder to get a valid ABI in apkDevicePreferredAbi
For AndroidDeployQtStep::gatherFilesToPull to pull the right
app_process, the first attempt at getting the ABI is a peek inside the
APK.

If that APK does not exist yet (due to clean 1-st time build), it falls
back to get the "AndroidAbis" from the project node. That fails in the
case of CMake because AndroidAbis is only set by qmake, and never by
cmake.

Thich change adds another fallback to query "AndroidAbi" instead.

Fixes: QTCREATORBUG-27737
Change-Id: I2e944d6d30a61047b4c66ed73211296c87d57b51
Reviewed-by: hjk <hjk@qt.io>
2022-06-29 08:46:36 +00:00
Leena Miettinen
b1f7172077 Python Language Client: Fix typo in translatable text
Change-Id: I11a0161b76661fd876b47dc5aa23ce2449258ae0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-29 08:24:54 +00:00
Marco Bubke
7339049290 QmlDesigner: Fix spelling for condition
Change-Id: I419ac03ce01905304cbcaad514f7c29563301355
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-06-29 08:03:57 +00:00
Marcus Tillmanns
3958087124 deviceshell: fix hang on multithreaded access
When outputting a commands stdout / stderr / exitcode,
the shell was free to interlace different outputs.

This could trip the parsing of the output, leading
to the shell missing the exit code of a command.

When that happened, the caller might wait indefinitely
for a result that would never come.

To workaround, the shell script now writes each command output
to a temporary file first, which is then written to stdout
by a single subshell, that way guaranteeing that the output
of multiple commands will not interleave

Change-Id: I9d8e7e788f5922c612ff533e5ba063f61a22aa8c
Reviewed-by: hjk <hjk@qt.io>
2022-06-29 07:28:46 +00:00
David Schulz
8130d895c8 Revert "Editor: Update current argument in function hint"
This reverts commit 7d4d57165c.

The change signal should be send from the editor widget, so no need to
call it again from the function hint widget, since it also cancels the
automatic proposal timeout that triggers the automatic completion
request.

Fixes: QTCREATORBUG-27305
Fixes: QTCREATORBUG-26959
Change-Id: I37810e0a6083396bd0375b4ae28aa07389a5079c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-29 04:43:56 +00:00
David Schulz
b20ffaa109 LanguageClient: sort outline items
The order we get from the server might not be in the order of appearance
in the document.

Fixes: QTCREATORBUG-4346
Change-Id: I0badba7fd40619b2aa20a81b6a86b43dc9e6a1b1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-29 04:39:43 +00:00
Jarek Kobus
e5942932f4 QtcProcess: Remove unused signals
Change-Id: I5ceca4310de670dc52542607c549a159cbe697f9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-28 17:30:23 +00:00
Jarek Kobus
a1ad64a50b GitClient: Don't call blocking waitForStarted()
Connect to done() signal in order to detect the start
failure and try to start a gitk from different path.
All trials of starting gitk are done sequentially
and non-blocking.

Give process a parent in order to avoid process leak
on shutdown.

Change-Id: I1d74bfeaca23d38643f3d2f262428732314aefe4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-06-28 17:29:50 +00:00
Marco Bubke
9204607d28 QmlDesigner: Explicit disable qmldom
It disables some other experimential code which has to be
exchanged too.

Change-Id: If2ea4e4c466a9aa031c425e0792a506cb751e2c4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-06-28 14:42:32 +00:00
Leena Miettinen
14965f5792 UI text: Fix grammar errors and capitalization issues
Change-Id: Iefb1075cc0b14eb8c0e99b6c96c31a91c2b079f0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-28 13:54:10 +00:00
hjk
56eba24222 CPlusPlus: Drop the OverView::operator() overloads
Use the named members instead. The operator() versions have been used
only in a handful places, not using them makes things clearer on the
user code side.

Change-Id: I9b44371e094d498ff6ebfa9ecbe32f8654a63d4d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-28 13:46:55 +00:00
Mats Honkamaa
ee40ed19e5 Doc: Update timeline documentation
- Added a task topic for binding a timeline to a property.
- Added topic on adding multilpe timelines.
- Some changes to focus more on the task rather than function.
- Other minor updates.

Task-number: QDS-6879
Change-Id: Ibd99785d6a9ee70fc10b8e1395ef8aaf0e186ddc
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-06-28 13:03:19 +00:00
Marco Bubke
96caffb8cf QmlDesigner: Fix qmldom dependency
Because we moved 6aa826436c to master
some changes got lost and the merge
c4e94c2c9c added some old code. This patch
is removing again this code.

Change-Id: I336654f71ebe12f7f5ccb5bf6706f33fa6148440
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-28 12:42:16 +00:00
hjk
d45104f5db QmlJS: Improve parser performance
Detaching the rawString_stack alone shows up at 0.85% when loading
Creator inside Creator. One write access is actually used from
qmljs.g:699, so making the whole function const would need more work.

Take a short cut and replace the unneeded reference counted container
with a non-reference counted one.

Change-Id: I081bf5741899a01e4126b7ffe4f36e4844f0b19e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
2022-06-28 11:50:27 +00:00
David Schulz
84ef111847 Editor: only close proposal widgets after updates
To prevent closing function hint widgets after the completion processor
did not return a proposal.

Change-Id: I1901f3f21917d348ef12a6db846739e3c54752fb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-28 11:47:34 +00:00
hjk
551d458605 RemoteLinux: Use path on device for fallback gdbserver
This was using a gdbserver from the local system which appeared
to work with "local remote" test setups, but failed in real life.

Fixes: QTCREATORBUG-27752
Change-Id: I24c46dd737fc5396caeeedb55258e4edb465cbb0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-28 11:31:49 +00:00
Marcus Tillmanns
88651ecb3e deviceshell: Disable tests on old macos versions
The bundled "base64" tool of macos < 10.15 did not support
the "-d" option ( only -D ). We disable the tests running
on the local shell to keep them from failing.

Change-Id: I6af353869033ed15cefedc03e2562621d1ea9904
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-28 11:31:11 +00:00
hjk
e2bb204d4d CPlusPlus: Inline more simple Type related functions
Change-Id: I2103e8047b385b438e58072e8a2689f1889d2724
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-28 11:02:22 +00:00
hjk
27d51e9804 CPlusPlus: Inline some Scope related simple functions
Change-Id: I23486fdfa749fe864c04d5c1a7cede21fb16005b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-28 11:02:06 +00:00
Christian Stenger
6b32f58225 QmlDesigner: Fix qbs build
Change-Id: Ie83a9e67f63aa2424423710140c65b4bec6770bf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-28 10:20:19 +00:00
Robert Löhning
0c2e1cf094 Squish: Update location of Options dialog
Change-Id: Ie9df4f897621520744998c3dbd9a3c44600ba844
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-28 10:13:34 +00:00
Christian Stenger
c1c255059e Debugger: Fix handling of stepping while debugging QML/JS
Amends 3341fa827f.

Fixes: QTCREATORBUG-27728
Change-Id: I96398d3ebaa33b10ec90cce4df9e9af809cd29a9
Reviewed-by: hjk <hjk@qt.io>
2022-06-28 10:10:11 +00:00
Miikka Heikkinen
73af75fe68 QmlDesigner: Fix crash in material browser
Task-number: QDS-7191
Change-Id: I9542a227aeb3f462ff3572e9a07a7473f98bfa61
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-28 09:55:39 +00:00
Jarek Kobus
2453f4e607 TestFrameworkManager: Don't leak test tools on shutdown
Detected by memory analyzer.

Change-Id: Ic3fd3d6661141c8bc2d8b03e72f53f253d6d9b83
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-28 09:50:11 +00:00
Eike Ziller
f95a1eca34 Merge remote-tracking branch 'origin/8.0'
Change-Id: Icef5e28557701243e686d35cf885412eb341e75a
2022-06-28 11:35:16 +02:00
Christian Stenger
ebf57d37b9 Debugger: Avoid crash when debugging with remote cdb engine
When trying to attach to an already running cdb session remotely we
currently fail.
When debugger is aborted on QC side and the remote cdb afterwards we
crashed when selecting a no more existing perspective.

Change-Id: I9d3c20f034b25ef85449b0b4e658aab2c3988db8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-06-28 08:37:07 +00:00
Leena Miettinen
b5066d71b8 Doc: Replace "Tools > Options" with "Edit > Preferences"
The menu was moved and renamed. The Options dialog was
also renamed "Preferences".

Change-Id: I05d187915382b3ce49699d91304cd447c87e2bd6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-28 08:32:44 +00:00
Eike Ziller
e46357a220 Adapt to move of options to Edit > Preferences
Change-Id: I6881f658db9eec5059b434bce12093667535d5ac
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-06-28 08:32:22 +00:00
Alessandro Portale
139e190d77 Android: Cleanup qtc.android.build.androiddeployqtstep logging
Reduce excess spacing and quoting.

Change-Id: I685d78a91494f5805a175552db36df92d3da3ca5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-06-27 19:31:19 +00:00
Cristian Adam
22b8f3bdcd scripts: Deploy clang-format tool
The beautifier plugin can use the clang-format tool, which is statically
build, and it's around 2-6 MB in size.

Fixes: QTCREATORBUG-25600
Change-Id: I900f0dbfc2ba2773d3ad986c149adb41a4103e94
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-27 15:40:18 +00:00
hjk
2e85c48944 FakeVim: Partially implement multi repeat command (:g, :v)
Change-Id: Ifed113e80103b9fdd109cb4a5a6a31098f77d74c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-27 14:43:42 +00:00
hjk
9e363c6421 Add plugintr.h files to all plugins
Except FakeVim, which had it before.

for i in [a-eg-z]*/*.json ; do
    upper=${i##*/}
    upper=${upper/.json/}
    lower=${i%/*}
    trfile=$lower/${lower}tr.h

    cat << EOT > $lower/${lower}tr.h
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/

namespace $upper {

struct Tr
{
    Q_DECLARE_TR_FUNCTIONS($upper)
};

} // namespace $upper
EOT

    git add $trfile

    perl -pi -e "s/(${lower}_global.h)/\1\n    ${lower}tr.h/"  $lower/CMakeLists.txt

    perl -pi -e "s/(\"${lower}_global.h\",)/\1 \"${lower}tr.h\",/"  $lower/$lower.qbs

done

Change-Id: I15ebbaaa9443c57b391b9e143f592d8a0c9208a9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-27 13:34:57 +00:00
Jarek Kobus
51c798b517 FancyTabBar: Don't leak fancy tabs on shutdown
Detected by memory analyzer.

Change-Id: I9709dd1f1c60d3d19939e66779bba7b17536a175
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-27 13:30:07 +00:00
Jarek Kobus
3a64f67f76 Remove reimplementation of AbstractProcessStep::doRun()
Remove those reimplementations that call parent implementation
and don't do anything more.

Change-Id: Ib74dd33b45c0027280de57b957c2f8f642f82d23
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-27 13:22:09 +00:00
David Schulz
bdfb07d701 Editor: Fix code folding marker visibility
... after split in new window.

Fixes: QTCREATORBUG-27748
Change-Id: Idc6270e3bbc39a5c1e679357ba0fbd840e5312c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-27 13:01:41 +00:00
Christian Stenger
8d3c2ab348 Tests: Disable SSE dumper test on arm macOS
Change-Id: Idc6f769a7967fa6afb27e419238a10d631bca0fd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-06-27 12:56:47 +00:00
David Schulz
fa0771549e Debugger: Fix interrupting remote cdb process
Since we can use the ctrlc stub for cdb now we also can use the
interrupt functionality to force the debugger to halt. This also works
for remote sessions.

Fixes: QTCREATORBUG-21657
Change-Id: I049aea781e984c31ac5744f87f9590f910234679
Reviewed-by: hjk <hjk@qt.io>
2022-06-27 12:54:07 +00:00
hjk
d1f2c8e612 Core: Name "Options" dialog "Preferences"
Also on non-*ac*.

Change-Id: I0b3498da8c56e97c60257bfa204fd10c9e917243
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-27 12:42:43 +00:00
Jarek Kobus
e981bedf68 BuildSystemOutputWindow: Don't leak actions on shutdown
Detected by memory analyzer.

Change-Id: I49f9f73b552ba89810105d79d98cfff035f7d37e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-27 12:41:49 +00:00
Jarek Kobus
3f8644abff IDocument: Don't leak MinimizableInfoBars on shutdown
Detected by memory analyzer.

Change-Id: I756cbc2aad60270ea1dafbf12157a610a514dbcb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-27 12:41:37 +00:00
Jarek Kobus
1a144b4bdd AssetExporterPlugin: Don't leak action on shutdown
Detected by memory analyzer.

Change-Id: Iddfe613e8c7267de24d8d9cc07e1e0c7357e383f
Reviewed-by: hjk <hjk@qt.io>
v8.0.0-beta2
2022-06-27 12:41:21 +00:00
David Schulz
1956fa0365 Python: prevent setting local env to remote pyls
Change-Id: Id0eea5420c897687e6931bf640e3a37ba2638b8f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-27 11:23:54 +00:00
Christian Stenger
e7d90c23b6 Dumper: Fix dump of std::string on macOS
Try to handle the alternate layout of strings correctly.
Depending on the defines and the endianness the string structure
may vary quite a bit. Old approach just took care of the default
layout and the endianness.
In case of an alternate layout of strings we failed so far.

Fixes: QTCREATORBUG-26175
Done-with: Viktor Govako
Change-Id: I788eb5619408bca281eb887c3f6a269808c27d24
Reviewed-by: hjk <hjk@qt.io>
2022-06-27 11:00:43 +00:00
hjk
e1d2cbde24 ElfReader: Suppress a coverity message
Add two neutral enum values mimicing what llvm/BinaryFormat/ELF.h has.

*** CID 1518686:  Uninitialized variables  (UNINIT)
/qt-creator/src/plugins/debugger/gdb/gdbengine.cpp: 3940 in Debugger::Internal::GdbEngine::handleGdbStarted()()
3934         // Addint executable to modules list.
3935         Module module;
3936         module.startAddress = 0;
3937         module.endAddress = 0;
3938         module.modulePath = rp.inferior.command.executable().toString();
3939         module.moduleName = "<executable>";
>>>    CID 1518686:  Uninitialized variables  (UNINIT)
>>>    Using uninitialized value "module.elfData.endian" when calling "updateModule".

Looks like a false positive, module.elfData.endian is not used
in updateModule() and surroundings.

Change-Id: Ic8071add87b1df894819d49ea55dfa705b81c3ce
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-06-27 10:28:51 +00:00
Eike Ziller
c7b724c4ca Merge remote-tracking branch 'origin/8.0'
Change-Id: Ia1c97d5949de607177a5a0632c7e8a37cbfd3475
2022-06-27 10:33:44 +02:00
Miikka Heikkinen
a627d43d39 QmlDesigner: Fix crash on mode change
Added model pointer validity checks into a few places.

Fixes: QDS-7191
Change-Id: I94beb134f4d9a0b1c7fc9dc87da1d02ad255beaa
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-27 08:20:21 +00:00
Eike Ziller
06715441d6 Fix "save as" with same file path, involving symbolic links
We close all existing documents for the new file path, before renaming
the current document, but may not close the current document itself. We
already tried to prevent that, but didn't take symbolic links into
account (which could also involve directories that are symbolic links).

Use the same logic for determining if the two files are "the same" as in
DocumentModel::documentForFilePath.

Fixes: QTCREATORBUG-27741
Change-Id: I3f3984f1f761328ee373b34870e03a9fce30c190
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-06-27 08:00:28 +00:00
Jarek Kobus
c456572fa5 Add missing include
Amends: abccfe0646

Change-Id: Iab8b746ee0936024532e8da58189c027521c7edd
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-06-27 07:43:32 +00:00