Make this method just virtual, not a pure virtual.
Remove all empty reimplementations of this method.
Change-Id: Idf10e492355e8519172facd421ea0b2b13ce3b80
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When Locator::refresh is called, the refresh may be currently
ongoing - in this case we cancel it (and don't wait for it to
be finished) and start a new refresh. So, in theory, refresh
may be running in parallel on more than one non-gui thread.
The consequence may be, that when we then shutdown, we wait
only for the last refresh to finish (we are connected to
m_refreshTask), and doesn't wait for the canceled one to be
finished. This may potentially cause a crash.
We fix it by ensuring, that only one refresh task is run.
Change-Id: I62eeb00375124cdc0ab4651e9280226071d47f3f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When closing e.g. a separate window with a locator search running, we
don't need the search to continue. Save resources by cancelling it.
Change-Id: I889b9cd163a9cc79045fb0eda9797856c489bd39
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Added support for overwriting file-based assets such as images when
an asset with the same name is imported to the same location.
Assets tab will now also refresh its icons if underlying files are
modified. Added local caching of icons to avoid regenerating unchanged
icons. Also added bit of a delay before responding to a file system
change, which should improve performance when multiple assets are
imported at once.
Fixes: QDS-3644
Change-Id: Id452d3b1de8f4651a36401878c5067655865b675
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
That is, show which ":" belongs to which "?" when the cursor is on one
of them.
Fixes: QTCREATORBUG-1410
Change-Id: Ie19360b3dfc82d92c264d99a5aa1864eda66e5c8
Reviewed-by: David Schulz <david.schulz@qt.io>
This may cause a deadlock on shutdown, when main thread
blocking waits for a thread to finish, and BlockingQueuedConnection
requires a main thread to run event loop, otherwise it blocks.
Looks like it should be safe to replace it with QueuedConnection,
as the point in time when OpenDocumentsFilter::refresh() is being
called is arbitrary, so no need to ensure that refreshInternally()
in the main thread was already called when leaving
OpenDocumentsFilter::refresh().
Change-Id: I39a1b9b1c82f1e9ed7e6ad5c183c5f9f41a1a061
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
There are multiple locator filters (SpotlightLocatorFilter,
JavaScriptFilter, HelpIndexFilter, the LanguageClient filters) that
depend on the main event loop, and might lock up if that does not run
anymore.
So we cannot use waitForFinished. Cancel a running locator search, and
tell the plugin manager that we need to wait for asynchronous events to
finish before shutting down.
Amends cb5977fbad
Change-Id: Id0b3dc75bc22f21b34be39c3bdbec915b60bdee6
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
We make a promise to locator filters that their prepareSearch() and
matchesFor() methods are never run in parallel, and never more than a
single matchesFor() call is running at the same time.
This broke with the introduction of multiple locator widgets (in
multiple windows).
Extend the existing code that makes a locator widget "wait" for a
running search to cancel and finish, to wait for any locator widget to
cancel and finish. Save the currently running search in shared future
for that purpose.
Change-Id: Id81f31faad9321cbd42bd451c452e542c99bde3a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Handle setting and updating of tool tips, visibility, and read-only
state centrally.
Change-Id: I95205bbb173093ed60f2bf337ac86f3d7ed6d1cd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
More generic. Makes it re-usable for sudo.
Change-Id: I0149ed2e4d87a5904113c8a798d1782ee14beba2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
On Linux (Ubuntu 20.04) Qt Creator would use /usr/bin/g++ as
compiler for C++. CMake would pick /usr/bin/c++ as C++ compiler.
Both of them are symlinks to /usr/bin/x86_64-linux-gnu-g++-9
ammends 4ae5516453
Change-Id: Id50cb47ed4e728541baed6a191435f2ad0137628
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This makes it easy to search for certain checks.
Fixes: QTCREATORBUG-24851
Change-Id: I94521aade4b54e80113aa31db9bed91ecb230016
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Use Utils::ChangeSet and TextEditor::RefactoringChanges to apply the
text edits that are reported from language server to format the current
file.
Change-Id: Id2f490b6e2791f676ebc751219bfbbf9e178f120
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The casting provided by the asTest*() methods isn't made use of here, so
using the "data-oriented" type() method seems more expressive.
Change-Id: Ia3e1a28d126f096afed54eeb0d884c52332f4350
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... when creating the constructor implementation for a derived class.
We would erroneously strip off the class name.
Amends aae3ce15aa.
Change-Id: I62c800d490626e8cb9416829633f9ef7b0c666cd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Mark that about to shutdown has occurred and don't start
any new thread after that.
Fixes: QTCREATORBUG-25318
Change-Id: I14d47c93dd8e8a82f6f68264a03d5831ec95da75
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The build settings widget for the signing settings should not depend on
qmake specifics. Move these to the build configuration.
Change-Id: Ie5feba577304fae9bde3ed01530250d02be982e1
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
clearCache() is already called from inside
Manager::resetParser() ->
Parser::resetDataToCurrentState() ->
Parser::resetData() ->
Parser::clearCache().
Change-Id: I270be85b291f99552959e50ee54bd6e1f293c63a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Remove unused methods. Replace one slot with a call
to lambda.
Amends a673fca144
Task-number: QTCREATORBUG-25317
Change-Id: I1125b62b9ea66b8dc43038a6b748d52a5a27224f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
- Do not assume that the PID string is the first output.
- Do not assume output has already been read when the process finishes.
Fixes: QTCREATORBUG-25306
Change-Id: Ia7cec6113e7f86469da2e6e0c62e08b38213093a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
These were not showing up in any global symbol list so far.
Fixes: QTCREATORBUG-5800
Change-Id: I8e5c3b9b26f09d8cbcd31431e28c103da05d9bf8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
this partially reverts ddefe062c7 - contrary to what that commit's
message suggests, the process state doesn't just change out of the blue,
making waitForFinished() return false. that requires the process being
reaped, which may happen only if the event loop runs or one of the
I/O-related waitFor*() functions is called on that process.
note that the first condition in SynchronousProcess::stopProcess() was
actually bogus, as it makes obviously no sense whatsoever to insist that
the process is still running after waitForFinished() returned success.
qtpromaker was also plain broken - it would always terminate prematurely
due to thinking that the sub-process failed.
Change-Id: I44f332a6784ccc7e732ee868e38218f746141129
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Allow for direct connections where signal emitter and
receiver live in the same thread.
Remove unneeded mutexState, as changes to state and
all queries of state are done in the same thread.
Remove some indirections by removing some signals
and by calling respective slots through
QMetaObject::invokeMethod() or directly.
Remove some unused methods.
Remove a code path of setState(false), as this was never called.
Remove an initial call to onProjectListChanged(), as initially
the state is false and a call is no-op.
This change doesn't influence the existing behavior.
Task-number: QTCREATORBUG-25317
Change-Id: I683525b49afaf04e155d1859bb85ee5dd8e26dd2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... when inserting a member function declaration for a definition.
Fixes: QTCREATORBUG-5591
Change-Id: Ie85b435a1595832d0085abdcc0a4187d939820e0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The filter enables users to search for apps, documents, and
other files using platform-specific external tools or commands.
Task-number: QTCREATORBUG-25162
Change-Id: I32e8d059fa374aac3be983e9461a138ac4c647a0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We now support sound assets, which require multimedia to use, so
removed multimedia from possible imports blacklist.
Fixes: QDS-3640
Change-Id: I84350c1f366b6e110b3e630950cac0b96049b380
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Use QPalette::HighlightedText for text on selected QML debugger console
items. Also, use QPalette::Highlight/Base for the background area. Both
changes make the console behave like a standard Qt itemview in that
regard, and therefore ensure a proper text contrast of selected items.
Fixes: QTCREATORBUG-25200
Change-Id: Ia292069c3b8d749166356496f16665345b57e3e0
Reviewed-by: hjk <hjk@qt.io>
Link to the "Debugger Settings" section where appropriate.
Task-number: QTCREATORBUG-24500
Change-Id: I7e19211c22bf0139678d49e46db3bd2bb04c7260
Reviewed-by: hjk <hjk@qt.io>
...to a separate .qdocinc file included from
"Interacting with the Debugger".
Change a conflicting section title in run settings docs.
Task-number: QTCREATORBUG-24500
Change-Id: I6e3e205d1dfdcfabaf80fc18bd2b73c1256644e4
Reviewed-by: hjk <hjk@qt.io>