diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2020-11-16 16:34:56 +0100 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2021-05-27 17:34:11 +0200 |
commit | f9421abbdf4d2e2be06febf9f75a2b62e6875835 (patch) | |
tree | 9cdd7d567f949fa21c1bb079cfaa6c6071e161e8 /src/imports | |
parent | 85a74d5cb68b11a1152b00d3e4a0e8dc9998b31c (diff) |
Add QtQuick.Dialogs
[ChangeLog][QtQuickDialogs] Added FileDialog. This is a native
FileDialog on platforms that support it, and a non-native
Qt Quick FileDialog on platforms that don't.
Fixes: QTBUG-87797
Change-Id: Ia3a98b616479b818c96c232a0329750023079642
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/imports/dialogs/CMakeLists.txt | 29 | ||||
-rw-r--r-- | src/imports/dialogs/doc/images/qtquickdialogs-filedialog-gtk.png | bin | 0 -> 39560 bytes | |||
-rw-r--r-- | src/imports/dialogs/doc/qtquickdialogs.qdocconf | 40 | ||||
-rw-r--r-- | src/imports/dialogs/doc/src/includes/fallback.qdocinc | 1 | ||||
-rw-r--r-- | src/imports/dialogs/qmldir | 3 | ||||
-rw-r--r-- | src/imports/dialogs/qtquickdialogsplugin.cpp | 60 |
7 files changed, 134 insertions, 0 deletions
diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt index 1d9b7814..d056a899 100644 --- a/src/imports/CMakeLists.txt +++ b/src/imports/CMakeLists.txt @@ -2,6 +2,7 @@ add_subdirectory(controls) add_subdirectory(controlsimpl) +add_subdirectory(dialogs) add_subdirectory(platform) add_subdirectory(templates) add_subdirectory(nativestyle) diff --git a/src/imports/dialogs/CMakeLists.txt b/src/imports/dialogs/CMakeLists.txt new file mode 100644 index 00000000..f96fd9ff --- /dev/null +++ b/src/imports/dialogs/CMakeLists.txt @@ -0,0 +1,29 @@ +qt_internal_add_qml_module(qtquickdialogsplugin + URI "QtQuick.Dialogs" + VERSION "${CMAKE_PROJECT_VERSION}" + CLASSNAME QtQuickDialogsPlugin + SKIP_TYPE_REGISTRATION + SOURCES + qtquickdialogsplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + INCLUDE_DIRECTORIES + quick + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickDialogs2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +qt_internal_add_docs(qtquickdialogsplugin + doc/qtquickdialogs.qdocconf +) diff --git a/src/imports/dialogs/doc/images/qtquickdialogs-filedialog-gtk.png b/src/imports/dialogs/doc/images/qtquickdialogs-filedialog-gtk.png Binary files differnew file mode 100644 index 00000000..9360d747 --- /dev/null +++ b/src/imports/dialogs/doc/images/qtquickdialogs-filedialog-gtk.png diff --git a/src/imports/dialogs/doc/qtquickdialogs.qdocconf b/src/imports/dialogs/doc/qtquickdialogs.qdocconf new file mode 100644 index 00000000..575c84d0 --- /dev/null +++ b/src/imports/dialogs/doc/qtquickdialogs.qdocconf @@ -0,0 +1,40 @@ +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) +include($QT_INSTALL_DOCS/config/exampleurl-qtquickcontrols2.qdocconf) + +project = QtQuickDialogs +description = Qt Quick Dialogs Reference Documentation +version = $QT_VERSION + +qhp.projects = QtQuickDialogs + +qhp.QtQuickDialogs.file = qtquickdialogs.qhp +qhp.QtQuickDialogs.namespace = org.qt-project.qtquickdialogs.$QT_VERSION_TAG +qhp.QtQuickDialogs.virtualFolder = qtquickdialogs +qhp.QtQuickDialogs.indexTitle = Qt Quick Dialogs +qhp.QtQuickDialogs.indexRoot = + +qhp.QtQuickDialogs.filterAttributes = qtquickdialogs $QT_VERSION qtrefdoc +qhp.QtQuickDialogs.customFilters.Qt.name = QtQuickDialogs $QT_VERSION +qhp.QtQuickDialogs.customFilters.Qt.filterAttributes = qtquickdialogs $QT_VERSION + +qhp.QtQuickDialogs.subprojects = qmltypes +qhp.QtQuickDialogs.subprojects.qmltypes.title = QML Types +qhp.QtQuickDialogs.subprojects.qmltypes.indexTitle = Qt Quick Dialogs QML Types +qhp.QtQuickDialogs.subprojects.qmltypes.selectors = qmlclass +qhp.QtQuickDialogs.subprojects.qmltypes.sortPages = true + +depends = qtcore qtgui qtdoc qtqml qtquick qtquickcontrols + +# This module has no documented C++ types, clear the module header +moduleheader = + +headerdirs += ../../../quickdialogs2/quickdialogs2 +sourcedirs += ../../../quickdialogs2/quickdialogs2 \ + src + +imagedirs += images + +navigation.landingpage = "Qt Quick Dialogs" +navigation.qmltypespage = "Qt Quick Dialogs QML Types" + +tagfile = qtquickdialogs.tags diff --git a/src/imports/dialogs/doc/src/includes/fallback.qdocinc b/src/imports/dialogs/doc/src/includes/fallback.qdocinc new file mode 100644 index 00000000..f3a4a180 --- /dev/null +++ b/src/imports/dialogs/doc/src/includes/fallback.qdocinc @@ -0,0 +1 @@ +Qt Quick Dialogs uses a Qt Quick implementation as a fallback on platforms that do not have a native implementation available. diff --git a/src/imports/dialogs/qmldir b/src/imports/dialogs/qmldir new file mode 100644 index 00000000..11d5bcdf --- /dev/null +++ b/src/imports/dialogs/qmldir @@ -0,0 +1,3 @@ +module QtQuick.Dialogs +plugin qtquickdialogsplugin +classname QtQuickDialogsPlugin diff --git a/src/imports/dialogs/qtquickdialogsplugin.cpp b/src/imports/dialogs/qtquickdialogsplugin.cpp new file mode 100644 index 00000000..9bc06c25 --- /dev/null +++ b/src/imports/dialogs/qtquickdialogsplugin.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Labs Templates module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtQml/qqmlextensionplugin.h> +#include <QtQml/qqml.h> +#include <QtQuickDialogs2/private/qtquickdialogs2global_p.h> + +QT_BEGIN_NAMESPACE + +class QtQuickDialogsPlugin: public QQmlEngineExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) + +public: + QtQuickDialogsPlugin(QObject *parent = nullptr); +}; + +QtQuickDialogsPlugin::QtQuickDialogsPlugin(QObject *parent) : QQmlEngineExtensionPlugin(parent) +{ + volatile auto registration = &qml_register_types_QtQuick_Dialogs; + Q_UNUSED(registration) +} + +QT_END_NAMESPACE + +#include "qtquickdialogsplugin.moc" |