Apply 'static' pattern to VcsManager

Adapt user and surrounding code.

Change-Id: Id2648f82a9cbbd0ad0bfb91f6958b8cee7ea29cc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
hjk
2013-08-30 17:13:29 +02:00
committed by Tobias Hunger
parent d18b61b85d
commit 267e441af4
22 changed files with 77 additions and 75 deletions

View File

@@ -178,11 +178,13 @@ public:
IVersionControl *m_unconfiguredVcs;
};
static VcsManagerPrivate *d;
static VcsManagerPrivate *d = 0;
static VcsManager *m_instance = 0;
VcsManager::VcsManager(QObject *parent) :
QObject(parent)
{
m_instance = this;
d = new VcsManagerPrivate;
}
@@ -190,9 +192,15 @@ VcsManager::VcsManager(QObject *parent) :
VcsManager::~VcsManager()
{
m_instance = 0;
delete d;
}
QObject *VcsManager::instance()
{
return m_instance;
}
void VcsManager::extensionsInitialized()
{
// Change signal connections
@@ -200,7 +208,7 @@ void VcsManager::extensionsInitialized()
connect(versionControl, SIGNAL(filesChanged(QStringList)),
DocumentManager::instance(), SIGNAL(filesChangedInternally(QStringList)));
connect(versionControl, SIGNAL(repositoryChanged(QString)),
this, SIGNAL(repositoryChanged(QString)));
m_instance, SIGNAL(repositoryChanged(QString)));
}
}
@@ -217,7 +225,7 @@ void VcsManager::resetVersionControlForDirectory(const QString &inputDirectory)
const QString directory = QDir(inputDirectory).absolutePath();
d->resetCache(directory);
emit repositoryChanged(directory);
emit m_instance->repositoryChanged(directory);
}
IVersionControl* VcsManager::findVersionControlForDirectory(const QString &inputDirectory,
@@ -295,7 +303,7 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const QString &input
.arg(versionControl->displayName()),
InfoBarEntry::GlobalSuppressionEnabled);
d->m_unconfiguredVcs = versionControl;
info.setCustomButtonInfo(tr("Configure"), this, SLOT(configureVcs()));
info.setCustomButtonInfo(tr("Configure"), m_instance, SLOT(configureVcs()));
infoBar->addInfo(info);
}
return 0;
@@ -304,7 +312,7 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const QString &input
return versionControl;
}
QStringList VcsManager::repositories(const IVersionControl *vc) const
QStringList VcsManager::repositories(const IVersionControl *vc)
{
QStringList result;
foreach (const VcsManagerPrivate::VcsInfo *vi, d->m_vcsInfoList)
@@ -422,7 +430,7 @@ void VcsManager::promptToAdd(const QString &directory, const QStringList &fileNa
void VcsManager::emitRepositoryChanged(const QString &repository)
{
emit repositoryChanged(repository);
emit m_instance->repositoryChanged(repository);
}
void VcsManager::clearVersionControlCache()
@@ -430,7 +438,7 @@ void VcsManager::clearVersionControlCache()
QStringList repoList = d->m_cachedMatches.keys();
d->clearCache();
foreach (const QString &repo, repoList)
emit repositoryChanged(repo);
emit m_instance->repositoryChanged(repo);
}
void VcsManager::configureVcs()