Commit Graph

219 Commits

Author SHA1 Message Date
Marcus Tillmanns
cbc6809b28 SSH: Fix Askpass on Windows 11
The standard openssh on windows 11 will not use the "askpass" unless
SSH_ASKPASS_REQUIRE is set to "force".

see: https://github.com/PowerShell/Win32-OpenSSH/issues/2115

Change-Id: I96a32e333a39e0cf5f5dab4c0f9c201b20daf533
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-09-27 10:27:56 +00:00
Jarek Kobus
88926ed1a8 VcsPlugin: Simplify return statements
Change-Id: Icdf580fb1ca6860a82f3594e4676fb450b55d174
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-02 11:30:09 +00:00
hjk
9b6ff3fb36 Vcs: Use PagedSettings for common settings
Also restrict the Reset VCS Cache button to the second
column, as it was earlier.

Change-Id: I291fdceb11df4ecdfdc0887fd521288d0b4544f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-06 12:35:11 +00:00
Eike Ziller
7bd06829c4 Tr/VCS: Fix various issues with translations
Inserting the name for the "commit" operation into messages relies on a
certain sentence structure and doesn't work with translations. Same for
"optional" error messages. Use different complete messages for the
different cases instead.

Avoid explicit line endings, use automatic word wrap instead.

Add some quotes and full stops.

Fix message with plural.

Don't use %n for constant number (inline in message with assert).

Improve confusing tool tip for instant blame.

Change-Id: Ic8453763279753ebd5898858951acddcf311e6e4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2023-05-31 10:53:24 +00:00
Jarek Kobus
a0f6e8dc04 Utils: Rename qtcprocess.{cpp,h} -> process.{cpp,h}
Follows QtcProcess -> Process rename.

Change-Id: I97235a9a40cb7fd52944515b7ab878d96528f919
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-04 05:52:26 +00:00
hjk
3e7d93c788 ProjectExplorer: Move some not-fully-session related bits
... out of SessionManager.

The idea is to later move SessionManager into the Core plugin,
which both is sensible conceptually and also prerequisite to
merge the Bookmark plugin into TextEditor plugin.

Currently, only the interface is split, as the load/save
implemetations are non-mechanical to disentangle.

Change-Id: I31631db3094ea192825a2ccaa6add6188662940b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-01 09:26:50 +00:00
hjk
013ad1345e VcsBase: Proliferate use of FilePath
... and update user code.

Change-Id: I52c08e9e07238536d31fc72f97312ac582a1e32f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-01-20 12:02:32 +00:00
hjk
fa7dd2fd3b VcsBase: Convert to Tr::tr
To reduce the amount of duplicated strings for translators to handle.
The problem is not very prominent in vcsbase, but that's where we
are moving everywhere else.

Change-Id: Icb11fad3bccfea8a1408420e729566a75adccb66
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-01-18 15:33:59 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
Eike Ziller
68388a38dd Merge remote-tracking branch 'origin/9.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp

Change-Id: I154a9ababa9e166cb06e98652d481fe6234f6399
2022-11-03 13:44:37 +01:00
Orgad Shaneh
e003a02721 VCS: Fix resolving active directory for temp editors
Amends c666c93882.

Change-Id: Ib7aeb9616d3d527f829ece2a39eb5ddf77f9431e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-26 20:57:39 +00:00
Orgad Shaneh
d63bfa4a29 VCS: Simplify submit editor accept/close flow
* Replace message box with an error on the output pane.
* Separate logic for accept and close.

Change-Id: Ib9fa201a1a67ee195086f7a22bc6678a9642452a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-10-25 19:19:40 +00:00
hjk
4266f612e6 Utils: Rename FilePath::relativePath() to relativePathFrom()
Hopefully less confusion about the direction.

Change-Id: I61727d6c4d19e0dfe46f24ff24f5d90f9835d05c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-10-18 13:41:24 +00:00
Orgad Shaneh
890b85d17e VCS: Simplify promptSubmit a bit more
+ fix regression for Git, which allowed to commit invalid commits.

Amends commit 9b61e484be.

Change-Id: I7571863bb982bfae1aa040e08f8c68010b14b147
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-10-18 06:31:53 +00:00
Orgad Shaneh
9b61e484be VCS: Deduplicate some submit editor closing logic
Change-Id: I622f5703c222a48606fcca3b99e87f9398e6a815
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-10-17 16:37:26 +00:00
Orgad Shaneh
e757122843 VCS: Minor optimization in relative file resolving
Change-Id: Idc7349ef7066cdc3888d0b0cfabf6b4390b8659a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-14 11:35:56 +00:00
Jarek Kobus
993fd2a92a VcsBasePlugin: Use FilePath::relativePath
Instead of QDir::relativeFilePath().

