diff options
-rw-r--r-- | src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp | 11 | ||||
-rw-r--r-- | src/plugins/coreplugin/dialogs/saveitemsdialog.cpp | 13 | ||||
-rw-r--r-- | src/plugins/coreplugin/editortoolbar.cpp | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/fileiconprovider.cpp | 21 | ||||
-rw-r--r-- | src/plugins/coreplugin/fileiconprovider.h | 4 | ||||
-rw-r--r-- | src/plugins/coreplugin/locator/locatorwidget.cpp | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/vcsmanager.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppincludehierarchy.cpp | 4 | ||||
-rw-r--r-- | src/plugins/projectexplorer/dependenciespanel.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectmodels.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/selectablefilesmodel.cpp | 2 | ||||
-rw-r--r-- | src/plugins/resourceeditor/qrceditor/resourcefile.cpp | 2 | ||||
-rw-r--r-- | src/plugins/resourceeditor/resourcenode.cpp | 2 | ||||
-rw-r--r-- | src/plugins/vcsbase/submitfilemodel.cpp | 5 |
16 files changed, 41 insertions, 41 deletions
diff --git a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp index 081f716bb9..1a0cc352ea 100644 --- a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp +++ b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp @@ -58,7 +58,7 @@ QVariant FilePathItem::data(int column, int role) const case Qt::DisplayRole: return m_filePath.toUserOutput(); case Qt::DecorationRole: - return Core::FileIconProvider::icon(m_filePath.toFileInfo()); + return Core::FileIconProvider::icon(m_filePath); case Debugger::DetailedErrorView::FullTextRole: return m_filePath.toUserOutput(); default: diff --git a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp index dd49e0bdb7..262e14f477 100644 --- a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp +++ b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp @@ -414,21 +414,20 @@ void ReadOnlyFilesDialogPrivate::initDialog(const FilePaths &filePaths) QString vcsMakeWritableTextForAll; bool useMakeWritable = false; for (const FilePath &filePath : filePaths) { - const QFileInfo info = filePath.toFileInfo(); - const QString visibleName = info.fileName(); - const QString directory = info.absolutePath(); + const QString visibleName = filePath.fileName(); + const FilePath directory = filePath.absolutePath(); // Setup a default entry with filename folder and make writable radio button. auto item = new QTreeWidgetItem(ui.treeWidget); item->setText(FileName, visibleName); - item->setIcon(FileName, FileIconProvider::icon(info)); - item->setText(Folder, Utils::FilePath::fromString(directory).shortNativePath()); + item->setIcon(FileName, FileIconProvider::icon(filePath)); + item->setText(Folder, directory.shortNativePath()); auto radioButtonGroup = new QButtonGroup; // Add a button for opening the file with a version control system // if the file is managed by an version control system which allows opening files. IVersionControl *versionControlForFile = - VcsManager::findVersionControlForDirectory(directory); + VcsManager::findVersionControlForDirectory(directory.toString()); const bool fileManagedByVCS = versionControlForFile && versionControlForFile->openSupportMode(filePath.toString()) != IVersionControl::NoOpen; if (fileManagedByVCS) { diff --git a/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp b/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp index b533182a99..302a02f871 100644 --- a/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp @@ -68,18 +68,17 @@ SaveItemsDialog::SaveItemsDialog(QWidget *parent, foreach (IDocument *document, items) { QString visibleName; QString directory; - QString fileName = document->filePath().toString(); - if (fileName.isEmpty()) { + Utils::FilePath filePath = document->filePath(); + if (filePath.isEmpty()) { visibleName = document->fallbackSaveAsFileName(); } else { - QFileInfo info = QFileInfo(fileName); - directory = info.absolutePath(); - visibleName = info.fileName(); + directory = filePath.absolutePath().toUserOutput(); + visibleName = filePath.fileName(); } QTreeWidgetItem *item = new QTreeWidgetItem(m_ui.treeWidget, QStringList() << visibleName << QDir::toNativeSeparators(directory)); - if (!fileName.isEmpty()) - item->setIcon(0, FileIconProvider::icon(QFileInfo(fileName))); + if (!filePath.isEmpty()) + item->setIcon(0, FileIconProvider::icon(filePath)); item->setData(0, Qt::UserRole, QVariant::fromValue(document)); } diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp index 99dfab9182..49da6c1dce 100644 --- a/src/plugins/coreplugin/editortoolbar.cpp +++ b/src/plugins/coreplugin/editortoolbar.cpp @@ -417,7 +417,7 @@ void EditorToolBar::updateDocumentStatus(IDocument *document) if (document->filePath().isEmpty()) d->m_dragHandle->setIcon(QIcon()); else - d->m_dragHandle->setIcon(FileIconProvider::icon(document->filePath().toFileInfo())); + d->m_dragHandle->setIcon(FileIconProvider::icon(document->filePath())); d->m_editorList->setToolTip(document->filePath().isEmpty() ? document->displayName() diff --git a/src/plugins/coreplugin/fileiconprovider.cpp b/src/plugins/coreplugin/fileiconprovider.cpp index 8ce3bce56f..f45d9aeada 100644 --- a/src/plugins/coreplugin/fileiconprovider.cpp +++ b/src/plugins/coreplugin/fileiconprovider.cpp @@ -25,6 +25,7 @@ #include "fileiconprovider.h" +#include <utils/fileutils.h> #include <utils/hostosinfo.h> #include <utils/mimetypes/mimedatabase.h> #include <utils/optional.h> @@ -90,7 +91,7 @@ public: FileIconProviderImplementation() {} - QIcon icon(const QFileInfo &info) const override; + QIcon icon(const FilePath &filePath) const; using QFileIconProvider::icon; void registerIconOverlayForFilename(const QString &iconFilePath, const QString &filename) @@ -139,19 +140,19 @@ QFileIconProvider *iconProvider() return instance(); } -QIcon FileIconProviderImplementation::icon(const QFileInfo &fileInfo) const +QIcon FileIconProviderImplementation::icon(const FilePath &filePath) const { if (debug) - qDebug() << "FileIconProvider::icon" << fileInfo.absoluteFilePath(); + qDebug() << "FileIconProvider::icon" << filePath.absoluteFilePath(); // Check for cached overlay icons by file suffix. - bool isDir = fileInfo.isDir(); - const QString filename = !isDir ? fileInfo.fileName() : QString(); + bool isDir = filePath.isDir(); + const QString filename = !isDir ? filePath.fileName() : QString(); if (!filename.isEmpty()) { const Utils::optional<QIcon> icon = getIcon(m_filenameCache, filename); if (icon) return *icon; } - const QString suffix = !isDir ? fileInfo.suffix() : QString(); + const QString suffix = !isDir ? filePath.suffix() : QString(); if (!suffix.isEmpty()) { const Utils::optional<QIcon> icon = getIcon(m_suffixCache, suffix); if (icon) @@ -161,10 +162,10 @@ QIcon FileIconProviderImplementation::icon(const QFileInfo &fileInfo) const // Get icon from OS (and cache it based on suffix!) QIcon icon; if (HostOsInfo::isWindowsHost() || HostOsInfo::isMacHost()) { - icon = QFileIconProvider::icon(fileInfo); + icon = QFileIconProvider::icon(filePath.toFileInfo()); } else { // File icons are unknown on linux systems. static const QIcon unknownFileIcon(QApplication::style()->standardIcon(QStyle::SP_FileIcon)); - icon = isDir ? QFileIconProvider::icon(fileInfo) : unknownFileIcon; + icon = isDir ? QFileIconProvider::icon(filePath.toFileInfo()) : unknownFileIcon; } if (!isDir && !suffix.isEmpty()) m_suffixCache.insert(suffix, icon); @@ -176,9 +177,9 @@ QIcon FileIconProviderImplementation::icon(const QFileInfo &fileInfo) const the default icon of the operating system is returned. */ -QIcon icon(const QFileInfo &info) +QIcon icon(const FilePath &filePath) { - return instance()->icon(info); + return instance()->icon(filePath); } /*! diff --git a/src/plugins/coreplugin/fileiconprovider.h b/src/plugins/coreplugin/fileiconprovider.h index 9bfbc588e9..8089f36a1e 100644 --- a/src/plugins/coreplugin/fileiconprovider.h +++ b/src/plugins/coreplugin/fileiconprovider.h @@ -30,6 +30,8 @@ #include <QStyle> #include <QFileIconProvider> +namespace Utils { class FilePath; } + namespace Core { namespace FileIconProvider { @@ -38,7 +40,7 @@ namespace FileIconProvider { CORE_EXPORT QFileIconProvider *iconProvider(); // Access to individual items -CORE_EXPORT QIcon icon(const QFileInfo &info); +CORE_EXPORT QIcon icon(const Utils::FilePath &filePath); CORE_EXPORT QIcon icon(QFileIconProvider::IconType type); // Register additional overlay icons diff --git a/src/plugins/coreplugin/locator/locatorwidget.cpp b/src/plugins/coreplugin/locator/locatorwidget.cpp index 7116b3650f..1e3e14c49a 100644 --- a/src/plugins/coreplugin/locator/locatorwidget.cpp +++ b/src/plugins/coreplugin/locator/locatorwidget.cpp @@ -210,7 +210,7 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const if (index.column() == DisplayNameColumn) { LocatorFilterEntry &entry = mEntries[index.row()]; if (!entry.displayIcon && !entry.filePath.isEmpty()) - entry.displayIcon = FileIconProvider::icon(entry.filePath.toFileInfo()); + entry.displayIcon = FileIconProvider::icon(entry.filePath); return entry.displayIcon ? entry.displayIcon.value() : QIcon(); } break; diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index 4501c67b9a..f980fafbd9 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -345,10 +345,8 @@ FilePaths VcsManager::promptToDelete(const FilePaths &filePaths) // Categorize files by their parent directory, so we won't call // findVersionControlForDirectory() more often than necessary. QMap<FilePath, FilePaths> filesByParentDir; - for (const FilePath &fp : filePaths) { - filesByParentDir[FilePath::fromString(QDir::cleanPath(fp.toFileInfo().absolutePath()))] - .append(fp); - } + for (const FilePath &fp : filePaths) + filesByParentDir[fp.absolutePath()].append(fp); // Categorize by version control system. QHash<IVersionControl *, FilePaths> filesByVersionControl; diff --git a/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp b/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp index 49bc745838..0f3b8a9465 100644 --- a/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp +++ b/src/plugins/cppcheck/cppcheckdiagnosticsmodel.cpp @@ -47,7 +47,7 @@ QVariant FilePathItem::data(int column, int role) const case Qt::DisplayRole: return m_filePath; case Qt::DecorationRole: - return Core::FileIconProvider::icon(QFileInfo(m_filePath)); + return Core::FileIconProvider::icon(Utils::FilePath::fromString(m_filePath)); case Debugger::DetailedErrorView::FullTextRole: return m_filePath; default: diff --git a/src/plugins/cppeditor/cppincludehierarchy.cpp b/src/plugins/cppeditor/cppincludehierarchy.cpp index 1c4e8be8d8..9f1d77cf32 100644 --- a/src/plugins/cppeditor/cppincludehierarchy.cpp +++ b/src/plugins/cppeditor/cppincludehierarchy.cpp @@ -197,9 +197,9 @@ QVariant CppIncludeHierarchyItem::data(int column, int role) const case Qt::ToolTipRole: return m_filePath; case Qt::DecorationRole: - return FileIconProvider::icon(QFileInfo(m_filePath)); + return FileIconProvider::icon(FilePath::fromString(m_filePath)); case LinkRole: - return QVariant::fromValue(Utils::Link(Utils::FilePath::fromString(m_filePath), m_line)); + return QVariant::fromValue(Link(FilePath::fromString(m_filePath), m_line)); } return QVariant(); diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp index f1d43c2b29..94ccadbd57 100644 --- a/src/plugins/projectexplorer/dependenciespanel.cpp +++ b/src/plugins/projectexplorer/dependenciespanel.cpp @@ -99,7 +99,7 @@ QVariant DependenciesModel::data(const QModelIndex &index, int role) const case Qt::CheckStateRole: return SessionManager::hasDependency(m_project, p) ? Qt::Checked : Qt::Unchecked; case Qt::DecorationRole: - return Core::FileIconProvider::icon(p->projectFilePath().toFileInfo()); + return Core::FileIconProvider::icon(p->projectFilePath()); default: return QVariant(); } diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index d701a60ca2..38fbaae91d 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -142,7 +142,7 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const } case Qt::DecorationRole: { if (!folderNode) - return Core::FileIconProvider::icon(node->filePath().toFileInfo()); + return Core::FileIconProvider::icon(node->filePath()); if (!project) return folderNode->icon(); static QIcon warnIcon = Utils::Icons::WARNING.icon(); diff --git a/src/plugins/projectexplorer/selectablefilesmodel.cpp b/src/plugins/projectexplorer/selectablefilesmodel.cpp index 2cc06dbfa3..1328253130 100644 --- a/src/plugins/projectexplorer/selectablefilesmodel.cpp +++ b/src/plugins/projectexplorer/selectablefilesmodel.cpp @@ -231,7 +231,7 @@ QVariant SelectableFilesModel::data(const QModelIndex &index, int role) const return t->checked; if (role == Qt::DecorationRole) { if (t->icon.isNull()) - t->icon = Core::FileIconProvider::icon(t->fullPath.toFileInfo()); + t->icon = Core::FileIconProvider::icon(t->fullPath); return t->icon; } return QVariant(); diff --git a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp index 9cb8dd1e79..7b48f88ef2 100644 --- a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp +++ b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp @@ -798,7 +798,7 @@ QVariant ResourceModel::data(const QModelIndex &index, int role) const if (iconFileExtension(path)) file->icon = QIcon(path); else - file->icon = Core::FileIconProvider::icon(QFileInfo(path)); + file->icon = Core::FileIconProvider::icon(Utils::FilePath::fromString(path)); } if (!file->icon.isNull()) result = file->icon; diff --git a/src/plugins/resourceeditor/resourcenode.cpp b/src/plugins/resourceeditor/resourcenode.cpp index 7b57a6eabf..a6fb56fbe7 100644 --- a/src/plugins/resourceeditor/resourcenode.cpp +++ b/src/plugins/resourceeditor/resourcenode.cpp @@ -243,7 +243,7 @@ ResourceTopLevelNode::ResourceTopLevelNode(const FilePath &filePath, const QString &contents) : FolderNode(filePath) { - setIcon([filePath] { return FileIconProvider::icon(filePath.toFileInfo()); }); + setIcon([filePath] { return FileIconProvider::icon(filePath); }); setPriority(Node::DefaultFilePriority); setListInProject(true); setAddFileFilter("*.png; *.jpg; *.gif; *.svg; *.ico; *.qml; *.qml.ui"); diff --git a/src/plugins/vcsbase/submitfilemodel.cpp b/src/plugins/vcsbase/submitfilemodel.cpp index d7992de377..7366e8649e 100644 --- a/src/plugins/vcsbase/submitfilemodel.cpp +++ b/src/plugins/vcsbase/submitfilemodel.cpp @@ -26,6 +26,7 @@ #include "submitfilemodel.h" #include <coreplugin/fileiconprovider.h> +#include <utils/fileutils.h> #include <utils/qtcassert.h> #include <utils/theme/theme.h> @@ -88,8 +89,8 @@ static QList<QStandardItem *> createFileRow(const QString &repositoryRoot, // For some reason, Windows (at least) requires a valid (existing) file path to the icon, so // the repository root is needed here. // Note: for "overlaid" icons in Core::FileIconProvider a valid file path is not required - const QFileInfo fi(repositoryRoot + QLatin1Char('/') + fileName); - fileItem->setIcon(Core::FileIconProvider::icon(fi)); + fileItem->setIcon(Core::FileIconProvider::icon( + Utils::FilePath::fromString(repositoryRoot).pathAppended(fileName))); const QList<QStandardItem *> row{statusItem, fileItem}; if (statusHint != SubmitFileModel::FileStatusUnknown) { const QBrush textForeground = fileStatusTextForeground(statusHint); |