Enables re-using existing functionality.
The "Make mutable" functionality is still oddly placed. I doubt people
find and use it actively.
Change-Id: Ic6aae17e3a7df093f0f5f234f1e6e1afc196a087
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Unfortunately we have to turn off separate debug info for this,
because sccache is not compatible with /Zi on Windows.
Change-Id: I5e9e3bb298bd4f72a79e944485523a553349590b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
And add screenshots for all sidebar views.
Task-number: QTCREATORBUG-25162
Change-Id: I7890d57adf04517c534a9b36de89170039f3de93
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The possible issue with the current implementation is that
in theory many possible GC() are being executed in parallel.
In this case just one of them is really working and others
are waiting on the locked mutex (first line of the GC()
method). In such a scenario when a call
to StringTablePrivate::insert() is being executed from one
more thread, it may happen that the working GC() thread
is stopped (since m_stopGCRequested.fetchAndStoreAcquire(true)
was executed from insert()) and later the mutex lock may be
granted to the other awaiting GC() thread instead to the
thread which executes insert() method. In this unlikely
scenario the GC() thread won't be canceled and the lock
inside the insert() method may be locked for considerable
amount of time, what is not desired.
The goal of this patch is to resolve the possible issue above
and to simplify the code by eliminating the m_stopGCRequested
variable and make use of QFuture.cancel() / QFuture.isCanceled()
API instead. In addition, since we control now only one
possible thread that executes the GC(), there is no need for
future synchonizer anymore.
GC() function can't be run in parallel in different threads,
as the whole body of GC() is protected with mutex. This means
that whenever a new scheduled call to GC() is being executed,
this new call waits on the mentioned mutex at the beginning of GC().
So, instead of protecting the whole body of GC() with a mutex,
we ensure that the old call to GC() is already finished (if not,
we also cancel the old call) while preparing an asynchronous
call to start a new GC() from inside startGC() method.
Whenever we are calling the insert() method, we still protect the access
to m_strings with a mutex (as insert() is designed to be called
from different threads in parallel). Just after locking the mutex
we are canceling any possible ongoing call to GC(). After canceling
the GC() call, we are sure that no new call to GC() will be executed
until we unlock the mutex, so it's safe now to modify the m_string
data.
Change-Id: If72d0a6f98fb414c6c63117bc9baa667d17e1ffe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Fixes: QDS-4188
Change-Id: If9ac5b7e73221e43d643888e3ecf309c01279a8d
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Probably introduced during the base setLabelText consolitation.
Change-Id: Idb874f1fad32cb2871d43249e9ce6e17f6cc4c1e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Before we only supported UL and ULL.
And add tests for all variants of allowed integer suffixes.
Fixes: QTCREATORBUG-25604
Change-Id: Id92f371d2effa7456d2d50891a6c29810c5c4c75
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Therefore move the list detection code to the model.
Reason: The HTML wrapping mechanism used before
created hard to read tooltips like:
/opt/Qt/5.15.2/gcc_64/bin:/
usr/bin:/home/user/bin:/
usr/local/sbin:/usr/local/
bin:/usr/sbin:/usr/bin:/sbin:/
bin:/usr/games:/usr/local/
games:/snap/bin
which changes to the list below now:
/opt/Qt/5.15.2/gcc_64/bin
/usr/bin
/home/user/bin
/usr/local/sbin
/usr/local/bin
...
Task-number: QTCREATORBUG-7993
Change-Id: I08acc2cad0d12cb4309ee50d837c50dc9ccba2d9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Inside the body of a function template, clang reports a different cursor
type for operators in some cases. Make sure we don't mistake such
operator< or operator> as opening or closing a template, respectively.
Fixes: QTCREATORBUG-25596
Change-Id: Ifc357e199ea13e44ac501613639e667c333d48e3
Reviewed-by: David Schulz <david.schulz@qt.io>
I find the std::bind version much harder to debug.
Change-Id: I0badb4c29097a5432b110a815cb2206477091d98
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The new methods allows converting a path to a file or directory into a
path relative to another path to a file or directory.
Change-Id: I8c743d5bced9fec81b05ce94ac2b7bec307d9028
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
For commit messages consisting of only two lines, no
warning was shown when the second line was not empty.
Now a warning is print for:
First
Second
Third
as well as:
First
Second
Change-Id: Ibf19bc46465446f1634f9fdc783bd194b837d5ec
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
- Updated mainly pictures due to changes in the Properties view
Task-number: QDS-4167
Change-Id: I0ce5f83dc5d353eb7061761505454677d79aeb3b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
We need to take into account that the ">>" in constructs such as
std::vector<std::pair<int, int>> is only one token on the clang side.
Change-Id: I90f002ca56f236032f6d39c338593a2ff7590061
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
... in "Add Virtual Methods From Base Class" quickfix.
Fixes: QTCREATORBUG-25589
Change-Id: I5ffef27acf151422ec4f56d48451e263664bfc2d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
If a module is removed, its categories are now also set visible.
Fixes: QDS-4158
Change-Id: Ica1fd1f4d1d821bf74ea2ed57ff42849e8318539
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
ImageCacheGenerator.CleanIsCallingAbortCallback was not waiting for the
expected call.
Task-number: QTCREATORBUG-25580
Change-Id: I43265389a36e568dea7c7ece5524ef597232d049
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Subcomponent update is needed after an import is added to parse and
load the import components. Instead of updating all imports and folders,
just update the import folder when adding a new import. This also fixes
regression cause by: d3f2394e8f
Task-number: QDS-4179
Change-Id: I6c0ba5139818004fdf54dfa10f03c7b013dfa46d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Use the new, simpler install_qt command and centralize definition
of Qt base URL and modules
Change-Id: I73d0b195c0cb6278d4f79476c42a39446d43eaed
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
- export the plugin andd add client creator API to be able to implement
external debugtranslationclients
- use the private/qqmldebugtranslationprotocol_p.h from Qt5::QmlDebugPrivate
- have a basic client implementation which cares about changing language
- remove out of date elide warning implementation
- remove old ui
- remove the menu entry
The old client implementation is incompatible with the will be introduced
service and there was never an officially released compatible service.
Therefore we can remove the old client implementation without causing
any harm.
Change-Id: I26b5e8a99ba30ae6377443b3fffb05901b1cac28
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
If the work done end signal does not contain any message remove the
subtitle of the progress. Otherwise we still might show outdated
progress information on finished entries.
Change-Id: Ib1776e6cb1bacfa557b672182cd4e2c403266d1c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>