Core: filepathify IDocument

Change-Id: I364a80d070c5f90433309c281c4906ee101a1a1a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2021-05-18 13:55:23 +02:00
parent 7020d54a0a
commit 665c090039
35 changed files with 253 additions and 227 deletions

View File

@@ -51,22 +51,23 @@ SubmitEditorFile::SubmitEditorFile(VcsBaseSubmitEditor *editor) :
this, &Core::IDocument::contentsChanged);
}
Core::IDocument::OpenResult SubmitEditorFile::open(QString *errorString, const QString &fileName,
const QString &realFileName)
Core::IDocument::OpenResult SubmitEditorFile::open(QString *errorString,
const Utils::FilePath &filePath,
const Utils::FilePath &realFilePath)
{
if (fileName.isEmpty())
if (filePath.isEmpty())
return OpenResult::ReadError;
FileReader reader;
if (!reader.fetch(Utils::FilePath::fromString(realFileName), QIODevice::Text, errorString))
if (!reader.fetch(realFilePath, QIODevice::Text, errorString))
return OpenResult::ReadError;
const QString text = QString::fromLocal8Bit(reader.data());
if (!m_editor->setFileContents(text.toUtf8()))
return OpenResult::CannotHandle;
setFilePath(FilePath::fromString(fileName));
setModified(fileName != realFileName);
setFilePath(filePath.absoluteFilePath());
setModified(filePath != realFilePath);
return OpenResult::Success;
}
@@ -88,16 +89,16 @@ void SubmitEditorFile::setModified(bool modified)
emit changed();
}
bool SubmitEditorFile::save(QString *errorString, const QString &fileName, bool autoSave)
bool SubmitEditorFile::save(QString *errorString, const FilePath &filePath, bool autoSave)
{
const FilePath fName = fileName.isEmpty() ? filePath() : FilePath::fromString(fileName);
const FilePath &fName = filePath.isEmpty() ? this->filePath() : filePath;
FileSaver saver(fName, QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
saver.write(m_editor->fileContents());
if (!saver.finalize(errorString))
return false;
if (autoSave)
return true;
setFilePath(FilePath::fromUserInput(fName.toFileInfo().absoluteFilePath()));
setFilePath(fName.absoluteFilePath());
setModified(false);
if (!errorString->isEmpty())
return false;

View File

@@ -39,13 +39,13 @@ class SubmitEditorFile : public Core::IDocument
public:
explicit SubmitEditorFile(VcsBaseSubmitEditor *editor);
OpenResult open(QString *errorString, const QString &fileName,
const QString &realFileName) override;
OpenResult open(QString *errorString, const Utils::FilePath &filePath,
const Utils::FilePath &realFilePath) override;
QByteArray contents() const override;
bool setContents(const QByteArray &contents) override;
bool isModified() const override { return m_modified; }
bool save(QString *errorString, const QString &fileName, bool autoSave) override;
bool save(QString *errorString, const Utils::FilePath &filePath, bool autoSave) override;
ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const override;
void setModified(bool modified = true);