forked from qt-creator/qt-creator
VcsManager: Register IVersionControls with VcsManager
Get some more objects out of the pool. Change-Id: Id93021b712307c4777dc39b9d15aa18a46318885 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -56,9 +56,17 @@ class CORE_EXPORT VcsManager : public QObject
|
||||
public:
|
||||
static VcsManager *instance();
|
||||
|
||||
template <typename T, typename... Args>
|
||||
static T *registerVersionControl(Args&&... args)
|
||||
{
|
||||
T *vc = new T(std::forward<Args>(args)...);
|
||||
addVersionControl(vc);
|
||||
return vc;
|
||||
}
|
||||
|
||||
static void extensionsInitialized();
|
||||
|
||||
static QList<IVersionControl *> versionControls();
|
||||
static const QList<IVersionControl *> versionControls();
|
||||
static IVersionControl *versionControl(Id id);
|
||||
|
||||
static void resetVersionControlForDirectory(const QString &inputDirectory);
|
||||
@@ -102,6 +110,8 @@ private:
|
||||
explicit VcsManager(QObject *parent = 0);
|
||||
~VcsManager();
|
||||
|
||||
static void addVersionControl(IVersionControl *vc);
|
||||
|
||||
void handleConfigurationChanges();
|
||||
|
||||
friend class Core::Internal::MainWindow;
|
||||
|
||||
Reference in New Issue
Block a user