Commit Graph

1960 Commits

Author SHA1 Message Date
Orgad Shaneh
b2ceb7db79 Git: Open log for ranges in output window
Show doesn't make much sense.

Change-Id: I945910749fa99245469164c1a411ce39b9f4f3d4
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-24 07:13:25 +00:00
Orgad Shaneh
a83f0c5d74 VCS: Replace QRegExp with QRegularExpression in VcsBaseEditor
Change-Id: I8e8a6649e441597e29e88506d494ec69260bebd1
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-21 08:28:34 +00:00
Orgad Shaneh
b14351dab8 Git: Support case-insensitive grep/pickaxe
Change-Id: Ie3da0f5cca2bd3ffa658e3adbba0b1b86a2911d9
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-20 19:05:36 +00:00
Orgad Shaneh
6d8efefbe5 Git: Add a toggle button for filter widget
Change-Id: If9680d1fc8a06f57f995a63095ad201fc1f3156b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-20 19:05:25 +00:00
Orgad Shaneh
2110be00ab Git: Move filter widget to GitEditor
and make it a QToolBar.

Change-Id: I6a16b1a828bfabaace8e14ef39344f7f2bac7e8a
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-20 19:05:16 +00:00
Andre Hartmann
d21f72d0dd Git: Simplify action in branch view
Change-Id: Ic1a604baa7b83b7244febde776c95896b56a1467
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-20 18:46:13 +00:00
Orgad Shaneh
3c0b89f697 VCS: Refactor annotationChanges() in VcsBaseEditor
Devirtualize the function, and use QRegularExpression with globalMatch.

Change-Id: I18c92cb37b535c616f03f45dff8b18249c961d5d
Reviewed-by: hjk <hjk@qt.io>
2020-02-20 10:42:31 +00:00
Orgad Shaneh
dec8113377 Git: Fix accelerator for reflog
R is already used for Rebase.

Change-Id: I64575c98bf22aef0a2825b68b1c9a92061821923
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-19 17:48:19 +00:00
Orgad Shaneh
ee05e49f79 Git: Support entry list in reflog
Change-Id: Ic24eff465c6870f42c1964a8700cc6f0b2c0dce5
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-19 07:23:42 +00:00
Orgad Shaneh
857102748d Git: Refine editor names
Change-Id: I8302e1341e589b3c0e39c3d6c1d73b01e142e517
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-19 07:23:26 +00:00
Orgad Shaneh
c728d04b52 Git: Support reflog also for branches
Change-Id: I9321ba4964d086d90aaf540a2006f95b94de8375
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-19 07:23:11 +00:00
Orgad Shaneh
c9f1d84db7 Git: Add config widget to reflog
Change-Id: I04a9bd86c38ab27537c2d6981179a667bc36e61b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-19 07:22:57 +00:00
Orgad Shaneh
1b2aa56f15 Git: Add grep and pickaxe filters
Fixes: QTCREATORBUG-22512
Change-Id: I98eed9a7f9da15e163804a0fd81713149a06c5b0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-17 13:11:52 +00:00
hjk
b9739c0945 Git: Hack around quoting problem with Short description on blame
Task-number: QTCREATORBUG-23208
Change-Id: Iaff99d7cd175d3d974ea295472cba2679da08372
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-17 07:01:13 +00:00
Andre Hartmann
4cbb24906f Git: Allow clicking references in VcsOutputWindow
Fixes: QTCREATORBUG-16477
Change-Id: If1f36bec0826a3116e5261a270cd63a1536e13f5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-16 19:13:53 +00:00
Andre Hartmann
b3cf553e1a Git: Ignore unknown push failures
Pushing to Gerrit can fail with due to missing
Change-Id. In that case, none of the existing
warnings should appear.

Change-Id: I4bf55d35a792b680e3ae524e116ce5db9fdd405a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Miklós Márton <martonmiklosqdev@gmail.com>
2020-02-16 16:18:35 +00:00
Orgad Shaneh
f2cd459ec5 VCS: Abstract multi-choice settings in editor config
Change-Id: Iafc089f5ad3796348ab9521b71b31cb645238292
Reviewed-by: hjk <hjk@qt.io>
2020-02-13 07:58:14 +00:00
hjk
9c96a1c4de Vcs: Make VcsBaseEditorWidget::test* operate on factories directly
Saves re-discovery by id.

