In the long run we have to use a value class of the target pointer which
will be simply copied to the thread and cannot get dangling.
Change-Id: Ib99a69aa9697038887a24300eb234c3baf4eb1b2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This reverts commit d65e47b5c6.
Reverts the quickfix for the performance regression of code completion.
Followed by a minimal fix.
Task-number: QTCREATORBUG-26829
Change-Id: I1afe71c24ee94caadd4fa849c29f6fc030fb1a8b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
The headers were not actually used, and by removing them the
MinGW 8.1.0 build is back to green.
Change-Id: I38572696a3c1abc15ec79c1cfd0f7c68ba1fc6b0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Replace the Utils::FileWatcher with a connection to the ProjectExplorer
fileListChanged signal.
Change-Id: Ia2d3a6d239451ed979bbfb654fe5258aadd3c686
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* Left align the headers of connection, binding, dynamic properties and
backend view.
* Add left padding to give some space between text and separators.
Task-number: QDS-5851
Change-Id: I8f5981e6636fa2f3d6a0c4b9d9abd4e9f54603ed
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
We now do it on document change to work around puppet and codemodel
problems.
Change-Id: Ifd1f6835cc5c0abd3430d5d26685e838dc561ae2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Added tests for WizardFactories class and for StyleModel class.
Task-number: QDS-5690
Change-Id: I08f51c2b6cf628a265286ddb8056bd049a64ff0b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The "Clear selection" button doesn't add much value in the list
of buttons.
If you have a selection it doesn't really matter, and you can
simply click on an item an the new item will be the new
selection.
Change-Id: Ie64bc379773219392c12da4c256afd462d4081a9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Having groups made from the first underscore is not necessarily
helpful.
In some cases it creates empty groups, which can confuse users.
We have filter and search functionality in the list, which can
help with finding the right items.
Fixes: QTCREATORBUG-26218
Change-Id: I751a59b49184ea57f55d3832ef4edc8a3c33e0da
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Previously the "Force to ..." context menu entries were enabled
only for the items on the second column (values).
There is no reason not to have the same behavior for the items
on the first column (keys).
This way the user doesn't have the impression that something is
wrong if they trigger the context menu on the key and not on
the value in the list.
Change-Id: I02fcaf25340f2dbcbb808be8f27047acaaee5471
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When creating a new timeline, do this in the current state.
When refreshing the formeditor, do not change to the base state.
Use the views major version number instead of hardcoding it.
Change-Id: Idab1b91ae5a2bcf971487b09b0622fce2fd14f67
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Only select the lines if the cursor has no selection. If we have
multiple cursors with a selection the user most probably want to copy or
remove this selection.
Fixes: QTCREATORBUG-26761
Change-Id: Idbf36a878e3d56ea34542b5de390c547bd8bcd6b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Use the directory that contains the file not the file itself as the
working directory for REPL.
amends 4a42bcd4e8
Change-Id: Ia81efc3ef51a96a79918d358cd446de9f1ea082d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Prevent scrolling to the end of the document after triggering select
all.
Fixes: QTCREATORBUG-26736
Change-Id: I744dddee87ac16ae2399d37483552fc6b535df46
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
There was a conflict with a similar action in ProjectExplorer. Make the
command the same.
Fixes: QTCREATORBUG-26780
Change-Id: Ide831d103e5c2d1b9efd9cd01ce81c0abf5545a1
Reviewed-by: hjk <hjk@qt.io>
The AsynchronousImageFactory is not interested in any callback. So it
is providing null callbacks. If they are called there will be a crash.
Change-Id: I252301e4289185e50720849a7cb148d8f1da3e7d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The TCC (Transparency, Consent, and Control) subsystem on macOS handles
access to private private data such as the Photos library, Calendar,
Reminders, or the ability to record the screen (among other things).
When an application is launched by launchd, for example by starting it
from Finder, it becomes the "responsible" process for permissions, and
any child processes launched by the application will both inherit the
application's permissions, and any permission requests from the sub-
processes will be requested on behalf of the application.
This is not ideal when Qt Creator is running user applications, as
we want these applications to properly request and manage their own
permissions, instead of inheriting and relying on the permissions
that Qt Creator may (or may not) have.
To fix this we use a small helper binary that explicitly disclaims
any responsibilities from the parent process, before exec'ing the
user application. We limit the usage of this helper to user apps,
as build tools and other helpers used by Qt Creator should still
be attributed to Qt Creator.
The functionality could have been implemented as a toggleable
feature in processlauncher, but since that helper uses QProcess,
which internally doesn't use posix_spawn on macOS, we would need
some heavy refactoring of QProcess or processlauncher to support
this feature. Keeping it contained in a standalone tool, that can
also be used for testing outside of Qt Creator, makes more sense
in light of this.
With the helper tool in place we can then remove a long list of
permission usage descriptions from Qt Creator's Info.plist that
were only there to allow user applications to not have to add
their own descriptions. Removing these makes it more predicable
for user applications that they need to manage their own
permissions.
It also stops Qt Creator from requesting permissions for Contacts,
Calendars, Photos, etc, at first startup, which looks weird if
you don't expect or want your IDE to manage your reminders or
photo libraries.
[ChangeLog][macOS] Applications launched from Qt Creator will no
longer inherit hardened runtime entitlements from Qt Creator, which
may result in the application needing to declare its own set of
entitlements if the hardened runtime is enabled.
Fixes: QTCREATORBUG-26743
Change-Id: I980d0ed98d875f0f3ec63a54f91f1d9fc7775062
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
warning: C4305: '/=': truncation from 'int' to 'IntType'
with q[u]int8 template argument.
Change-Id: I0f0063191b0e51ab79f94073ead65da86ea82440
Reviewed-by: hjk <hjk@qt.io>
There are now matcher in google test for optional.
Change-Id: Ib3389fb0f537fd19a2930e7108483736bbba1628
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>