diff options
author | Friedemann Kleint <[email protected]> | 2010-04-23 16:21:02 +0200 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2010-04-23 16:21:09 +0200 |
commit | 5923733889075800a0979c73476bf3bbae204e89 (patch) | |
tree | e387ff01d3eecf606fba3e40782d046f60ce8bb5 /src/plugins | |
parent | fbbb6cf64b6b7081eec3308dea008956f2bf5c66 (diff) |
VCS: Speed up
Do not listen on ICore::contextChanged to update actions
(became slow after additional contexts).
git: Make code to find top level faster, avoid
constructing file info lists.
Acked-by: con
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/git/gitclient.cpp | 16 | ||||
-rw-r--r-- | src/plugins/git/gitclient.h | 1 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseplugin.cpp | 2 |
3 files changed, 1 insertions, 18 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 6102efcc866..242e42db45a 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -153,28 +153,14 @@ GitClient::~GitClient() const char *GitClient::noColorOption = "--no-color"; -QString GitClient::findRepositoryForFile(const QString &fileName) -{ - const QString gitDirectory = QLatin1String(kGitDirectoryC); - const QFileInfo info(fileName); - QDir dir = info.absoluteDir(); - do { - if (dir.entryList(QDir::AllDirs|QDir::Hidden).contains(gitDirectory)) - return dir.absolutePath(); - } while (dir.cdUp()); - - return QString(); -} - QString GitClient::findRepositoryForDirectory(const QString &dir) { const QString gitDirectory = QLatin1String(kGitDirectoryC); QDir directory(dir); do { - if (directory.entryList(QDir::AllDirs|QDir::Hidden).contains(gitDirectory)) + if (QFileInfo(directory, gitDirectory).isDir()) return directory.absolutePath(); } while (directory.cdUp()); - return QString(); } diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 81803fe8b2e..99f95fd6e01 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -75,7 +75,6 @@ public: bool managesDirectory(const QString &) const { return false; } QString findTopLevelForDirectory(const QString &) const { return QString(); } - static QString findRepositoryForFile(const QString &fileName); static QString findRepositoryForDirectory(const QString &dir); void diff(const QString &workingDirectory, const QStringList &diffArgs, const QString &fileName); diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index 40d781fcb0c..436920142f2 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -173,8 +173,6 @@ StateListener::StateListener(QObject *parent) : QObject(parent) { Core::ICore *core = Core::ICore::instance(); - connect(core, SIGNAL(contextChanged(Core::IContext*,QList<int>)), - this, SLOT(slotStateChanged())); connect(core->fileManager(), SIGNAL(currentFileChanged(QString)), this, SLOT(slotStateChanged())); |