Change-Id: Iacd25e51dc87b987402ff3677f6705c6e0e8edbf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-04 11:51:40 +00:00
Jarek Kobus
c666c93882 VcsBasePlugin: Use more FilePath
Change-Id: I7bc80245b093b210439efdf3ea353b52b288dcc0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-10-04 11:51:20 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Jarek Kobus
83739bde38 VcsCommand: Merge with VcsCommandDecorator
Change-Id: I84df1779377648624984c9e57806f1307ae62b5b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-01 17:24:53 +00:00
Jarek Kobus
d1284e9101 Move createInitialCheckoutCommand() out from core plugin
Change-Id: I99f4795822838ac084d0d6823db96e5864e0dcdf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-08-01 15:19:58 +00:00
Jarek Kobus
85071d8e8d ShellCommand: De-virtualize environment()
Provide instead a protected setter, used in VcsCommand c'tor.

Remove a forceCLocale arg from setProcessEnvironment() method,
as it is used only in VcsCommand context when
ShellCommand::ForceCLocale flag was set. Move setting
C locale env directly to the shell command, just before
the command is executed, so that we are sure the flag
was already set.

Modify env directly in VcsCommand c'tor with regards to
SSH_ASKPASS variable.

Change-Id: Icff555ade4984368f7ce79f762d1bb5d3614076a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-07-13 19:29:10 +00:00
Jarek Kobus
89e7201048 VcsBase: Hide VcsCommand class
Make it an implementation detail.
Introduce VcsBaseClient::createVcsCommand() method instead
for instantiating VcsCommands.

Replace all occuriences of VcsBase::VcsCommand in public API
with Utils::ShellCommand.

Change-Id: Ie438cc3a5e867b3ee8f9e935b56b2f16ea453f8a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-07-13 16:01:28 +00:00
Jarek Kobus
cea7be0486 VcsBase: Remove some ssh related methods
Remove VcsCommand::m_sshPrompt, as it is always taken
from settings.

Change-Id: I9f46bb5a9de03e907f2098ca72a647c969e55a27
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-07-12 11:04:29 +00:00
David Schulz
e052d75987 Core: FilePathify WindowTitleHandler
Change-Id: I905a193e70b199cbbd483e76e14c7f9fd2b179ef
Reviewed-by: hjk <hjk@qt.io>
2022-06-17 04:22:23 +00:00
Eike Ziller
2e0633907f VCS: Fix possible crash on shutdown
Similar to how it is done for the WindowTitleAdditionHandler and
SessionTitleHandler.

Fixes: QTCREATORBUG-27048
Change-Id: Ic8c140b99c7c6edbc43bed5f1b9275b4af5ce831
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-06 10:44:39 +00:00
hjk
8885ef7e5a Utils: Pass dialog parent to Utils::* file dialog
Amends 3edc5673b5.

Turns out quite a few potential uses have other parents than
ICore::dialogParent().

Use a nullptr parent to mean ICore::dialogParent() to keep the
caller side simple.

Change-Id: Icfe1daafd710ae273d286679e0c8e2a3a27da552
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-17 12:54:08 +00:00
hjk
ff57cb548d Vcs: Use more FilePath for file paths
Change-Id: I855cde65d034a9647972a7fddf1e8266d7ccfa88
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-08-02 14:40:33 +00:00
hjk
56520c770c Vcs: Replace findRepositoryForDirectory
By some function findRepositoryForFile operating on any file and
using FilePath.

Change-Id: I91b8aa38b1c6b33993b9b790fbc2ff4d378ad8a8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-07-30 06:24:41 +00:00
hjk
edcedabed9 Vcs: Use FilePath in IVersionControl API
Adapt first level of users.

Change-Id: Ifcd7bff45631ff3b9e26a9e3176daa6cf0cf2e56
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-07-29 13:20:23 +00:00
hjk
55f768e1b0 Utils: Make process results accessible through QtcProcess object
The result is fully stored in the object anyway. Using the extra
SynchronousProcessResponse structure only causes copies of
the data and complicates access on the user side in
a lot of cases.

The result bits are now also accessible individually.

There's obvious room for follow-up changes on the topic, e.g.
ShellCommand::runCommand's parameter list could shrink to
just a SynchronousProcess parameter.

Change-Id: I45aa7eb23832340be06905929280c012e1217263
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-05-14 13:19:01 +00:00
hjk
c23cdd9262 Utils: Merge {synchronous,qtc}process.{h,cpp} file pairs
Mechanical to prepare merging the actual classes.
Adapting #includes.

