aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorhjk <[email protected]>2022-11-09 15:19:13 +0100
committerhjk <[email protected]>2022-11-09 15:08:19 +0000
commit30312cc74adc59fb25f3026873b9dbdb6871041e (patch)
tree90dc650f54b779b5eeb10ee3d8cb6a38434584fe /src/plugins
parent9c69a63b3b19ecac4d0dfb36678a40733dcc99da (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.cpp2
-rw-r--r--src/plugins/bazaar/commiteditor.cpp4
-rw-r--r--src/plugins/bazaar/commiteditor.h2
-rw-r--r--src/plugins/git/gitclient.cpp2
-rw-r--r--src/plugins/git/gitsubmiteditor.cpp6
-rw-r--r--src/plugins/mercurial/commiteditor.cpp7
-rw-r--r--src/plugins/mercurial/commiteditor.h5
-rw-r--r--src/plugins/mercurial/mercurialplugin.cpp2
-rw-r--r--src/plugins/vcsbase/submitfilemodel.cpp14
-rw-r--r--src/plugins/vcsbase/submitfilemodel.h8
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.cpp14
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.h5
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);