forked from qt-creator/qt-creator
Core: filepathify IDocument
Change-Id: I364a80d070c5f90433309c281c4906ee101a1a1a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user