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:
@@ -45,9 +45,6 @@ public:
|
||||
explicit CVSControl(CVSPlugin *plugin);
|
||||
virtual QString name() const;
|
||||
|
||||
virtual bool isEnabled() const;
|
||||
virtual void setEnabled(bool enabled);
|
||||
|
||||
virtual bool managesDirectory(const QString &directory) const;
|
||||
virtual QString findTopLevelForDirectory(const QString &directory) const;
|
||||
|
||||
@@ -59,9 +56,6 @@ public:
|
||||
void emitRepositoryChanged(const QString &s);
|
||||
void emitFilesChanged(const QStringList &l);
|
||||
|
||||
signals:
|
||||
void enabledChanged(bool);
|
||||
|
||||
private:
|
||||
bool m_enabled;
|
||||
CVSPlugin *m_plugin;
|
||||
|
||||
Reference in New Issue
Block a user