1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "textedit.h"
#include <QFile>
#include <QFileInfo>
TextEdit::TextEdit(QWidget *parent)
: QTextEdit(parent)
{
setReadOnly(true);
}
void TextEdit::setContents(const QString &fileName)
{
const QFileInfo fi(fileName);
srcUrl = QUrl::fromLocalFile(fi.absoluteFilePath());
QFile file(fileName);
if (file.open(QIODevice::ReadOnly)) {
const QString data(QString::fromUtf8(file.readAll()));
if (fileName.endsWith(".html"))
setHtml(data);
else
setPlainText(data);
}
emit fileNameChanged(fileName);
}
QVariant TextEdit::loadResource(int type, const QUrl &name)
{
if (type == QTextDocument::ImageResource) {
QFile file(srcUrl.resolved(name).toLocalFile());
if (file.open(QIODevice::ReadOnly))
return file.readAll();
}
return QTextEdit::loadResource(type, name);
}
|