diff options
author | hjk <hjk@qt.io> | 2019-05-28 16:55:43 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-09-11 12:46:10 +0000 |
commit | ddf0dd87344d68e1f9a768c188c43fc4aa80b7bf (patch) | |
tree | a79c6096606c45de89680023875c6c71da8e3284 /src | |
parent | bf6fd00163dab09cef4fa50ed126bd016023eca7 (diff) |
Utils: Add a FilePath::isDir() convenience function
Change-Id: I1df0ee1b136299ae6e4f2e5bd0bdc24bfeca33dd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/utils/fileutils.cpp | 6 | ||||
-rw-r--r-- | src/libs/utils/fileutils.h | 3 | ||||
-rw-r--r-- | src/plugins/bazaar/bazaarclient.cpp | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/documentmanager.cpp | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/editormanager/editormanager.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cvs/cvscontrol.cpp | 2 | ||||
-rw-r--r-- | src/plugins/debugger/debuggeritem.cpp | 2 | ||||
-rw-r--r-- | src/plugins/git/giteditor.cpp | 2 | ||||
-rw-r--r-- | src/plugins/git/gitversioncontrol.cpp | 2 | ||||
-rw-r--r-- | src/plugins/ios/iosrunner.cpp | 4 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialclient.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/foldernavigationwidget.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectmodels.cpp | 2 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.cpp | 3 |
14 files changed, 21 insertions, 15 deletions
diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index e4d303659f..8608756627 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -936,6 +936,12 @@ bool FilePath::isLocal() const return m_url.isEmpty() || m_url.isLocalFile(); } +bool FilePath::isDir() const +{ + QTC_CHECK(m_url.isEmpty()); // FIXME: Not implemented yet. + return QFileInfo(m_data).isDir(); +} + /// \returns the relativeChildPath of FilePath to parent if FilePath is a child of parent /// \note returns a empty FilePath if FilePath is not a child of parent /// That is, this never returns a path starting with "../" diff --git a/src/libs/utils/fileutils.h b/src/libs/utils/fileutils.h index 224ef7730e..2026ad1068 100644 --- a/src/libs/utils/fileutils.h +++ b/src/libs/utils/fileutils.h @@ -98,8 +98,9 @@ public: bool isChildOf(const FilePath &s) const; bool isChildOf(const QDir &dir) const; bool endsWith(const QString &s) const; - bool isLocal() const; + bool isLocal() const; + bool isDir() const; bool isNewerThan(const QDateTime &timeStamp) const; FilePath relativeChildPath(const FilePath &parent) const; diff --git a/src/plugins/bazaar/bazaarclient.cpp b/src/plugins/bazaar/bazaarclient.cpp index a60c7f331e..896ef54bf1 100644 --- a/src/plugins/bazaar/bazaarclient.cpp +++ b/src/plugins/bazaar/bazaarclient.cpp @@ -180,7 +180,7 @@ VcsBaseEditorWidget *BazaarClient::annotate( bool BazaarClient::isVcsDirectory(const FilePath &fileName) const { - return fileName.toFileInfo().isDir() + return fileName.isDir() && !fileName.fileName().compare(Constants::BAZAARREPO, HostOsInfo::fileNameCaseSensitivity()); } diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index 0f6a5a7c36..43760ed547 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -1335,7 +1335,7 @@ void readSettings() s->beginGroup(QLatin1String(directoryGroupC)); const FilePath settingsProjectDir = FilePath::fromString(s->value(QLatin1String(projectDirectoryKeyC), QString()).toString()); - if (!settingsProjectDir.isEmpty() && settingsProjectDir.toFileInfo().isDir()) + if (!settingsProjectDir.isEmpty() && settingsProjectDir.isDir()) d->m_projectsDirectory = settingsProjectDir; else d->m_projectsDirectory = FilePath::fromString(PathChooser::homePath()); diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 4e21664d82..0be92efe8a 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -2324,7 +2324,7 @@ void EditorManagerPrivate::findInDirectory() return; const FilePath path = d->m_contextMenuEntry->fileName(); emit m_instance->findOnFileSystemRequest( - (path.toFileInfo().isDir() ? path : path.parentDir()).toString()); + (path.isDir() ? path : path.parentDir()).toString()); } void EditorManagerPrivate::togglePinned() diff --git a/src/plugins/cvs/cvscontrol.cpp b/src/plugins/cvs/cvscontrol.cpp index 1c8bf3c8e1..7c499a20f6 100644 --- a/src/plugins/cvs/cvscontrol.cpp +++ b/src/plugins/cvs/cvscontrol.cpp @@ -57,7 +57,7 @@ Core::Id CvsControl::id() const bool CvsControl::isVcsFileOrDirectory(const Utils::FilePath &fileName) const { - return fileName.toFileInfo().isDir() + return fileName.isDir() && !fileName.fileName().compare("CVS", Utils::HostOsInfo::fileNameCaseSensitivity()); } diff --git a/src/plugins/debugger/debuggeritem.cpp b/src/plugins/debugger/debuggeritem.cpp index 9776ac6ff9..0fcd7a165a 100644 --- a/src/plugins/debugger/debuggeritem.cpp +++ b/src/plugins/debugger/debuggeritem.cpp @@ -260,7 +260,7 @@ QIcon DebuggerItem::decoration() const return Utils::Icons::CRITICAL.icon(); if (!m_command.toFileInfo().isExecutable()) return Utils::Icons::WARNING.icon(); - if (!m_workingDirectory.isEmpty() && !m_workingDirectory.toFileInfo().isDir()) + if (!m_workingDirectory.isEmpty() && !m_workingDirectory.isDir()) return Utils::Icons::WARNING.icon(); return QIcon(); } diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp index fbe90448d7..51a539ef52 100644 --- a/src/plugins/git/giteditor.cpp +++ b/src/plugins/git/giteditor.cpp @@ -369,7 +369,7 @@ QString GitEditorWidget::fileNameForLine(int line) const QString GitEditorWidget::sourceWorkingDirectory() const { Utils::FilePath path = Utils::FilePath::fromString(source()); - if (!path.isEmpty() && !path.toFileInfo().isDir()) + if (!path.isEmpty() && !path.isDir()) path = path.parentDir(); while (!path.isEmpty() && !path.exists()) path = path.parentDir(); diff --git a/src/plugins/git/gitversioncontrol.cpp b/src/plugins/git/gitversioncontrol.cpp index 8325a298b0..123cf6753c 100644 --- a/src/plugins/git/gitversioncontrol.cpp +++ b/src/plugins/git/gitversioncontrol.cpp @@ -80,7 +80,7 @@ bool GitVersionControl::isVcsFileOrDirectory(const Utils::FilePath &fileName) co { if (fileName.fileName().compare(".git", Utils::HostOsInfo::fileNameCaseSensitivity())) return false; - if (fileName.toFileInfo().isDir()) + if (fileName.isDir()) return true; QFile file(fileName.toString()); if (!file.open(QFile::ReadOnly)) diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp index 4559a7fb6a..e37d28e66b 100644 --- a/src/plugins/ios/iosrunner.cpp +++ b/src/plugins/ios/iosrunner.cpp @@ -445,13 +445,13 @@ void IosDebugSupport::start() + "/Library/Developer/Xcode/iOS DeviceSupport/" + osVersion + "/Symbols"); QString deviceSdk; - if (deviceSdk1.toFileInfo().isDir()) { + if (deviceSdk1.isDir()) { deviceSdk = deviceSdk1.toString(); } else { const FilePath deviceSdk2 = IosConfigurations::developerPath() .pathAppended("Platforms/iPhoneOS.platform/DeviceSupport/" + osVersion + "/Symbols"); - if (deviceSdk2.toFileInfo().isDir()) { + if (deviceSdk2.isDir()) { deviceSdk = deviceSdk2.toString(); } else { TaskHub::addTask(Task::Warning, tr( diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index 2740ce7ae4..8fae47bc16 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -442,7 +442,7 @@ void MercurialClient::revertAll(const QString &workingDir, const QString &revisi bool MercurialClient::isVcsDirectory(const FilePath &fileName) const { - return fileName.toFileInfo().isDir() + return fileName.isDir() && !fileName.fileName().compare(Constants::MERCURIALREPO, HostOsInfo::fileNameCaseSensitivity()); } diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp index 817167523e..5072a54708 100644 --- a/src/plugins/projectexplorer/foldernavigationwidget.cpp +++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp @@ -513,7 +513,7 @@ void FolderNavigationWidget::addNewItem() if (!current.isValid()) return; const auto filePath = Utils::FilePath::fromString(m_fileSystemModel->filePath(current)); - const Utils::FilePath path = filePath.toFileInfo().isDir() ? filePath : filePath.parentDir(); + const Utils::FilePath path = filePath.isDir() ? filePath : filePath.parentDir(); Core::ICore::showNewItemDialog(ProjectExplorerPlugin::tr("New File", "Title of dialog"), Utils::filtered(Core::IWizardFactory::allWizardFactories(), Utils::equal(&Core::IWizardFactory::kind, diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 523cc458d3..5fe63fefe9 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -623,7 +623,7 @@ bool FlatModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int r // Node weirdness: Sometimes the "file path" is a directory, sometimes it's a file... const auto dirForProjectNode = [](const ProjectNode *pNode) { const FilePath dir = pNode->filePath(); - if (dir.toFileInfo().isDir()) + if (dir.isDir()) return dir; return FilePath::fromString(dir.toFileInfo().path()); }; diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 21b30d878d..bde71f4422 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -393,8 +393,7 @@ bool SubversionPlugin::initialize(const QStringList & /*arguments */, QString *e bool SubversionPlugin::isVcsDirectory(const FilePath &fileName) { const QString baseName = fileName.fileName(); - return fileName.toFileInfo().isDir() - && contains(m_svnDirectories, [baseName](const QString &s) { + return fileName.isDir() && contains(m_svnDirectories, [baseName](const QString &s) { return !baseName.compare(s, HostOsInfo::fileNameCaseSensitivity()); }); } |