Do set the global application flag AA_DisableWindowContextHelpButton
to avoid having to unset the default WindowContextHelpButtonHint
in every single dialog.
AA_DisableWindowContextHelpButton was added in Qt 5.10.
Change-Id: I21fe8bc5ddfa4c01ec7a799b04bfb6ff1c9d6d86
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If a plugin crashes, ask the user if that plugin should be disabled.
For this track which plugin currently is changing its state. Remove that
information if the state change was successful.
At startup check if there is a plugin for which we wrote, but not
removed that information.
This is especially interesting if the user installed 3rdparty plugins.
Change-Id: I5729aa5c786b653d5bd53304f4fbeaca35ec9e71
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The application details (name, organization, etc) were only set during
Core plugin startup, but that is too late for e.g. the plugin manager.
Change-Id: Id47d79e38dec9e586ab7b91a3080101e5fecb20d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
And use it for the plugin dialog and when changing the UI language.
Change-Id: Ic767837d2526409f7ec46d7e4612a1499f19459e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
kwin_wayland fetches application icons from .desktop files, so we
need to set the desktop filename on the QGuiApplication instance
(otherwise kwin will set a generic wayland icon as fallback).
Change-Id: I89921ace4a5a4ff2a2387111e51a8914f58e44a8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It's helpful to be able to temporarily disable environment variables, as
opposed to having to remove (and then re-add) them entirely.
Fixes: QTCREATORBUG-20984
Change-Id: Ib0d287035b9357507c4c19faaf3a1517382506b5
Reviewed-by: hjk <hjk@qt.io>
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.
Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Qt 6 API will move away from it.
Use QVector for API and some std container for internal things.
Change-Id: Iff14d48a47d5ac52ade875d9c8c84ad8a4f577d8
Reviewed-by: hjk <hjk@qt.io>
Qt Creator X.Y.Z is binary compatible with X.Y.(Z-1) so load plugins
from these user plugin directories too.
Change-Id: Ibed7f54e84864337a69a4745fb1ecd2f78907486
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
And mention the option in the ChangeLog.
Change-Id: I7cce04ec1ad8b3f89b4a4f6c24f2a8d2da9381a0
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
For people that are too lazy to think about currently unused
throw-away temporary directory names.
Change-Id: I0c52f3ea2b0dac4ef6cf3f9db646fd5107fa7977
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Instead, set the default level of all logs to QtWarningMsg.
The call to setFilterRules overrides the user preferences in qtlogging.ini.
Change-Id: Id5f6cd550d14ff7f45ae04c5d3110e0bafb0f072
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: hjk <hjk@qt.io>
We used to set QT_OPENGL, currently set LD_LIBRARY_PATH when qtcreator.sh
is used, and might set other variables in the future,
but these environment modifications should not be passed on
to user applications or when we run tools that are not shipped with
Qt Creator.
For LD_LIBRARY_PATH there already was a hack for
Environment::systemEnvironment.
For environment variables that we might set in main()
in the future, this patch caches the system environment for
Environment::systemEnvironment early before any modifications are made.
The previous hack for LD_LIBRARY_PATH no longer works, since it
used QCoreApplication::applicationDirPath() which cannot be used at that
point in time (before the QApplication has been created). Instead pass
the correct user LD_LIBRARY_PATH directly from qtcreator.sh to
Qt Creator through a command line option, which is cleaner anyhow.
Task-number: QTCREATORBUG-20808
Change-Id: I6674a5e0537e1b37fd7dcbff371b542fa24bce69
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Environment variables are passed on to user applications,
and we should avoid forcing ANGLE on these.
Task-number: QTCREATORBUG-20808
Change-Id: Ia6663e4e2bc4f78ec053d100563a0f07d47092be
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We parse the arguments independently from QApplication
and initialize the settings before we create QApplication.
Therefore we can parse any setting before creating
QApplication which is required for high DPI support.
We use the QApplication argument parsing to filter out Qt
specific commandline arguments like style.
Change-Id: I83ead87476d99351de6fe4f86c96c39a721af47b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
An option is added to the Options dialog:
* Allow to enable high DPI scaling on Linux
* Allow to disable high DPI scaling on Windows
On macOS+retina, high DPI scaling applied automatically
and we do not show the option on macOS.
I had to duplicate the logic for parsing -settingspath,
because the code has to run before QApplication is created.
Task-number: QTCREATORBUG-20232
Change-Id: I4e94fc54391fe99e30d4778ec2a178529961eed7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Many OpenGL drivers are still very unstable and we see many issues.
Task-number: QTCREATORBUG-20067
Change-Id: Ifc1d5b2666f9cc69154032c3c4534cd96194110c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Allow explicit native menubar disabling as there are platforms with
known broken implementations.
Change-Id: Ice5fb1270969b422eb1a964fab5e305bc658c667
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Google Breakpad (https://chromium.googlesource.com/breakpad/breakpad) is a
widely used crash handler framework, e.g. by Mozilla and Chromium. It is
providing a platform neutral solution to generate mini dumps, collect
debug information and generate stack traces from those.
Done-with: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Change-Id: I09382e7db0dc9e29b228e7b554fda7b6f5684349
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
If the default install settings contain a value for
"Settings/InstallSettings", then that is used as the actual path for the
actual install settings instead.
If the path is relative, it is interpreted as relative to Qt Creator's
applicationDirPath.
Change-Id: I212037112e88c60c94239580841aa1400d96fb73
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
The original reason for disabling HighDPI scaling on Linux in
7da2b4a3cb was unhinted fonts for non-
scaled scenario: QTBUG-46435. That issue had been fixed long ago:
0f7bc885aa7ae8cc3c448cc751aba4eba8c1c8b8
HighDPI support on Linux should by now be good enough to give it another
try by default.
Change-Id: I5b74f46310254c2916a2f16a7655d9f096453cc3
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When Widget Designer is opened with a QMainWindow based form, the
"native" Unity menu bar vanishes. This is a workaround by disabling the
native menu bar integration on Linux.
Task-number: QTCREATORBUG-17519
Change-Id: I93eb3a590200fb8fff90017d8d6eddda8edaa42e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Both wrap the corresponding Qt class, but make sure all temporary files
or directories are created inside a "master temporary directory".
Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Derive the relative paths used in code from the paths used by the build
system.
Change-Id: I208ee55d3c1ee76921734f5c1c6c40d3fcb9724c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
...by not passing in IDE_LIBEXEC_PATH.
While at it, fix the call to CrashHandlerSetup.
Change-Id: Ie4018bf58f286c121bb85951546c4fe4d31e9959
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Put the binary into the libexec path
* Check for process origin more explicitly
* Allow providing the application name
* Allow disabling the restart action
Change-Id: Ide7132215d7c251ce486daab60ac680de3c9f9a6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>