On many cases, GitPlugin is not required at all, and is only used as
a proxy for GitClient.
Change-Id: I246012658ab3e8c7a12f1a459b1b1748ff358e0b
Reviewed-by: hjk <hjk@qt.io>
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>
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>
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>
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>
* Use auto
* Use override
* Use some member initializers
Change-Id: I3ca000d1c8e4d02331d58b85e68e4d771c636b29
Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Remove QLatin1{String|Char} where possible
* Use initializer lists for QStringList
Change-Id: I8479f87f4fc909b5d74d854956885564209538e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
So far, conflicted files were displayed like added ones.
Now they are marked obvious, as they disable the commit button.
Task-number: QTCREATORBUG-16297
Change-Id: Iedf834408a747c4fe5f2133790c5fb81e7fea265
Reviewed-by: Hugues Delorme <delorme.hugues@fougue.pro>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Report the commit data fetch result, including success state and error
message, through the QFuture. That also removes the need for creating a
fetcher QObject and the logic to make sure it is deleted.
Also exchange QtConcurrent::run by Utils::runAsync.
Change-Id: I9c0c03eff2eaa32f577b4599ffda58b0c09de59b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* pragma once
* member initialization
* s/struct/class/
* Introduce a static GitPlugin::client() method and use it
Change-Id: Ifdcac86dd16f3cdba11d564d03e9a15f00a6afdb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Flow:
* Open a commit editor with unmerged files
* Double-click an unmerged file
* Resolve the conflicts with the mergetool, save and close it
* The window is activated and the file model is refreshed immediately, before
the mergetool process has exited.
When the mergetool exits, repositoryChanged is emitted. Use it to refresh the
file model again.
Task-number: QTCREATORBUG-15569
Change-Id: Ibce7301bc46fe3a5a378a4c15b882e1bb6bbf3c3
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
In SubmitFileModel, filetype icons are missing for not "overlaid" icons in
Core::FileIconProvider. This is fixed by ensuring valid file paths are passed
to QFileInfo. VcsBase::SubmitFileModel has now a "repositoryRoot" property
so it can constructs absolute file paths.
VcsBaseSubmitEditor::setFileModel() now relies on SubmitFileModel::repositoryRoot()
instead of passing this info as annex parameter.
Change-Id: Ie045c3a7b247a5b5d48d10aaaf67cb3fdcf9fa7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-> Renamed to diffSelectedRows()
This allows to use easily Qt5 connects, without ugly casting to
pick the right overload
Change-Id: Ifaa0242febccb4e1aadd53470cc4b3be79b07c18
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
(cherry picked from commit 12fac12e8f)
Make the description directly available to subclasses of the submit
editor.
Change-Id: Ieb6f99091fdcb6f794491169e637bec53a04dacb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I061c7bdcade96961aed226a8348f8ab07ee95f5f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Same pattern as for VcsSubmitFactory.
Change-Id: I7adb8868a83842c1b6c642db372a3624dd2e879e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
The crash happens on Linux/Xming. 2 subsequents calls to
slotRefreshCommitData occur, m_commitDataFetcher is released when the
first one is handled, and the second call dereferences NULL.
Change-Id: Ibc06fe5dd89b790ac84544f6842cbf345d118703
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Keep the commit editor around and disable it instead of closing it. That stops
Qt Creator from closing the editor when bringing the commit editor to the
foreground to ask whether it should be closed.
Task-number: QTCREATORBUG-12099
Change-Id: I6927424675338f845f504cb6f630f05eaf8ad49f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
It is input only, and doesn't belong to the panel
Also rename it enablePush
Change-Id: I9d5e2246ce76854a54b02e69980214dd35a402ee
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
And use it where appropriate
Change-Id: I0f37b8aada6eaa9be6743724b91a59173a01cb0c
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: David Schulz <david.schulz@digia.com>