Change-Id: I026c1388d02f125147a9b4f5367d7a1a266bff3c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-13 07:10:21 +00:00
hjk
299d34d547 Remove apparently unneeded QtPlugin includes
Change-Id: I511c0318a72dbf2a92e4749dee02eabfc9826139
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-12 16:03:37 +00:00
hjk
6f2beafaf2 Git: Make a few objects proper plugin pimpl members
Change-Id: Ib996ed248cd6e10d49fa3ae1086189acfc04de34
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-07 13:01:35 +00:00
hjk
eb1226df68 Git: Partially move plugin pimpl to .cpp
Same procedure as for ClearCase.
Unfortuately, some deep accesses are not easy to get rid of. Make them
available by static functions in the plugin itself. Definitely not the
favorite setup, but allows to proceed with the QObject removals.

Change-Id: Id85ed07bc7a6c1c053431a14dd7f68892f7ebea0
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-07 12:56:10 +00:00
Alessandro Portale
2234c517c0 Utils: Add a non-toolbar variant of the "RELOAD" icon
New icon is: Utils::Icons::RELOAD. And the toolbar variant is now
Utils::Icons::RELOAD_TOOLBAR.

Change-Id: I811d83c7340a717968430ac1ce4a5c708c8ddcf9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-07 09:22:07 +00:00
hjk
9c02a11039 Vcs: Separate plugin and QObject parent roles for VcsSubmitEditorFactory
These are different when the factories are used as real members,
as already done in Bazaar.

Change-Id: I3c187896dcbacb5156be1543424ccacb9140a493
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-06 15:02:04 +00:00
hjk
b22768e980 Diff/Vcs: Use a function object for reloading
Helps with slimming down the user code side.

Change-Id: I4b0aac76c0d1516eb05bff9c18594e64f8b41a7a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-06 11:21:59 +00:00
hjk
7f37c503db Vcs: Move responsibility to set editor parameters to editor factory
So it doesn't need to be named twice in the editor factory setup.

This intentially includes a de-optimiztion: storing the parameters
by value, not by pointer. That's more natural, does not need to
keep the parameters alive on the caller side, and it's uncritical
in this context.

Change-Id: I92867d3f2f75c38911ae82d3eeb4759cba71b723
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-06 07:03:44 +00:00
hjk
c17767c78e Vcs: Use setters to set up DiffController parameters
Plan is to avoid client use down there, so extract the actually
used data first and pass it down.

Change-Id: I088fc9cc3086e8f6e1e0c3c9d3a35445f752e6f0
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-06 07:03:14 +00:00
Orgad Shaneh
adcea96868 Git: Rename Show Diff -> Diff
Change-Id: I5b04edb6661cde53003a8cfe72854b4c214e187e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2020-02-05 21:15:23 +00:00
hjk
a09a563280 Git: Remove unused BranchModel::client()
Change-Id: I6465360d73b1d7580a922b295965d3c836d54ebe
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 07:15:05 +00:00
hjk
d506a005ac Vcs: Remove some unneded indirections
Change-Id: Ie9d976c06ff424fb106cb344bedb789c9b99e657
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-31 12:43:06 +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
ac9d05013e Core: IVersionControl: Introduce a setTopicCache
More flexible than passing in the constructor.

Change-Id: I7bb5b3fe02682e01ebbce246de547686ff871920
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-31 08:29:35 +00:00
hjk
b093941435 Vcs: Drop VcsBaseOptionsPage hierarchy level
Adapt the remaining users: Cvs,Git,Svn.

