forked from qt-creator/qt-creator
VCS: Introduce Base class for VCS plugins, use in git.
Fixes: - Cannot diff a file that does not belong to a project - Cannot commit when a temporary diff/log view is open due to the current file pointing to a temporary directory - git's project-related actions not passing the correct relative path. Implementation: - Centralize code to listen for Qt Creator's relevant state changes in VCSBasePlugin, dispatching the changes to the instances affected. (avoiding multiple invocations of searches/QFileInfo on current). - Do the same for the corelistener catching closing SubmitEditors. - Introduce VCSBasePluginState representing the relevant state (current file/project). - Call git with working directory set and relative arguments - Remove setEnabled/isEnabled() logic of IVersionControl - Pass toplevel from VCSManager to avoid duplicate searches.
This commit is contained in:
@@ -48,13 +48,6 @@ public:
|
||||
|
||||
virtual QString name() const = 0;
|
||||
|
||||
virtual bool isEnabled() const = 0;
|
||||
|
||||
/*!
|
||||
* Enable the VCS, that is, make its menu actions visible.
|
||||
*/
|
||||
virtual void setEnabled(bool enabled) = 0;
|
||||
|
||||
/*!
|
||||
* Returns whether files in this directory should be managed with this
|
||||
* version control.
|
||||
|
||||
Reference in New Issue
Block a user