* Add tooltips with thumbnails to UrlChooser enable preview of image
formats and meshes
* Add property editor image provider which makes use of the image cache
* Add mesh image cache collector in order to create thumbnails for
meshes and built-in primitves
* Fix typo in explicit image cache image provider
* Add return value in time stamp provider if provided file does not
exist
Change-Id: I2290d2ace87ddd90e9899e343f2ad1ecd2993fdf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Change FileResourcesModel to have one list of FileResourcesItem with
properties absoluteFilePath, relativeFilePath and fileName instead of
having two separated lists.
Change-Id: Ib4b4884a6739658434844d2adb9c05c3871104e7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Fixed behavior, when after undo function cursor, jumps
to the start of a file.
Join the undo block generated by auto format with the
last available undo block. This will place the cursor
at the last edit position instead of the document
beginning when triggering undo.
Fixes: QTCREATORBUG-27608
Change-Id: I1bb630af00e997ac53f178594445293ceebcfa26
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Before we were installing the timer inside the process
interface handler. The issue was that when the handler was
moved into another thread, the timer was restarted (that's
what happens with all timers when they are moved into another
thread).
The fix is to keep the timer inside the caller thread and
detect inside waitForSignal() whether a timer was started.
In case the remaining time for kill timer is less than
a timeout for waitForSignal, we split the waiting into two
parts and execute kill() in meantime.
Change-Id: I2c18805593fe2f73d816cce40dbb45bf58a50715
Reviewed-by: hjk <hjk@qt.io>
Rename it into ProcessSignalType. It's going to be
used in new interface.
Change-Id: Ifbab8bbb601f14ecbf65d940e524c558d5f1d7a1
Reviewed-by: hjk <hjk@qt.io>
Added possibility to keep link to global settings visible when
checkbox is invisible.
Change-Id: I724f1c1997b640b2277c4004acd24d5f6cca9faa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add a setter and getter for reaper timeout. This makes it
possible to customize the timeout for the reaper after which it
should call kill() when previous terminate() was unsuccessful.
This setting is also used for QtcProcess::stop().
Change-Id: I653a3ad107ae4173bb8254c85cfc07886bf6a9c6
Reviewed-by: hjk <hjk@qt.io>
At the same time, use the more descriptive FilePath::displayName()
instead toUserOutput().
Change-Id: I9bcca84b1f0be025c511b6fbf58c7308c9ffd60f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Debugger, watchhandler: incorrect type conversion:
Converting from `int` to `unsigned int` can lead to a situation where
the result is too large to be represented as a `QChar`.
Task-number: QTCREATORBUG-27107
Change-Id: I7873635f7a1ef29f62339ffe23b4dd84cb089e2b
Reviewed-by: hjk <hjk@qt.io>
Added material library accessor to AbstractView, which creates the
material library and moves existing materials under it in case it
doesn't yet exist. Also added material assignment function to
AbstractView. The reason these were added to AbstractView instead of
being handled e.g. via custom notification in material editor is that
they need to be called from multiple different views in the same
transaction that triggers the need of material library.
Fixes: QDS-7081
Change-Id: If2bb884f87d04c9f3599c2342df66ef51ec238ee
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Execute a script directly on remote side instead.
Storing it always into /tmp/shell.sh may potentially break
when 2 or more shells are being started for one device at
the same time.
Change-Id: I2b8c94ef531fa4916383355a312421a3a18bfcad
Reviewed-by: hjk <hjk@qt.io>
To increase the usefullness of the function, this change
adds the current search settings to the find() call.
This way the "case sensitive" and "whole words only" is taken
into account when searching for the next occurrence of the
selected text.
Change-Id: Ia4b28e84c39b9298d2dcbfa381ccf19d8137bfc6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Patch is self-contained, no functional change intended.
The transition is, however, not complete yet as the would break
the consumer side currently.
Change-Id: I04b7d919dffbfb9237863e6166247305c20f1091
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Previously the runInShell and outputForRunInShell methods were
exclusively processed single threaded, meaning all calls
were processed sequentially. With the multiplexed
helper script we can now run multiple processes simultaneously.
( see tst_manual_deviceshell )
Additionally the new script allows us to capture both
stdout and stderr from commands which was not possible previously.
Change-Id: I52f4fb46d872dc274edb9c11872d2f6543741b34
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
False positive, it couldn't be. `ok` could only become true if
var.toInt() was called, which means some value was assigned to `value`.
But anyway, we can simplify this because QVariant::toInt() returns 0
when it sets ok to false.
classviewutils.cpp:78:50: warning: ‘value’ may be used uninitialized [-Wmaybe-uninitialized]
78 | return SymbolInformation(name, type, iconType);
| ^
Change-Id: Iba16e8ea451b444ab213fffd16f4918c45228f2c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Creating material library node in response to model change
notifications is problematic, so don't do that.
Fixes: QDS-7075
Change-Id: Ib688d71223a851b8a98e1c8fcfe598f6decdaf16
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
... for use in the default build dir template.
Task-number: QTCREATORBUG-26147
Change-Id: I1a32d60e0d5e2db514ac315c48c615c55ccda51f
Reviewed-by: hjk <hjk@qt.io>
Since we might get a result for a hover request after Qt Creator lost
focus we need to prevent showing tool tips for a Qt Creator in the
background.
Change-Id: Iaa0eafdfe9340d2623fc4632dfc685463fd0d53a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This method works like close() with the difference that
after calling stop() we are still going to receive
signals from QtcProcess, especially done() signal.
This method isn't blocking, so a calling it is fast.
Just after calling this method QtcProcess is still
in the same state and done() signal should be delivered
asynchronously. It's safe to call waitForFinished() after
calling stop() with the desired timeout.
Calling stop() in a row with waitForFinished() is a good
substitute for stopProcess().
Change-Id: I1df55beb7f89c9b73203c9ba4bc276a4060600a5
Reviewed-by: hjk <hjk@qt.io>