Pass the future interface of the running task into
ProgressManager::addTimedTask() instead of not
related future. In this way canceling the timed task
(after pressing the small x button) makes the
future interface canceled in the worker thread.
Change-Id: I4596823d40bd079841e59c9bdba025d30cb33711
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Virtual environments on the root level are uncommon and can cause issues
on some linux distros.
Fixes: QTCREATORBUG-27976
Change-Id: I266f1b321c1c2d2b4b416acf3f34ce8c1d686219
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
For example, if the server was not authenticated, and .netrc was edited
outside Qt Creator.
Change-Id: Ib28b6e924e3fab958410da49ceb45ed4269e195b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Setting a focus proxy to the outline widget makes sure the tree view
gets the focus whenever the oultine widget gets focus, so after opening
the outline the user can directly use navigation keys to move the
selection in the outline.
Fixes: QTCREATORBUG-27595
Change-Id: I0771c99ccf5aa334f45065d58366b53f53bf75a5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Also, replace /#/settings/http-password by /#/settings/#HTTPCredentials
There should probably be some stretch between the form and
the buttonbox, but it wasn't there in the .ui so I left it
out for now.
Change-Id: Ie07a3283261a1070a489e454f9fb86c0c6dc2ca8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
If the user set the QTC_CLANGD_COMPLETION_RESULTS environment variable,
use that value as the default value for the settings page widget value.
Change-Id: I525e8bb4a5631b7d8461f18d1fc5c6972bd758cb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Get rid of unused workingDirectory (default working
directory will be used) and exitCodeInterpreter.
Simplify internals a bit.
Change-Id: I2a7547e5a594dd7a21f390daeb06778656e9e971
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Do not blindly remove all flags that contain the file's base name.
Fixes: QTCREATORBUG-27990
Change-Id: Ib51b65a8694e82ec22af859176b0db0e5d86b5f0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The timeline settings dialog used a static QString to cache the
last inserted expression binding value.
This caching fails when the user modifies the expression in the
text editor since the cached string is not updated in that case.
This patch removes the caching since this optimization is negligible.
Fixes: QDS-7162
Change-Id: I0122b29180afbfe5b867063139c924efa6e17ea3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The global event filter function is executed often, for events
originating deep in the widget hierarchy even multiple times.
Triggering the timer only by mouse and key presses on the main
application and on texteditor is less intrusive and still happens
often enough (TM).
Change-Id: I848d55a347bd62d12e8523965d1750c59da33116
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This amends 01ceb3a3cb, where we failed to
consider the case of projects with lots of UI headers, which cause
excessive memory use by clangd with our current simplistic approach.
Instead, we now only open ui headers that are used by currently open
documents.
Note that this approach will fail for indirect includes via header files,
but people who do that do not deserve happiness.
Change-Id: I1ef2add701e0f13dc0da79267d3c1367c1b496cc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This amends 96be267a6e, which contained a
wrong assumption: Just because a ClangdClient has an associated project
does not mean that all documents currently open in this client belong to
its project. The opposite often happens at session loading. For example:
- We load a session with two projects.
- Qt Creator restores the documents and starts loading the projects.
- The latter happens asynchronously and takes longer, so initially
the fallback client claims the documents.
- The smaller project finishes first and now grabs all the open
documents whose files belong to it, as well as those that don't
correspond to any project (as per
8ad7ab2d2a).
This includes all documents belonging to the second project,
because that one has not finished loading yet, so its files are
not associated with a project at the moment.
- Finally the second project finishes loading. Now we must
"steal back" all its documents that are currently open in the
first ClangdClient. This is what this patch does.
We also now explicitly close the document in the previous client as part
of the hand-over, which is conceptually the right thing to do and should
eliminate any potential "ghost diagnostics".
Change-Id: I3d9f5ce503cc7ee47ece757d81851b85a16b639d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
It looks like the cookie set inside GitClient::vcsExecAbortable()
is never read back again. The only place where we connect to
finished() signal of the command returned by vcsExecAbortable()
is GitClient::pull(), however, we ignore the cookie there.
Change-Id: Iaec08b255309ea406e45695231fe9849d5dc7285
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Don't use setCookie() for setting the push failure status.
Introduce a PushHandler helper that keeps the data collected
when stdErrText() signal is emitted and reuse it when
finished() is being called. Move m_pushFallbackCommand
field into the helper, as its value is meaningful only
in context of the invoked command.
Hide PushFailure enum inside PushHandler.
Change-Id: Id21457734f32e06bb130c3c07c24cb2b7af6e466
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Consistent with the rest.
Change-Id: Ia6ac7476e8b22ca1bf65005dcb4c5a7a2bcc50ac
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Don't use setCookie() for setting the line number
to be shown on annotation. Add setDefaultLineNumber()
setter to VcsBaseEditorWidget instead.
Change-Id: I6c52874d48532132a27b2a7a9d161705170f7ade
Reviewed-by: Orgad Shaneh <orgads@gmail.com>