diff options
Diffstat (limited to 'examples/quickcontrols2/texteditor/documenthandler.cpp')
-rw-r--r-- | examples/quickcontrols2/texteditor/documenthandler.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/examples/quickcontrols2/texteditor/documenthandler.cpp b/examples/quickcontrols2/texteditor/documenthandler.cpp index 45c0f4cb..e57946fd 100644 --- a/examples/quickcontrols2/texteditor/documenthandler.cpp +++ b/examples/quickcontrols2/texteditor/documenthandler.cpp @@ -52,7 +52,9 @@ #include <QFile> #include <QFileInfo> +#include <QFileSelector> #include <QQmlFile> +#include <QQmlFileSelector> #include <QQuickTextDocument> #include <QTextCharFormat> #include <QTextCodec> @@ -277,7 +279,14 @@ void DocumentHandler::load(const QUrl &fileUrl) if (fileUrl == m_fileUrl) return; - QString fileName = QQmlFile::urlToLocalFileOrQrc(fileUrl); + QQmlEngine *engine = qmlEngine(this); + if (!engine) { + qWarning() << "load() called before DocumentHandler has QQmlEngine"; + return; + } + + const QUrl path = QQmlFileSelector::get(engine)->selector()->select(fileUrl); + const QString fileName = QQmlFile::urlToLocalFileOrQrc(path); if (QFile::exists(fileName)) { QFile file(fileName); if (file.open(QFile::ReadOnly)) { |