aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quickcontrols2/texteditor/documenthandler.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-08-11 22:29:26 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-08-12 10:51:27 +0000
commit90842fdc865c3b7e9937bbd75f3fd5d74ec588ef (patch)
treeaa4900db16b0411f9895aaa5650aab8f4792df61 /examples/quickcontrols2/texteditor/documenthandler.cpp
parentbb3453aeadf1aa3a53f2bf3c8d55b3ae3f4543b0 (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.cpp31
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()