forked from qt-creator/qt-creator
Core: Merge OpenResult::Code ReadError into CannotHandle
The only use was to pop up two different error dialogs, and the usage was not consistent. Merging them means only one case of error is used, so this is semantically a Utils::Result<> now. Change-Id: I44c9bd1f547720e7792208dccd2c7e9038ef7a77 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -2125,7 +2125,7 @@ IDocument::OpenResult BinEditorDocument::openImpl(const FilePath &filePath, quin
|
|||||||
QString msg = Tr::tr("Cannot open %1: %2").arg(filePath.toUserOutput(), Tr::tr("File Error"));
|
QString msg = Tr::tr("Cannot open %1: %2").arg(filePath.toUserOutput(), Tr::tr("File Error"));
|
||||||
// FIXME: Was: file.errorString(), but we don't have a file anymore.
|
// FIXME: Was: file.errorString(), but we don't have a file anymore.
|
||||||
QMessageBox::critical(ICore::dialogParent(), Tr::tr("File Error"), msg);
|
QMessageBox::critical(ICore::dialogParent(), Tr::tr("File Error"), msg);
|
||||||
return {OpenResult::ReadError, msg};
|
return {OpenResult::CannotHandle, msg};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
|
@@ -384,15 +384,15 @@ IDocument::OpenResult JsonSettingsDocument::open(const FilePath &filePath,
|
|||||||
const FilePath &realFilePath)
|
const FilePath &realFilePath)
|
||||||
{
|
{
|
||||||
if (!filePath.isReadableFile())
|
if (!filePath.isReadableFile())
|
||||||
return OpenResult::ReadError;
|
return OpenResult::CannotHandle;
|
||||||
|
|
||||||
Result<QByteArray> contents = realFilePath.fileContents();
|
Result<QByteArray> contents = realFilePath.fileContents();
|
||||||
if (!contents)
|
if (!contents)
|
||||||
return {OpenResult::ReadError, contents.error()};
|
return {OpenResult::CannotHandle, contents.error()};
|
||||||
|
|
||||||
Result<Store> result = storeFromJson(*contents);
|
Result<Store> result = storeFromJson(*contents);
|
||||||
if (!result)
|
if (!result)
|
||||||
return {OpenResult::ReadError, result.error()};
|
return {OpenResult::CannotHandle, result.error()};
|
||||||
|
|
||||||
setFilePath(filePath);
|
setFilePath(filePath);
|
||||||
|
|
||||||
|
@@ -910,18 +910,6 @@ IEditor *EditorManagerPrivate::openEditor(EditorView *view, const FilePath &file
|
|||||||
overrideCursor.reset();
|
overrideCursor.reset();
|
||||||
delete editor;
|
delete editor;
|
||||||
editor = nullptr;
|
editor = nullptr;
|
||||||
if (openResult.code == IDocument::OpenResult::ReadError) {
|
|
||||||
QMessageBox msgbox(QMessageBox::Critical,
|
|
||||||
::Core::Tr::tr("File Error"),
|
|
||||||
::Core::Tr::tr("Could not open \"%1\" for reading. "
|
|
||||||
"Either the file does not exist or you do not have "
|
|
||||||
"the permissions to open it.")
|
|
||||||
.arg(realFp.toUserOutput()),
|
|
||||||
QMessageBox::Ok,
|
|
||||||
ICore::dialogParent());
|
|
||||||
msgbox.exec();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
// can happen e.g. when trying to open an completely empty .qrc file
|
// can happen e.g. when trying to open an completely empty .qrc file
|
||||||
QTC_CHECK(openResult.code == IDocument::OpenResult::CannotHandle);
|
QTC_CHECK(openResult.code == IDocument::OpenResult::CannotHandle);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -31,7 +31,6 @@ public:
|
|||||||
public:
|
public:
|
||||||
enum Code {
|
enum Code {
|
||||||
Success,
|
Success,
|
||||||
ReadError,
|
|
||||||
CannotHandle
|
CannotHandle
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -53,7 +53,7 @@ IDocument::OpenResult FormWindowFile::open(const FilePath &filePath,
|
|||||||
QTC_ASSERT(form, return OpenResult::CannotHandle);
|
QTC_ASSERT(form, return OpenResult::CannotHandle);
|
||||||
|
|
||||||
if (filePath.isEmpty())
|
if (filePath.isEmpty())
|
||||||
return OpenResult::ReadError;
|
return OpenResult::CannotHandle;
|
||||||
|
|
||||||
QString contents;
|
QString contents;
|
||||||
QString errorString;
|
QString errorString;
|
||||||
@@ -63,7 +63,7 @@ IDocument::OpenResult FormWindowFile::open(const FilePath &filePath,
|
|||||||
if (readResult == Utils::TextFileFormat::ReadEncodingError)
|
if (readResult == Utils::TextFileFormat::ReadEncodingError)
|
||||||
return {OpenResult::CannotHandle, errorString};
|
return {OpenResult::CannotHandle, errorString};
|
||||||
if (readResult != Utils::TextFileFormat::ReadSuccess)
|
if (readResult != Utils::TextFileFormat::ReadSuccess)
|
||||||
return {OpenResult::ReadError, errorString};
|
return {OpenResult::CannotHandle, errorString};
|
||||||
|
|
||||||
form->setFileName(filePath.absoluteFilePath().toUrlishString());
|
form->setFileName(filePath.absoluteFilePath().toUrlishString());
|
||||||
const QByteArray contentsBA = contents.toUtf8();
|
const QByteArray contentsBA = contents.toUtf8();
|
||||||
|
@@ -274,7 +274,7 @@ IDocument::OpenResult DiffEditorDocument::open(const FilePath &filePath, const F
|
|||||||
ReadResult readResult = read(filePath, &patch, &errorString);
|
ReadResult readResult = read(filePath, &patch, &errorString);
|
||||||
if (readResult == TextFileFormat::ReadIOError
|
if (readResult == TextFileFormat::ReadIOError
|
||||||
|| readResult == TextFileFormat::ReadMemoryAllocationError) {
|
|| readResult == TextFileFormat::ReadMemoryAllocationError) {
|
||||||
return {OpenResult::ReadError, errorString};
|
return {OpenResult::CannotHandle, errorString};
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::optional<QList<FileData>> fileDataList = DiffUtils::readPatch(patch);
|
const std::optional<QList<FileData>> fileDataList = DiffUtils::readPatch(patch);
|
||||||
|
@@ -77,7 +77,7 @@ IDocument::OpenResult ImageViewerFile::openImpl(const FilePath &filePath)
|
|||||||
cleanUp();
|
cleanUp();
|
||||||
|
|
||||||
if (!filePath.isReadableFile())
|
if (!filePath.isReadableFile())
|
||||||
return OpenResult::ReadError;
|
return OpenResult::CannotHandle;
|
||||||
|
|
||||||
const QString &fileName = filePath.toUrlishString();
|
const QString &fileName = filePath.toUrlishString();
|
||||||
QByteArray format = QImageReader::imageFormat(fileName);
|
QByteArray format = QImageReader::imageFormat(fileName);
|
||||||
|
@@ -120,7 +120,7 @@ Core::IDocument::OpenResult ModelDocument::load(const FilePath &fileName)
|
|||||||
d->documentController->loadProject(fileName);
|
d->documentController->loadProject(fileName);
|
||||||
setFilePath(d->documentController->projectController()->project()->fileName());
|
setFilePath(d->documentController->projectController()->project()->fileName());
|
||||||
} catch (const qmt::FileNotFoundException &ex) {
|
} catch (const qmt::FileNotFoundException &ex) {
|
||||||
return {OpenResult::ReadError, ex.errorMessage()};
|
return {OpenResult::CannotHandle, ex.errorMessage()};
|
||||||
} catch (const qmt::Exception &ex) {
|
} catch (const qmt::Exception &ex) {
|
||||||
return {OpenResult::CannotHandle,
|
return {OpenResult::CannotHandle,
|
||||||
Tr::tr("Could not open \"%1\" for reading: %2.")
|
Tr::tr("Could not open \"%1\" for reading: %2.")
|
||||||
|
@@ -95,7 +95,7 @@ Core::IDocument::OpenResult ResourceFile::load()
|
|||||||
|
|
||||||
if (m_filePath.isEmpty()) {
|
if (m_filePath.isEmpty()) {
|
||||||
m_error_message = Tr::tr("The file name is empty.");
|
m_error_message = Tr::tr("The file name is empty.");
|
||||||
return Core::IDocument::OpenResult::ReadError;
|
return Core::IDocument::OpenResult::CannotHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
clearPrefixList();
|
clearPrefixList();
|
||||||
@@ -108,7 +108,7 @@ Core::IDocument::OpenResult ResourceFile::load()
|
|||||||
QFile file(m_filePath.toUrlishString());
|
QFile file(m_filePath.toUrlishString());
|
||||||
if (!file.open(QIODevice::ReadOnly)) {
|
if (!file.open(QIODevice::ReadOnly)) {
|
||||||
m_error_message = file.errorString();
|
m_error_message = file.errorString();
|
||||||
return Core::IDocument::OpenResult::ReadError;
|
return Core::IDocument::OpenResult::CannotHandle;
|
||||||
}
|
}
|
||||||
QByteArray data = file.readAll();
|
QByteArray data = file.readAll();
|
||||||
// Detect line ending style
|
// Detect line ending style
|
||||||
|
@@ -41,14 +41,14 @@ Core::IDocument::OpenResult ScxmlEditorDocument::open(const FilePath &filePath,
|
|||||||
Q_UNUSED(realFilePath)
|
Q_UNUSED(realFilePath)
|
||||||
|
|
||||||
if (filePath.isEmpty())
|
if (filePath.isEmpty())
|
||||||
return OpenResult::ReadError;
|
return OpenResult::CannotHandle;
|
||||||
|
|
||||||
if (!m_designWidget)
|
if (!m_designWidget)
|
||||||
return OpenResult::ReadError;
|
return OpenResult::CannotHandle;
|
||||||
|
|
||||||
const FilePath &absoluteFilePath = filePath.absoluteFilePath();
|
const FilePath &absoluteFilePath = filePath.absoluteFilePath();
|
||||||
if (!m_designWidget->load(absoluteFilePath.toUrlishString()))
|
if (!m_designWidget->load(absoluteFilePath.toUrlishString()))
|
||||||
return {OpenResult::ReadError, m_designWidget->errorMessage()};
|
return {OpenResult::CannotHandle, m_designWidget->errorMessage()};
|
||||||
|
|
||||||
setFilePath(absoluteFilePath);
|
setFilePath(absoluteFilePath);
|
||||||
|
|
||||||
|
@@ -183,18 +183,18 @@ IDocument::OpenResult ObjectsMapDocument::openImpl(const FilePath &fileName,
|
|||||||
if (realFileName.fileName() == "objects.map") {
|
if (realFileName.fileName() == "objects.map") {
|
||||||
FileReader reader;
|
FileReader reader;
|
||||||
if (const Result<> res = reader.fetch(realFileName); !res)
|
if (const Result<> res = reader.fetch(realFileName); !res)
|
||||||
return {OpenResult::ReadError, res.error()};
|
return {OpenResult::CannotHandle, res.error()};
|
||||||
|
|
||||||
text = reader.text();
|
text = reader.text();
|
||||||
} else {
|
} else {
|
||||||
const FilePath base = settings().squishPath();
|
const FilePath base = settings().squishPath();
|
||||||
if (base.isEmpty()) {
|
if (base.isEmpty()) {
|
||||||
return {OpenResult::ReadError, Tr::tr("Incomplete Squish settings. "
|
return {OpenResult::CannotHandle, Tr::tr("Incomplete Squish settings. "
|
||||||
"Missing Squish installation path.")};
|
"Missing Squish installation path.")};
|
||||||
}
|
}
|
||||||
const FilePath exe = base.pathAppended("lib/exec/objectmaptool").withExecutableSuffix();
|
const FilePath exe = base.pathAppended("lib/exec/objectmaptool").withExecutableSuffix();
|
||||||
if (!exe.isExecutableFile())
|
if (!exe.isExecutableFile())
|
||||||
return {OpenResult::ReadError, Tr::tr("objectmaptool not found.")};
|
return {OpenResult::CannotHandle, Tr::tr("objectmaptool not found.")};
|
||||||
|
|
||||||
|
|
||||||
Process objectMapReader;
|
Process objectMapReader;
|
||||||
@@ -206,7 +206,7 @@ IDocument::OpenResult ObjectsMapDocument::openImpl(const FilePath &fileName,
|
|||||||
text = objectMapReader.cleanedStdOut().toUtf8();
|
text = objectMapReader.cleanedStdOut().toUtf8();
|
||||||
}
|
}
|
||||||
if (!setContents(text))
|
if (!setContents(text))
|
||||||
return {OpenResult::ReadError, Tr::tr("Failure while parsing objects.map content.")};
|
return {OpenResult::CannotHandle, Tr::tr("Failure while parsing objects.map content.")};
|
||||||
return OpenResult::Success;
|
return OpenResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -827,7 +827,7 @@ IDocument::OpenResult TextDocument::openImpl(const FilePath &filePath,
|
|||||||
setFilePath(filePath);
|
setFilePath(filePath);
|
||||||
}
|
}
|
||||||
if (readResult == Utils::TextFileFormat::ReadIOError)
|
if (readResult == Utils::TextFileFormat::ReadIOError)
|
||||||
return {OpenResult::ReadError, errorString};
|
return {OpenResult::CannotHandle, errorString};
|
||||||
return OpenResult::Success;
|
return OpenResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,11 +30,11 @@ SubmitEditorFile::SubmitEditorFile(VcsBaseSubmitEditor *editor) :
|
|||||||
IDocument::OpenResult SubmitEditorFile::open(const FilePath &filePath, const FilePath &realFilePath)
|
IDocument::OpenResult SubmitEditorFile::open(const FilePath &filePath, const FilePath &realFilePath)
|
||||||
{
|
{
|
||||||
if (filePath.isEmpty())
|
if (filePath.isEmpty())
|
||||||
return OpenResult::ReadError;
|
return OpenResult::CannotHandle;
|
||||||
|
|
||||||
FileReader reader;
|
FileReader reader;
|
||||||
if (const Result<> res = reader.fetch(realFilePath); !res)
|
if (const Result<> res = reader.fetch(realFilePath); !res)
|
||||||
return {OpenResult::ReadError, res.error()};
|
return {OpenResult::CannotHandle, res.error()};
|
||||||
|
|
||||||
const QString text = QString::fromLocal8Bit(reader.text());
|
const QString text = QString::fromLocal8Bit(reader.text());
|
||||||
if (!m_editor->setFileContents(text.toUtf8()))
|
if (!m_editor->setFileContents(text.toUtf8()))
|
||||||
|
Reference in New Issue
Block a user