Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqmltccommandlineutils.cpp
Go to the documentation of this file.
1
// Copyright (C) 2021 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
// Qt-Security score:significant
4
5
#
include
"qqmltccommandlineutils_p.h"
6
7
#
include
<
QtCore
/
qstring
.
h
>
8
#
include
<
QtCore
/
qfileinfo
.
h
>
9
#
include
<
QtCore
/
qdir
.
h
>
10
#
include
<
QtCore
/
qurl
.
h
>
11
#
include
<
QtCore
/
qlibraryinfo
.
h
>
12
13
QT_BEGIN_NAMESPACE
14
15
namespace
QQmltc
{
16
17
QString
parseUrlArgument
(
const
QString &arg)
18
{
19
const
QUrl url = QUrl::fromUserInput(arg, QDir::currentPath(), QUrl::AssumeLocalFile);
20
if
(!url.isValid()) {
21
fprintf(stderr,
"Invalid URL: \"%s\"\n"
, qPrintable(arg));
22
return
QString();
23
}
24
if
(!url.isLocalFile()) {
25
fprintf(stderr,
"\"%s\" is not a local file\n"
, qPrintable(arg));
26
return
QString();
27
}
28
return
url.toLocalFile();
29
}
30
31
QString
loadUrl
(
const
QString &url)
32
{
33
const
QFileInfo fi(url);
34
if
(!fi.exists()) {
35
fprintf(stderr,
"\"%s\" does not exist.\n"
,
36
qPrintable(QDir::toNativeSeparators(fi.absoluteFilePath())));
37
return
QString();
38
}
39
40
QFile f(fi.absoluteFilePath());
41
if
(!f.open(QIODevice::ReadOnly)) {
42
fprintf(stderr,
"Unable to read \"%s\": %s.\n"
,
43
qPrintable(QDir::toNativeSeparators(fi.absoluteFilePath())),
44
qPrintable(f.errorString()));
45
return
QString();
46
}
47
48
QByteArray data(fi.size(), Qt::Uninitialized);
49
if
(f.read(data.data(), data.size()) != data.size()) {
50
fprintf(stderr,
"Unable to read \"%s\": %s.\n"
,
51
qPrintable(QDir::toNativeSeparators(fi.absoluteFilePath())),
52
qPrintable(f.errorString()));
53
return
QString();
54
}
55
return
QString::fromUtf8(data);
56
}
57
58
QString
getImplicitImportDirectory
(
const
QString &url)
59
{
60
const
QFileInfo fi(url);
61
Q_ASSERT(fi.exists());
62
QDir dir = fi.dir();
63
QString implicitImport = dir.canonicalPath();
// resolves symlinks, etc.
64
if
(implicitImport.isEmpty()) {
65
fprintf(stderr,
"Cannot resolve implicit import directory of \"%s\""
,
66
qPrintable(QDir::toNativeSeparators(fi.absoluteFilePath())));
67
return
QString();
68
}
69
return
implicitImport;
70
}
71
72
}
// namespace QQmltc
73
74
QT_END_NAMESPACE
QQmltc
Definition
qqmltccodewriter.cpp:19
QQmltc::getImplicitImportDirectory
QString getImplicitImportDirectory(const QString &url)
Definition
qqmltccommandlineutils.cpp:58
QQmltc::parseUrlArgument
QString parseUrlArgument(const QString &arg)
Definition
qqmltccommandlineutils.cpp:17
QQmltc::loadUrl
QString loadUrl(const QString &url)
Definition
qqmltccommandlineutils.cpp:31
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtdeclarative
src
qmltc
qqmltccommandlineutils.cpp
Generated on
for Qt by
1.18.0