Change-Id: Idd730a33e5c64d18002b1a21b5f5c715b7fa5ffb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-27 06:44:55 +00:00
hjk
866f3aeb4a Vcs: Pass settings handles to settings pages more directly
Change-Id: I5fdec80de5678dd544713fc18335cbd805d7b9f4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-24 11:40:49 +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
56cd4ad28f Git: Fix memory leak
Change-Id: If9dbc29f0b58a81319b3490821edf5f7afce90ab
Reviewed-by: hjk <hjk@qt.io>
2020-01-23 11:28:21 +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
8f96b4d161 Git: Use Theme color for "Detached HEAD" case in GitSubmitEditorWidget
Change-Id: I4eccf9c4a0fa94ae533e9652c1982cf396d33a01
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-23 07:56:26 +00:00
hjk
f5d4b65931 Vcs: Dissolve VcsManager::registerVersionControl
It's a somewhat unusual pattern, spelling it out will help
to move the vcs plugins setup closer to the now-usual pattern.

Change-Id: Ie7b70e52d75e34cd36b6a1d55ca868e3edab44a7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-22 11:32:04 +00:00
Alessandro Portale
24a25eed14 Use isEmpty() instead of count() or size()
Change-Id: I0a89d2808c6d041da0dc41ea5aea58e6e8759bb4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-20 20:56:57 +00:00
David Schulz
7021b1f078 Workaround 5.15 deprecations in QTextStreams
Change-Id: Ifc2b7fd353e7c12346e9716115e830679cea7666
Reviewed-by: hjk <hjk@qt.io>
2020-01-17 13:50:57 +00:00
hjk
43113470a4 Vcs: Dissolve VcsBaseOptionsPage intermediate hierarchy level
It's effectively setting only three properties nowadays, not enough
to justify a case of reuse-by-inheritance anymore.

Change-Id: Ia0aedbd0dc460a70bed580a3402cf928c7221a77
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-17 09:20:31 +00:00
Christian Stenger
4fe2d9a43d Git: Fix missing include
Fixes the build on macOS.

Change-Id: I22046de5d2ea27a649742dcc19cf1254747bf318
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-16 07:00:45 +00:00
hjk
fbfba64f10 Vcs: Move Settings widget definitions to .cpp files
In preparation of replacing the VcsBase* layer by the new
IOption* functions, which are almost the same now.

Change-Id: I39f7da137434ed33d2d42f09f4213e74b3e29f7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-15 07:56:06 +00:00
hjk
1b9f0a6d91 Vcs: Base VcsClientOptionsPageWidget on Core::IOptionsPageWidget
In preparation of the using the new ICore::IOptionsPage convenience
functions.

Change-Id: Iafe61e287987b3b75758f81bfce7adcdc1d50b64
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-15 06:57:57 +00:00
Andre Hartmann
d2d05c584e Git: Start interactive rebase from log window
Useful if local changes are already pushed to a
remote and therefore Creator refuses interactive
rebase due to missing local commits.

Task-number: QTCREATORBUG-11200
Change-Id: I2e9b9fd35b75fcb232c1358c553fe1092ce97161
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-30 09:28:32 +00:00
Andre Hartmann
cb8da0e93b Git: Fix updating branch view on push to new remote branch
If the remote branch does not exist yet,
we need to update the whole branch model,
in order to set the remote-tracking information
and to add the new branch to the remote branches.

Amends da6972e0a9

Change-Id: I9f01ceffa45fcb5e2ea8afe8762b102a550b8e43
Reviewed-by: Marius Sincovici <smaryus@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-29 06:24:20 +00:00
Andre Hartmann
da6972e0a9 Git: Update current branch after some operations
... to refresh the branch view upstream status.

No need for a full model update here, only the current
branch is influenced.

Change-Id: I6bd17a841988b36221e5015a5858071d33a7b5e5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 11:51:45 +00:00
Andre Hartmann
d29650b3ea Git: Remove unneded indirection from branch view
Change-Id: I273889ffe921a0312d9220aa0e3b339de764def8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 11:48:00 +00:00
Andre Hartmann
df42399102 Git: Use constants for branch view columns
Change-Id: Ia2e7b18c5f7d62b545c8f754b40d4d54b40aa199
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 11:21:21 +00:00
Andre Hartmann
4c5cf6bc86 Git: Update status on upstream change in branch view
When a new tracking branch was selected, the
branch view  still showed the old ahead/behind
information.

Change-Id: Ic4a201da0ec38788a02ef03770a30cca6528ceb3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-27 09:23:53 +00:00