summaryrefslogtreecommitdiffstats
path: root/examples/xml/dombookmarks/mainwindow.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-06-12 11:48:21 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-06-13 01:51:10 +0200
commit3a553507a134bee1562d34ebbf786a053d36fc05 (patch)
tree11af5b40e37920514078fb61fcd823ec82b30d49 /examples/xml/dombookmarks/mainwindow.cpp
parent723e331f0a811294e43207db162698c3ff8fde51 (diff)
Brush up the DOM bookmarks example
- Use modern string literals (use QStringLiteral instead of QLatin1StringView for strings that go into the DOM API). - Use mime types in the file dialog handling - Streamline code - Remove mentions of SAX - Use per class includes - Do not use QObject::tr() - Use the configure system instead of QT_NO... defines - Fix some doc text typos Complements 3dd3268ded4dd74c64d7ec726fd534375ab9f018. Pick-to: 6.6 6.5 Task-number: QTBUG-111974 Change-Id: If0dc7b61e729d0a71f37743efc9b82e285d3f451 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'examples/xml/dombookmarks/mainwindow.cpp')
-rw-r--r--examples/xml/dombookmarks/mainwindow.cpp36
1 files changed, 22 insertions, 14 deletions
diff --git a/examples/xml/dombookmarks/mainwindow.cpp b/examples/xml/dombookmarks/mainwindow.cpp
index 66156a2ff1..f5320519f2 100644
--- a/examples/xml/dombookmarks/mainwindow.cpp
+++ b/examples/xml/dombookmarks/mainwindow.cpp
@@ -1,11 +1,19 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QtWidgets>
-
#include "mainwindow.h"
#include "xbeltree.h"
+#include <QFileDialog>
+#include <QMenuBar>
+#include <QMessageBox>
+#include <QStatusBar>
+
+#include <QAction>
+#include <QScreen>
+
+using namespace Qt::StringLiterals;
+
//! [0]
MainWindow::MainWindow()
{
@@ -25,16 +33,15 @@ MainWindow::MainWindow()
//! [1]
void MainWindow::open()
{
- QString fileName =
- QFileDialog::getOpenFileName(this, tr("Open Bookmark File"),
- QDir::currentPath(),
- tr("XBEL Files (*.xbel *.xml)"));
- if (fileName.isEmpty())
+ QFileDialog fileDialog(this, tr("Open Bookmark File"), QDir::currentPath());
+ fileDialog.setMimeTypeFilters({"application/x-xbel"_L1});
+ if (fileDialog.exec() != QDialog::Accepted)
return;
+ const QString fileName = fileDialog.selectedFiles().constFirst();
QFile file(fileName);
if (!file.open(QFile::ReadOnly | QFile::Text)) {
- QMessageBox::warning(this, tr("SAX Bookmarks"),
+ QMessageBox::warning(this, tr("DOM Bookmarks"),
tr("Cannot read file %1:\n%2.")
.arg(QDir::toNativeSeparators(fileName),
file.errorString()));
@@ -49,16 +56,17 @@ void MainWindow::open()
//! [2]
void MainWindow::saveAs()
{
- QString fileName =
- QFileDialog::getSaveFileName(this, tr("Save Bookmark File"),
- QDir::currentPath(),
- tr("XBEL Files (*.xbel *.xml)"));
- if (fileName.isEmpty())
+ QFileDialog fileDialog(this, tr("Save Bookmark File"), QDir::currentPath());
+ fileDialog.setAcceptMode(QFileDialog::AcceptSave);
+ fileDialog.setDefaultSuffix("xbel"_L1);
+ fileDialog.setMimeTypeFilters({"application/x-xbel"_L1});
+ if (fileDialog.exec() != QDialog::Accepted)
return;
+ const QString fileName = fileDialog.selectedFiles().constFirst();
QFile file(fileName);
if (!file.open(QFile::WriteOnly | QFile::Text)) {
- QMessageBox::warning(this, tr("SAX Bookmarks"),
+ QMessageBox::warning(this, tr("DOM Bookmarks"),
tr("Cannot write file %1:\n%2.")
.arg(QDir::toNativeSeparators(fileName),
file.errorString()));