diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2016-10-20 13:06:11 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2016-10-21 13:04:40 +0000 |
commit | 28325aa446e59cfc428ed48e7a29a64cfd006431 (patch) | |
tree | 58a67dbbdb31cee7178b25025c8f3022efb932d0 /src/plugins/mercurial | |
parent | 768eb4e52ecf5da9b25c05828c666d28560d735d (diff) | |
download | qt-creator-28325aa446e59cfc428ed48e7a29a64cfd006431.tar.gz |
VCS: Add a way to filter out files/directories that belong to a VCS
Change-Id: I4dcbe6242cfe327e3b72d3dd550309be45e326a9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/mercurial')
-rw-r--r-- | src/plugins/mercurial/mercurialclient.cpp | 7 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialclient.h | 1 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialcontrol.cpp | 5 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialcontrol.h | 2 |
4 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index 21149bce98..06408c4bf4 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -33,6 +33,7 @@ #include <vcsbase/vcsbaseeditorparameterwidget.h> #include <utils/synchronousprocess.h> #include <utils/fileutils.h> +#include <utils/hostosinfo.h> #include <utils/qtcassert.h> #include <QDateTime> @@ -333,6 +334,12 @@ void MercurialClient::revertAll(const QString &workingDir, const QString &revisi QStringList(extraOptions) << QLatin1String("--all")); } +bool MercurialClient::isVcsDirectory(const FileName &fileName) const +{ + return fileName.toFileInfo().isDir() + && fileName.fileName().compare(Constants::MERCURIALREPO, HostOsInfo::fileNameCaseSensitivity()); +} + void MercurialClient::view(const QString &source, const QString &id, const QStringList &extraOptions) { diff --git a/src/plugins/mercurial/mercurialclient.h b/src/plugins/mercurial/mercurialclient.h index f1dfce97ae..2692b4bfd6 100644 --- a/src/plugins/mercurial/mercurialclient.h +++ b/src/plugins/mercurial/mercurialclient.h @@ -70,6 +70,7 @@ public: void revertAll(const QString &workingDir, const QString &revision = QString(), const QStringList &extraOptions = QStringList()) override; + bool isVcsDirectory(const Utils::FileName &fileName) const; QString findTopLevelForFile(const QFileInfo &file) const override; public slots: diff --git a/src/plugins/mercurial/mercurialcontrol.cpp b/src/plugins/mercurial/mercurialcontrol.cpp index 3c3a42bccf..b60fd3e419 100644 --- a/src/plugins/mercurial/mercurialcontrol.cpp +++ b/src/plugins/mercurial/mercurialcontrol.cpp @@ -78,6 +78,11 @@ Core::Id MercurialControl::id() const return Core::Id(VcsBase::Constants::VCS_ID_MERCURIAL); } +bool MercurialControl::isVcsFileOrDirectory(const Utils::FileName &fileName) const +{ + return mercurialClient->isVcsDirectory(fileName); +} + bool MercurialControl::managesDirectory(const QString &directory, QString *topLevel) const { QFileInfo dir(directory); diff --git a/src/plugins/mercurial/mercurialcontrol.h b/src/plugins/mercurial/mercurialcontrol.h index b9bc590a4e..39917063ac 100644 --- a/src/plugins/mercurial/mercurialcontrol.h +++ b/src/plugins/mercurial/mercurialcontrol.h @@ -47,6 +47,8 @@ public: QString displayName() const final; Core::Id id() const final; + bool isVcsFileOrDirectory(const Utils::FileName &fileName) const final; + bool managesDirectory(const QString &filename, QString *topLevel = 0) const final; bool managesFile(const QString &workingDirectory, const QString &fileName) const final; bool isConfigured() const final; |