Change-Id: I77a2c28129287778bc870c30cb890cd26bc2e62b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-05-10 09:47:51 +00:00
hjk
793d673f39 Vcs/Utils: Use Utils::Environment for ShellCommand
Change-Id: Ica289ab2f83d52270923c4ff4983860cfbe0b494
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-05-05 12:21:29 +00:00
hjk
8e507c215b VCS: Aspectify common settings page
Change-Id: Ib860e40ba476b428c92766312bced2950d0390ac
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-03-24 11:58:58 +00:00
Andre Hartmann
1d9be08e90 Git: Pass only project path to Init Repository dialog
It makes no sense to have the project file here,
and under Windows it even creates confusion
as you have to delete the project file name
from the "Get Existing Directory" dialog.

Change-Id: I51887d5665b4c61b507d64f8bdcc50f3d10c49c4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-12-06 17:43:38 +00:00
David Schulz
339db00f85 Core: replace QString with Utils::FilePath to get documents
Change-Id: I01777c227398be8bd3bf877c5429b84a75aa361b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-04 10:14:14 +00:00
hjk
430a33dcd9 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-07-06 06:07:13 +00:00
Eike Ziller
5b364de168 Use dialogParent() instead of mainWindow()
There are very few reasons to use mainWindow() directly.
Especially for modal dialogs, using dialogParent() is important, since
that guarantees the stacking order in case of other dialogs currently
being open.

Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6
Reviewed-by: hjk <hjk@qt.io>
2020-06-02 11:44:53 +00:00
hjk
b8fe25db25 Vcs: Merge IVersionControl and VcsBasePlugin hierarchies
They were 1:1 in parallel, with quite a bit of function call
ping-pong inbetween, for code-sharing-by-inheritance. Merge
them by making VcsBasePlugin inherit IVersionControl and
merge the derived classes below.

Size of this patch is hard to avoid as all seven systems have to
move simultaneously. Non-necessary potential follow-up cleanup
have been left out on purpose.

Change-Id: Icb71e4182af3db21069cc637e7ae87ffa3829791
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-31 12:36:23 +00:00
hjk
1cd936c531 Vcs: Pimpl plugins
Essentially rename all *Plugin into *PluginPrivate, and pull out
the actual IPlugin related pieces into new *Plugin classes.

Shift the construction of the PluginPrivate to initialize(),
following the general pattern.

I tried to keep the patch as mechanical as possible, giving
room to some obvious but less mechanical cleanup needs,
that are intentionally left out of this here.

Change-Id: Iac662bf73338f9f7669064ed67b960246875c23c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-24 09:47:28 +00:00
Christian Kandeler
1ec201d463 VcsBase: Fix memory leaks
Change-Id: Ibabcf2baf4e31cb9d7e2287a2909ef5653dbbc9c
Reviewed-by: hjk <hjk@qt.io>
2020-01-23 11:28:53 +00:00
hjk
823c44de18 Vcs: Move static functions out of VcsPlugin "namespace"
Plan is to split VcsPlugin in the pure IPlugin and a new class
the remaining non-IPlugin bits of VcsPlugin, call it VcsPluginPrivate
and use that d-ptr for VcsPlugin. VcsPlugin-derived classes can
then use VcsPluginPrivate derived private, later pointer members
of the *Privates can be made proper members, moving towards the
otherwise predominant plugin setup pattern.

Change-Id: I62db9269e8ca50633c24b6d1d735d59c8fa8e5a5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-23 08:20:36 +00:00
Alessandro Portale
9904464074 Make various Q_LOGGING_CATEGORY's static
Change-Id: I43d3a198b0863d85a7fb305c7cb768f68acbd139
Reviewed-by: hjk <hjk@qt.io>
2020-01-15 14:54:10 +00:00
hjk
00b692e67e Utils: Use CommandLine in ShellCommand
... and adapt users.

Change-Id: I218523ffe34720d5fe199aa0ca6892a8dc2985fc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-06-11 11:01:16 +00:00
hjk
473a741c9f Utils: Rename FileName to FilePath
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>
2019-05-28 12:23:26 +00:00
Orgad Shaneh
bdc2b4b59f Remove hard-coded disabling of debug logs
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>
2018-10-13 16:36:58 +00:00
Orgad Shaneh
a27d4e9455 VCS: Re-add state logging
Recovers logs that were removed in
05312bfeec.

Change-Id: I4f433795917ee331623ead8f465ef26f53bed229
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-10-13 16:36:50 +00:00
Orgad Shaneh
0138b73469 VCS: Use category logging
+ clean the logs a bit.

Change-Id: I5a196f7007eb2b76bcdce4b2ac152da84698b860
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-10-13 16:36:41 +00:00
Orgad Shaneh
8f65486dfc VCSBase: Modernize
override, auto, nullptr, member initializers.

Change-Id: Ie21b8f4a4d6673947d82619bc3de677fcea63d7f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-09-20 07:02:17 +00:00
Orgad Shaneh
6e59d31095 VCS: Capitalize commitDisplayName
To be used by the submit editor.

Change-Id: I73fc13abfd37f207d92669c1893b7edda35ed1e4
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-08-28 07:20:13 +00:00