diff options
author | hjk <[email protected]> | 2022-11-09 15:19:13 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2022-11-09 15:08:19 +0000 |
commit | 30312cc74adc59fb25f3026873b9dbdb6871041e (patch) | |
tree | 90dc650f54b779b5eeb10ee3d8cb6a38434584fe /src/plugins | |
parent | 9c69a63b3b19ecac4d0dfb36678a40733dcc99da (diff) |
Vcs: Proliferate FilePath a bit further
Change-Id: I8490917bf0bde59b1cef2509ec14c3ca985fa43d
Reviewed-by: Orgad Shaneh <[email protected]>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/bazaar/bazaarplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/bazaar/commiteditor.cpp | 4 | ||||
-rw-r--r-- | src/plugins/bazaar/commiteditor.h | 2 | ||||
-rw-r--r-- | src/plugins/git/gitclient.cpp | 2 | ||||
-rw-r--r-- | src/plugins/git/gitsubmiteditor.cpp | 6 | ||||
-rw-r--r-- | src/plugins/mercurial/commiteditor.cpp | 7 | ||||
-rw-r--r-- | src/plugins/mercurial/commiteditor.h | 5 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/vcsbase/submitfilemodel.cpp | 14 | ||||
-rw-r--r-- | src/plugins/vcsbase/submitfilemodel.h | 8 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 14 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbasesubmiteditor.h | 5 |
12 files changed, 33 insertions, 38 deletions
diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp index 33d13c631f9..8c1799c7446 100644 --- a/src/plugins/bazaar/bazaarplugin.cpp +++ b/src/plugins/bazaar/bazaarplugin.cpp @@ -708,7 +708,7 @@ void BazaarPluginPrivate::showCommitWidget(const QList<VcsBaseClient::StatusItem commitEditor->document()->setPreferredDisplayName(msg); const BranchInfo branch = m_client.synchronousBranchQuery(m_submitRepository); - commitEditor->setFields(m_submitRepository.toString(), branch, + commitEditor->setFields(m_submitRepository, branch, m_settings.userName.value(), m_settings.userEmail.value(), status); } diff --git a/src/plugins/bazaar/commiteditor.cpp b/src/plugins/bazaar/commiteditor.cpp index a26cc682bef..ad5eb920f38 100644 --- a/src/plugins/bazaar/commiteditor.cpp +++ b/src/plugins/bazaar/commiteditor.cpp @@ -11,7 +11,7 @@ #include <coreplugin/idocument.h> #include <vcsbase/submitfilemodel.h> -#include <QDebug> +using namespace Utils; namespace Bazaar::Internal { @@ -26,7 +26,7 @@ BazaarCommitWidget *CommitEditor::commitWidget() return static_cast<BazaarCommitWidget *>(widget()); } -void CommitEditor::setFields(const QString &repositoryRoot, const BranchInfo &branch, +void CommitEditor::setFields(const FilePath &repositoryRoot, const BranchInfo &branch, const QString &userName, const QString &email, const QList<VcsBase::VcsBaseClient::StatusItem> &repoStatus) { diff --git a/src/plugins/bazaar/commiteditor.h b/src/plugins/bazaar/commiteditor.h index c2cc6741710..557328f5722 100644 --- a/src/plugins/bazaar/commiteditor.h +++ b/src/plugins/bazaar/commiteditor.h @@ -20,7 +20,7 @@ class CommitEditor : public VcsBase::VcsBaseSubmitEditor public: CommitEditor(); - void setFields(const QString &repositoryRoot, const BranchInfo &branch, + void setFields(const Utils::FilePath &repositoryRoot, const BranchInfo &branch, const QString &userName, const QString &email, const QList<VcsBase::VcsBaseClient::StatusItem> &repoStatus); diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index d3ffbac050d..83197da61ff 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2792,7 +2792,7 @@ bool GitClient::getCommitData(const FilePath &workingDirectory, // Filter out untracked files that are not part of the project QStringList untrackedFiles = commitData.filterFiles(UntrackedFile); - VcsBaseSubmitEditor::filterUntrackedFilesOfProject(repoDirectory.toString(), &untrackedFiles); + VcsBaseSubmitEditor::filterUntrackedFilesOfProject(repoDirectory, &untrackedFiles); QList<CommitData::StateFilePair> filteredFiles; QList<CommitData::StateFilePair>::const_iterator it = commitData.files.constBegin(); for ( ; it != commitData.files.constEnd(); ++it) { diff --git a/src/plugins/git/gitsubmiteditor.cpp b/src/plugins/git/gitsubmiteditor.cpp index 4614f7293d2..177b2a9adb9 100644 --- a/src/plugins/git/gitsubmiteditor.cpp +++ b/src/plugins/git/gitsubmiteditor.cpp @@ -115,10 +115,8 @@ void GitSubmitEditor::setCommitData(const CommitData &d) setEmptyFileListEnabled(m_commitType == AmendCommit); // Allow for just correcting the message m_model = new GitSubmitFileModel(this); - m_model->setRepositoryRoot(d.panelInfo.repository.toString()); - m_model->setFileStatusQualifier([](const QString &, const QVariant &extraData) - -> SubmitFileModel::FileStatusHint - { + m_model->setRepositoryRoot(d.panelInfo.repository); + m_model->setFileStatusQualifier([](const QString &, const QVariant &extraData) { const FileStates state = static_cast<FileStates>(extraData.toInt()); if (state & (UnmergedFile | UnmergedThem | UnmergedUs)) return SubmitFileModel::FileUnmerged; diff --git a/src/plugins/mercurial/commiteditor.cpp b/src/plugins/mercurial/commiteditor.cpp index ab46c2b5c82..cd05e9a62b8 100644 --- a/src/plugins/mercurial/commiteditor.cpp +++ b/src/plugins/mercurial/commiteditor.cpp @@ -9,9 +9,8 @@ #include <coreplugin/idocument.h> #include <vcsbase/submitfilemodel.h> -#include <QDebug> - using namespace VcsBase; +using namespace Utils; namespace Mercurial::Internal { @@ -26,7 +25,7 @@ MercurialCommitWidget *CommitEditor::commitWidget() const return static_cast<MercurialCommitWidget *>(widget()); } -void CommitEditor::setFields(const QFileInfo &repositoryRoot, const QString &branch, +void CommitEditor::setFields(const FilePath &repositoryRoot, const QString &branch, const QString &userName, const QString &email, const QList<VcsBaseClient::StatusItem> &repoStatus) { @@ -34,7 +33,7 @@ void CommitEditor::setFields(const QFileInfo &repositoryRoot, const QString &bra if (!mercurialWidget) return; - mercurialWidget->setFields(repositoryRoot.absoluteFilePath(), branch, userName, email); + mercurialWidget->setFields(repositoryRoot.absoluteFilePath().toString(), branch, userName, email); fileModel = new SubmitFileModel(this); fileModel->setRepositoryRoot(repositoryRoot.absoluteFilePath()); diff --git a/src/plugins/mercurial/commiteditor.h b/src/plugins/mercurial/commiteditor.h index 867775da984..62337793bc4 100644 --- a/src/plugins/mercurial/commiteditor.h +++ b/src/plugins/mercurial/commiteditor.h @@ -6,8 +6,6 @@ #include <vcsbase/vcsbaseclient.h> #include <vcsbase/vcsbasesubmiteditor.h> -#include <QFileInfo> - namespace VcsBase { class SubmitFileModel; } namespace Mercurial::Internal { @@ -21,7 +19,7 @@ class CommitEditor : public VcsBase::VcsBaseSubmitEditor public: CommitEditor(); - void setFields(const QFileInfo &repositoryRoot, const QString &branch, + void setFields(const Utils::FilePath &repositoryRoot, const QString &branch, const QString &userName, const QString &email, const QList<VcsBase::VcsBaseClient::StatusItem> &repoStatus); @@ -30,6 +28,7 @@ public: private: MercurialCommitWidget *commitWidget() const; + VcsBase::SubmitFileModel *fileModel = nullptr; }; diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp index 775c6c1f7e6..27d3ab882a4 100644 --- a/src/plugins/mercurial/mercurialplugin.cpp +++ b/src/plugins/mercurial/mercurialplugin.cpp @@ -634,7 +634,7 @@ void MercurialPluginPrivate::showCommitWidget(const QList<VcsBaseClient::StatusI commitEditor->document()->setPreferredDisplayName(msg); const QString branch = vcsTopic(m_submitRepository); - commitEditor->setFields(QFileInfo(m_submitRepository.toString()), branch, + commitEditor->setFields(m_submitRepository, branch, m_settings.userName.value(), m_settings.userEmail.value(), status); } diff --git a/src/plugins/vcsbase/submitfilemodel.cpp b/src/plugins/vcsbase/submitfilemodel.cpp index 4b4681a85ad..210ac1dfbea 100644 --- a/src/plugins/vcsbase/submitfilemodel.cpp +++ b/src/plugins/vcsbase/submitfilemodel.cpp @@ -3,15 +3,15 @@ #include "submitfilemodel.h" -#include <utils/fileutils.h> #include <utils/fsengine/fileiconprovider.h> #include <utils/qtcassert.h> #include <utils/theme/theme.h> #include <QStandardItem> -#include <QFileInfo> #include <QDebug> +using namespace Utils; + namespace VcsBase { // -------------------------------------------------------------------------- @@ -22,7 +22,6 @@ enum { StateColumn = 0, FileColumn = 1 }; static QBrush fileStatusTextForeground(SubmitFileModel::FileStatusHint statusHint) { - using Utils::Theme; Theme::Color statusTextColor = Theme::VcsBase_FileStatusUnknown_TextColor; switch (statusHint) { case SubmitFileModel::FileStatusUnknown: @@ -47,7 +46,7 @@ static QBrush fileStatusTextForeground(SubmitFileModel::FileStatusHint statusHin return QBrush(Utils::creatorTheme()->color(statusTextColor)); } -static QList<QStandardItem *> createFileRow(const QString &repositoryRoot, +static QList<QStandardItem *> createFileRow(const FilePath &repositoryRoot, const QString &fileName, const QString &status, SubmitFileModel::FileStatusHint statusHint, @@ -67,8 +66,7 @@ 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 Utils::FileIconProvider a valid file path is not required - fileItem->setIcon(Utils::FileIconProvider::icon( - Utils::FilePath::fromString(repositoryRoot).pathAppended(fileName))); + fileItem->setIcon(FileIconProvider::icon(repositoryRoot.pathAppended(fileName))); const QList<QStandardItem *> row{statusItem, fileItem}; if (statusHint != SubmitFileModel::FileStatusUnknown) { const QBrush textForeground = fileStatusTextForeground(statusHint); @@ -97,12 +95,12 @@ SubmitFileModel::SubmitFileModel(QObject *parent) : setHorizontalHeaderLabels({tr("State"), tr("File")}); } -const QString &SubmitFileModel::repositoryRoot() const +const FilePath &SubmitFileModel::repositoryRoot() const { return m_repositoryRoot; } -void SubmitFileModel::setRepositoryRoot(const QString &repoRoot) +void SubmitFileModel::setRepositoryRoot(const FilePath &repoRoot) { m_repositoryRoot = repoRoot; } diff --git a/src/plugins/vcsbase/submitfilemodel.h b/src/plugins/vcsbase/submitfilemodel.h index 38da9153553..7c76d2536d3 100644 --- a/src/plugins/vcsbase/submitfilemodel.h +++ b/src/plugins/vcsbase/submitfilemodel.h @@ -5,6 +5,8 @@ #include "vcsbase_global.h" +#include <utils/filepath.h> + #include <QStandardItemModel> #include <functional> @@ -24,8 +26,8 @@ class VCSBASE_EXPORT SubmitFileModel : public QStandardItemModel public: explicit SubmitFileModel(QObject *parent = nullptr); - const QString &repositoryRoot() const; - void setRepositoryRoot(const QString &repoRoot); + const Utils::FilePath &repositoryRoot() const; + void setRepositoryRoot(const Utils::FilePath &repoRoot); // Convenience to create and add rows containing a file plus status text. QList<QStandardItem *> addFile(const QString &fileName, const QString &status = QString(), @@ -67,7 +69,7 @@ public: void setFileStatusQualifier(FileStatusQualifier &&func); private: - QString m_repositoryRoot; + Utils::FilePath m_repositoryRoot; FileStatusQualifier m_fileStatusQualifier; }; diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index 5e20b9eef59..8df2b314af4 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -328,9 +328,9 @@ Core::IDocument *VcsBaseSubmitEditor::document() const return &d->m_file; } -QString VcsBaseSubmitEditor::checkScriptWorkingDirectory() const +FilePath VcsBaseSubmitEditor::checkScriptWorkingDirectory() const { - return d->m_checkScriptWorkingDirectory.toString(); + return d->m_checkScriptWorkingDirectory; } void VcsBaseSubmitEditor::setCheckScriptWorkingDirectory(const FilePath &s) @@ -380,8 +380,7 @@ static QSet<FilePath> filesFromModel(SubmitFileModel *model) QSet<FilePath> result; result.reserve(model->rowCount()); for (int row = 0; row < model->rowCount(); ++row) { - result.insert(FilePath::fromString( - QFileInfo(model->repositoryRoot(), model->file(row)).absoluteFilePath())); + result.insert(model->repositoryRoot().resolvePath(model->file(row)).absoluteFilePath()); } return result; } @@ -628,13 +627,12 @@ QIcon VcsBaseSubmitEditor::submitIcon() // Reduce a list of untracked files reported by a VCS down to the files // that are actually part of the current project(s). -void VcsBaseSubmitEditor::filterUntrackedFilesOfProject(const QString &repositoryDirectory, +void VcsBaseSubmitEditor::filterUntrackedFilesOfProject(const FilePath &repositoryDirectory, QStringList *untrackedFiles) { - const QDir repoDir(repositoryDirectory); for (QStringList::iterator it = untrackedFiles->begin(); it != untrackedFiles->end(); ) { - const QString path = repoDir.absoluteFilePath(*it); - if (ProjectExplorer::SessionManager::projectForFile(FilePath::fromString(path))) + const FilePath path = repositoryDirectory.resolvePath(*it).absoluteFilePath(); + if (ProjectExplorer::SessionManager::projectForFile(path)) ++it; else it = untrackedFiles->erase(it); diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.h b/src/plugins/vcsbase/vcsbasesubmiteditor.h index 6e4ae28f5a9..083533712fa 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.h +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.h @@ -63,7 +63,7 @@ public: int lineWrapWidth() const; void setLineWrapWidth(int); - QString checkScriptWorkingDirectory() const; + Utils::FilePath checkScriptWorkingDirectory() const; void setCheckScriptWorkingDirectory(const Utils::FilePath &); Core::IDocument *document() const override; @@ -83,7 +83,8 @@ public: // Reduce a list of untracked files reported by a VCS down to the files // that are actually part of the current project(s). - static void filterUntrackedFilesOfProject(const QString &repositoryDirectory, QStringList *untrackedFiles); + static void filterUntrackedFilesOfProject(const Utils::FilePath &repositoryDirectory, + QStringList *untrackedFiles); signals: void diffSelectedFiles(const QStringList &files); |