qt 6.5.1 original

This commit is contained in:
kleuter
2023-10-29 23:33:08 +01:00
parent 71d22ab6b0
commit 85d238dfda
21202 changed files with 5499099 additions and 0 deletions

View File

@ -0,0 +1,24 @@
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT)
cmake_minimum_required(VERSION 3.16)
project(xmlstreamlint LANGUAGES CXX)
find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST)
endif()
qt_internal_add_manual_test(xmlstreamlint
SOURCES
main.cpp
)
set_target_properties(xmlstreamlint PROPERTIES
WIN32_EXECUTABLE FALSE
MACOSX_BUNDLE FALSE
)
target_link_libraries(xmlstreamlint PRIVATE
Qt::Core
Qt::Xml
)

View File

@ -0,0 +1,51 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\example xmlstreamlint
\title XML Stream Lint Example
\ingroup xml-examples
\brief A commandline tool reading from an input file and writing to
the standard output file.
The XML Stream Lint example provides a simple command line utility that
accepts a file name as its single argument and writes it to the standard
output file.
The specified file is parsed using an QXmlStreamReader object and written
to the standard output file using an QXmlStreamWriter object. If the file
does not contain a well-formed XML document or the use of namespaces in
the document is incorrect, a description of the error is printed to
the standard error file and will appear in the console.
\section1 Basic Operation
The main function of the example opens the file specified by the user
for input (\c inputFile), and it uses QFile to access the standard output
file.
Reading XML is handled by an instance of the QXmlStreamReader class, which
operates on the input file object; writing is handled by an instance of
QXmlStreamWriter operating on the output file object:
\snippet xmlstreamlint/main.cpp 0
The work of parsing and rewriting the XML is done in a while loop, and is
driven by input from the reader:
\snippet xmlstreamlint/main.cpp 1
If more input is available, the next token from the input file is read
and parsed. If an error occurred, information is written to the standard
error file via a stream, and the example exits by returning a non-zero
value from the main function.
\snippet xmlstreamlint/main.cpp 2
For valid input, the writer is fed the current token from the reader,
and this is written to the output file that was specified when it was
constructed.
When there is no more input, the loop terminates, and the example can
exit successfully.
*/

View File

@ -0,0 +1,90 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <QCoreApplication>
#include <QFile>
#include <QStringList>
#include <QTextStream>
#include <QXmlStreamReader>
/*
This class exists for the sole purpose of creating a translation context.
*/
class XmlStreamLint
{
public:
Q_DECLARE_TR_FUNCTIONS(XmlStreamLint)
};
int main(int argc, char *argv[])
{
enum ExitCode
{
Success,
ParseFailure,
ArgumentError,
WriteError,
FileFailure
};
QCoreApplication app(argc, argv);
QTextStream errorStream(stderr);
if (argc != 2)
{
errorStream << XmlStreamLint::tr(
"Usage: xmlstreamlint <path to XML file>\n");
return ArgumentError;
}
QString inputFilePath(QCoreApplication::arguments().at(1));
QFile inputFile(inputFilePath);
if (!QFile::exists(inputFilePath))
{
errorStream << XmlStreamLint::tr(
"File %1 does not exist.\n").arg(inputFilePath);
return FileFailure;
} else if (!inputFile.open(QIODevice::ReadOnly)) {
errorStream << XmlStreamLint::tr(
"Failed to open file %1.\n").arg(inputFilePath);
return FileFailure;
}
QFile outputFile;
if (!outputFile.open(stdout, QIODevice::WriteOnly))
{
errorStream << XmlStreamLint::tr("Failed to open stdout.");
return WriteError;
}
//! [0]
QXmlStreamReader reader(&inputFile);
QXmlStreamWriter writer(&outputFile);
//! [0]
//! [1]
while (!reader.atEnd())
{
reader.readNext();
if (reader.error())
{
errorStream << XmlStreamLint::tr(
"Error: %1 in file %2 at line %3, column %4.\n").arg(
reader.errorString(), inputFilePath,
QString::number(reader.lineNumber()),
QString::number(reader.columnNumber()));
return ParseFailure;
//! [1]
//! [2]
} else
writer.writeCurrentToken(reader);
}
//! [2]
return Success;
}

View File

@ -0,0 +1,7 @@
CONFIG += cmdline
QT -= gui
SOURCES += main.cpp
# install
target.path = $$[QT_INSTALL_EXAMPLES]/xml/xmlstreamlint
INSTALLS += target