diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-08-11 22:29:26 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-08-12 10:51:27 +0000 |
commit | 90842fdc865c3b7e9937bbd75f3fd5d74ec588ef (patch) | |
tree | aa4900db16b0411f9895aaa5650aab8f4792df61 /examples/quickcontrols2/texteditor/documenthandler.cpp | |
parent | bb3453aeadf1aa3a53f2bf3c8d55b3ae3f4543b0 (diff) |
texteditor: add fileName & fileType
'document.fileName' reads better than 'document.documentTitle',
and 'document.fileType' can be set as the default suffix for
the file save dialog.
Change-Id: I935586296c91d3efdd5edea03d81c685e7edcab2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'examples/quickcontrols2/texteditor/documenthandler.cpp')
-rw-r--r-- | examples/quickcontrols2/texteditor/documenthandler.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/examples/quickcontrols2/texteditor/documenthandler.cpp b/examples/quickcontrols2/texteditor/documenthandler.cpp index 7a7934b4..57322512 100644 --- a/examples/quickcontrols2/texteditor/documenthandler.cpp +++ b/examples/quickcontrols2/texteditor/documenthandler.cpp @@ -267,18 +267,18 @@ void DocumentHandler::setText(const QString &text) emit textChanged(); } -QString DocumentHandler::documentTitle() const +QString DocumentHandler::fileName() const { - return m_documentTitle; + const QString filePath = QQmlFile::urlToLocalFileOrQrc(m_fileUrl); + const QString fileName = QFileInfo(filePath).fileName(); + if (fileName.isEmpty()) + return QStringLiteral("untitled.txt"); + return fileName; } -void DocumentHandler::setDocumentTitle(const QString &title) +QString DocumentHandler::fileType() const { - if (title == m_documentTitle) - return; - - m_documentTitle = title; - emit documentTitleChanged(); + return QFileInfo(fileName()).suffix(); } QUrl DocumentHandler::fileUrl() const @@ -291,7 +291,6 @@ void DocumentHandler::setFileUrl(const QUrl &fileUrl) if (fileUrl == m_fileUrl) return; - m_fileUrl = fileUrl; QString fileName = QQmlFile::urlToLocalFileOrQrc(fileUrl); if (QFile::exists(fileName)) { QFile file(fileName); @@ -301,17 +300,14 @@ void DocumentHandler::setFileUrl(const QUrl &fileUrl) setText(codec->toUnicode(data)); if (QTextDocument *doc = textDocument()) doc->setModified(false); - if (fileName.isEmpty()) - m_documentTitle = QStringLiteral("untitled.txt"); - else - m_documentTitle = QFileInfo(fileName).fileName(); emit textChanged(); - emit documentTitleChanged(); reset(); } } + + m_fileUrl = fileUrl; emit fileUrlChanged(); } @@ -330,7 +326,12 @@ void DocumentHandler::saveAs(const QUrl &fileUrl) } file.write((isHtml ? doc->toHtml() : doc->toPlainText()).toUtf8()); file.close(); - setFileUrl(fileUrl); + + if (fileUrl == m_fileUrl) + return; + + m_fileUrl = fileUrl; + emit fileUrlChanged(); } void DocumentHandler::reset() |