aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs2
diff options
context:
space:
mode:
authorMitch Curtis <[email protected]>2021-08-12 14:39:51 +0200
committerMitch Curtis <[email protected]>2021-08-16 12:52:59 +0200
commit809339d1484cf556512534367b8170bc26baf072 (patch)
tree12871313b658f36d058b5ef25af1e247e9c46ce9 /src/quickdialogs2
parentb01b4f00eae8022c6a97d90f54dac395144ae095 (diff)
Remove qtquickcontrols2 sources and explain where they wentHEADdev
Now that qtquickcontrols2 has been merged into qtdeclarative, we should make it obvious that this repo should no longer be used, by preventing it from being built. Task-number: QTBUG-95173 Pick-to: 6.2 Change-Id: I95bd6a214f3d75a865ab163ee0a1f9ffbeb7a051 Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'src/quickdialogs2')
-rw-r--r--src/quickdialogs2/CMakeLists.txt3
-rw-r--r--src/quickdialogs2/quickdialogs2/CMakeLists.txt36
-rw-r--r--src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-filedialog-gtk.pngbin39560 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-fontdialog-gtk.pngbin32399 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2/doc/qtquickdialogs.qdocconf41
-rw-r--r--src/quickdialogs2/quickdialogs2/doc/src/includes/fallback.qdocinc1
-rw-r--r--src/quickdialogs2/quickdialogs2/doc/src/qtquickdialogs-module.qdoc44
-rw-r--r--src/quickdialogs2/quickdialogs2/qquickabstractdialog.cpp454
-rw-r--r--src/quickdialogs2/quickdialogs2/qquickabstractdialog_p.h161
-rw-r--r--src/quickdialogs2/quickdialogs2/qquickfiledialog.cpp615
-rw-r--r--src/quickdialogs2/quickdialogs2/qquickfiledialog_p.h165
-rw-r--r--src/quickdialogs2/quickdialogs2/qquickfontdialog.cpp227
-rw-r--r--src/quickdialogs2/quickdialogs2/qquickfontdialog_p.h101
-rw-r--r--src/quickdialogs2/quickdialogs2/qtquickdialogs2foreign_p.h75
-rw-r--r--src/quickdialogs2/quickdialogs2/qtquickdialogs2global_p.h68
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/CMakeLists.txt137
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.pngbin119 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.svg136
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin268 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin360 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin422 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.pngbin135 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.svg134
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin160 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin179 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin196 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.pngbin238 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.svg117
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin396 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin546 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin698 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.pngbin193 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.svg83
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin294 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin395 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin474 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.pngbin205 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.svg93
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin306 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin431 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin574 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.pngbin165 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.svg74
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin194 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin241 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin256 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-disabled.9.pngbin114 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin123 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin127 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin132 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-focused.9.pngbin114 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin123 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin127 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin132 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-highlighted.9.pngbin114 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin123 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin127 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin132 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-pressed.9.pngbin114 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin123 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin127 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin132 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.9.pngbin113 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.svg358
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin123 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin127 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]bin132 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.pngbin281 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.svg86
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin355 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin453 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin569 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.pngbin171 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.svg79
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin212 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin251 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin274 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.pngbin138 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.svg72
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin163 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin183 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]bin204 -> 0 bytes
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialog.qml196
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialogDelegate.qml88
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FolderBreadcrumbBar.qml107
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FontDialog.qml151
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialog.qml190
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialogDelegate.qml100
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FolderBreadcrumbBar.qml91
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FontDialog.qml167
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialog.qml163
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialogDelegate.qml95
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FolderBreadcrumbBar.qml103
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FontDialog.qml142
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialog.qml165
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialogDelegate.qml93
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FolderBreadcrumbBar.qml101
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FontDialog.qml144
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialog.qml183
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegate.qml89
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegateLabel.qml98
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/FolderBreadcrumbBar.qml102
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialog.qml148
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialogContent.qml267
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory.cpp84
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory_p.h67
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp163
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate_p.h93
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl.cpp564
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p.h168
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p_p.h109
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar.cpp784
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p.h126
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p_p.h113
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl.cpp836
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p.h215
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p_p.h104
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog.cpp226
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog_p.h91
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog.cpp173
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog_p.h86
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplforeign_p.h115
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplglobal_p.h68
-rw-r--r--src/quickdialogs2/quickdialogs2utils/CMakeLists.txt23
-rw-r--r--src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter.cpp158
-rw-r--r--src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter_p.h102
-rw-r--r--src/quickdialogs2/quickdialogs2utils/qtquickdialogs2utilsglobal_p.h67
127 files changed, 0 insertions, 10878 deletions
diff --git a/src/quickdialogs2/CMakeLists.txt b/src/quickdialogs2/CMakeLists.txt
deleted file mode 100644
index 88ae9633..00000000
--- a/src/quickdialogs2/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-add_subdirectory(quickdialogs2utils)
-add_subdirectory(quickdialogs2quickimpl)
-add_subdirectory(quickdialogs2)
diff --git a/src/quickdialogs2/quickdialogs2/CMakeLists.txt b/src/quickdialogs2/quickdialogs2/CMakeLists.txt
deleted file mode 100644
index b73561b4..00000000
--- a/src/quickdialogs2/quickdialogs2/CMakeLists.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-#####################################################################
-## QuickDialogs2 Module:
-#####################################################################
-
-qt_internal_add_qml_module(QuickDialogs2
- URI "QtQuick.Dialogs"
- VERSION "${PROJECT_VERSION}"
- CLASS_NAME QtQuickDialogsPlugin
- PLUGIN_TARGET qtquickdialogsplugin
- SOURCES
- qquickabstractdialog.cpp
- qquickabstractdialog_p.h
- qquickfiledialog.cpp
- qquickfiledialog_p.h
- qquickfontdialog.cpp
- qquickfontdialog_p.h
- qtquickdialogs2foreign_p.h
- qtquickdialogs2global_p.h
- DEFINES
- QT_BUILD_QUICKDIALOGS2_LIB
- QT_NO_CAST_FROM_ASCII
- QT_NO_CAST_TO_ASCII
- INCLUDE_DIRECTORIES
- ${CMAKE_CURRENT_SOURCE_DIR}
- LIBRARIES
- Qt::CorePrivate
- Qt::GuiPrivate
- Qt::QmlPrivate
- Qt::QuickPrivate
- Qt::QuickDialogs2UtilsPrivate
- Qt::QuickDialogs2QuickImplPrivate
-)
-
-qt_internal_add_docs(QuickDialogs2
- doc/qtquickdialogs.qdocconf
-)
diff --git a/src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-filedialog-gtk.png b/src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-filedialog-gtk.png
deleted file mode 100644
index 9360d747..00000000
--- a/src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-filedialog-gtk.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-fontdialog-gtk.png b/src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-fontdialog-gtk.png
deleted file mode 100644
index 0c6217bd..00000000
--- a/src/quickdialogs2/quickdialogs2/doc/images/qtquickdialogs-fontdialog-gtk.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2/doc/qtquickdialogs.qdocconf b/src/quickdialogs2/quickdialogs2/doc/qtquickdialogs.qdocconf
deleted file mode 100644
index 87296d6f..00000000
--- a/src/quickdialogs2/quickdialogs2/doc/qtquickdialogs.qdocconf
+++ /dev/null
@@ -1,41 +0,0 @@
-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 QML Types
-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 += ..
-sourcedirs += .. \
- src
-
-imagedirs += images
-
-navigation.landingpage = "Qt Quick Dialogs QML Types"
-navigation.landingtitle = "Qt Quick Dialogs"
-navigation.qmltypespage = "Qt Quick Dialogs QML Types"
-
-tagfile = qtquickdialogs.tags
diff --git a/src/quickdialogs2/quickdialogs2/doc/src/includes/fallback.qdocinc b/src/quickdialogs2/quickdialogs2/doc/src/includes/fallback.qdocinc
deleted file mode 100644
index f3a4a180..00000000
--- a/src/quickdialogs2/quickdialogs2/doc/src/includes/fallback.qdocinc
+++ /dev/null
@@ -1 +0,0 @@
-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/quickdialogs2/quickdialogs2/doc/src/qtquickdialogs-module.qdoc b/src/quickdialogs2/quickdialogs2/doc/src/qtquickdialogs-module.qdoc
deleted file mode 100644
index 4ee8b8b1..00000000
--- a/src/quickdialogs2/quickdialogs2/doc/src/qtquickdialogs-module.qdoc
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \qmlmodule QtQuick.Dialogs
- \title Qt Quick Dialogs QML Types
- \brief Provides native dialogs with a Qt Quick fallback on platforms that
- do not provide a native implementation.
- \since 6.2
-
- \include includes/fallback.qdocinc
-
- To use types in this module, use the following import statement:
-
- \badcode
- import QtQuick.Dialogs
- \endcode
-
- \section1 QML Types
-*/
diff --git a/src/quickdialogs2/quickdialogs2/qquickabstractdialog.cpp b/src/quickdialogs2/quickdialogs2/qquickabstractdialog.cpp
deleted file mode 100644
index 262e2ee3..00000000
--- a/src/quickdialogs2/quickdialogs2/qquickabstractdialog.cpp
+++ /dev/null
@@ -1,454 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickabstractdialog_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuickDialogs2QuickImpl/private/qquickdialogimplfactory_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcDialogs, "qt.quick.dialogs")
-
-/*!
- \internal
-
- A dialog that can be backed by different implementations.
-
- Each dialog has a handle to QPlatformDialogHelper, which is created in create().
- The helper acts as an intermediary between the QML-facing dialog object
- and the native/widget/quick implementation:
-
- +------------+ +------------------------------------+ +-------------------------------------+
- | | | | | |
- | FileDialog |----->| Native/Widget/Quick QPlatformFile- |----->| Native OS dialog/QQuickFileDialog/ |
- | | | DialogHelper subclass | | QQuickFileDialogImpl |
- | | | | | |
- +------------+ +------------------------------------+ +-------------------------------------+
-*/
-
-/*!
- \qmltype Dialog
- \inherits QtObject
-//! \instantiates QQuickAbstractDialog
- \inqmlmodule QtQuick.Dialogs
- \since 6.2
- \brief The base class of native dialogs.
-
- The Dialog type provides common QML API for native platform dialogs.
-
- To show a native dialog, construct an instance of one of the concrete
- Dialog implementations, set the desired properties, and call \l open().
- Dialog emits \l accepted() or \l rejected() when the user is done with
- the dialog.
-*/
-
-/*!
- \qmlsignal void QtQuick.Dialogs::Dialog::accepted()
-
- This signal is emitted when the dialog has been accepted either
- interactively or by calling \l accept().
-
- \note This signal is \e not emitted when closing the dialog with \l close().
-
- \sa rejected()
-*/
-
-/*!
- \qmlsignal void QtQuick.Dialogs::Dialog::rejected()
-
- This signal is emitted when the dialog has been rejected either
- interactively or by calling \l reject().
-
- \note This signal is \e not emitted when closing the dialog with \l close().
-
- \sa accepted()
-*/
-
-Q_DECLARE_LOGGING_CATEGORY(lcDialogs)
-
-QQuickAbstractDialog::QQuickAbstractDialog(QPlatformTheme::DialogType type, QObject *parent)
- : QObject(parent),
- m_type(type)
-{
-}
-
-QQuickAbstractDialog::~QQuickAbstractDialog()
-{
- destroy();
-}
-
-QPlatformDialogHelper *QQuickAbstractDialog::handle() const
-{
- return m_handle.get();
-}
-
-/*!
- \qmldefault
- \qmlproperty list<Object> QtQuick.Dialogs::Dialog::data
-
- This default property holds the list of all objects declared as children of
- the dialog.
-*/
-QQmlListProperty<QObject> QQuickAbstractDialog::data()
-{
- return QQmlListProperty<QObject>(this, &m_data);
-}
-
-/*!
- \qmlproperty Window QtQuick.Dialogs::Dialog::parentWindow
-
- This property holds the parent window of the dialog.
-
- Unless explicitly set, the window is automatically resolved by iterating
- the QML parent objects until a \l Window or an \l Item that has a window
- is found.
-*/
-QWindow *QQuickAbstractDialog::parentWindow() const
-{
- return m_parentWindow;
-}
-
-void QQuickAbstractDialog::setParentWindow(QWindow *window)
-{
- qCDebug(lcDialogs) << "set parent window to" << window;
- if (m_parentWindow == window)
- return;
-
- m_parentWindow = window;
- emit parentWindowChanged();
-}
-
-/*!
- \qmlproperty string QtQuick.Dialogs::Dialog::title
-
- This property holds the title of the dialog.
-*/
-QString QQuickAbstractDialog::title() const
-{
- return m_title;
-}
-
-void QQuickAbstractDialog::setTitle(const QString &title)
-{
- if (m_title == title)
- return;
-
- m_title = title;
- emit titleChanged();
-}
-
-/*!
- \qmlproperty Qt::WindowFlags QtQuick.Dialogs::Dialog::flags
-
- This property holds the window flags of the dialog. The default value is \c Qt.Dialog.
-*/
-Qt::WindowFlags QQuickAbstractDialog::flags() const
-{
- return m_flags;
-}
-
-void QQuickAbstractDialog::setFlags(Qt::WindowFlags flags)
-{
- if (m_flags == flags)
- return;
-
- m_flags = flags;
- emit flagsChanged();
-}
-
-/*!
- \qmlproperty Qt::WindowModality QtQuick.Dialogs::Dialog::modality
-
- This property holds the modality of the dialog. The default value is \c Qt.WindowModal.
-
- Available values:
- \value Qt.NonModal The dialog is not modal and does not block input to other windows.
- \value Qt.WindowModal The dialog is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
- \value Qt.ApplicationModal The dialog is modal to the application and blocks input to all windows.
-*/
-Qt::WindowModality QQuickAbstractDialog::modality() const
-{
- return m_modality;
-}
-
-void QQuickAbstractDialog::setModality(Qt::WindowModality modality)
-{
- if (m_modality == modality)
- return;
-
- m_modality = modality;
- emit modalityChanged();
-}
-
-/*!
- \qmlproperty bool QtQuick.Dialogs::Dialog::visible
-
- This property holds the visibility of the dialog. The default value is \c false.
-
- \sa open(), close()
-*/
-bool QQuickAbstractDialog::isVisible() const
-{
- return m_handle && m_visible;
-}
-
-void QQuickAbstractDialog::setVisible(bool visible)
-{
- qCDebug(lcDialogs) << "setVisible called with" << visible;
-
- if (visible) {
- // Don't try to open before component completion, as we won't have a window yet,
- // and open() sets m_visible to false if it fails.
- if (!m_complete)
- m_visibleRequested = true;
- else
- open();
- } else {
- close();
- }
-}
-
-/*!
- \qmlproperty StandardCode QtQuick.Dialogs::Dialog::result
-
- This property holds the result code.
-
- Standard result codes:
- \value Dialog.Accepted
- \value Dialog.Rejected
-
- \note MessageDialog sets the result to the value of the clicked standard
- button instead of using the standard result codes.
-*/
-QQuickAbstractDialog::StandardCode QQuickAbstractDialog::result() const
-{
- return m_result;
-}
-
-void QQuickAbstractDialog::setResult(StandardCode result)
-{
- if (m_result == result)
- return;
-
- m_result = result;
- emit resultChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Dialogs::Dialog::open()
-
- Opens the dialog.
-
- \sa visible, close()
-*/
-void QQuickAbstractDialog::open()
-{
- qCDebug(lcDialogs) << "open called";
- if (m_visible || !create())
- return;
-
- onShow(m_handle.get());
- m_visible = m_handle->show(m_flags, m_modality, m_parentWindow);
- if (m_visible)
- emit visibleChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Dialogs::Dialog::close()
-
- Closes the dialog.
-
- \sa visible, open()
-*/
-void QQuickAbstractDialog::close()
-{
- if (!m_handle || !m_visible)
- return;
-
- onHide(m_handle.get());
- m_handle->hide();
- m_visible = false;
- emit visibleChanged();
-}
-
-/*!
- \qmlmethod void QtQuick.Dialogs::Dialog::accept()
-
- Closes the dialog and emits the \l accepted() signal.
-
- \sa reject()
-*/
-void QQuickAbstractDialog::accept()
-{
- done(Accepted);
-}
-
-/*!
- \qmlmethod void QtQuick.Dialogs::Dialog::reject()
-
- Closes the dialog and emits the \l rejected() signal.
-
- \sa accept()
-*/
-void QQuickAbstractDialog::reject()
-{
- done(Rejected);
-}
-
-/*!
- \qmlmethod void QtQuick.Dialogs::Dialog::done(StandardCode result)
-
- Closes the dialog and sets the \a result.
-
- \sa accept(), reject(), result
-*/
-void QQuickAbstractDialog::done(StandardCode result)
-{
- close();
- setResult(result);
-
- if (result == Accepted)
- emit accepted();
- else if (result == Rejected)
- emit rejected();
-}
-
-void QQuickAbstractDialog::classBegin()
-{
-}
-
-void QQuickAbstractDialog::componentComplete()
-{
- qCDebug(lcDialogs) << "componentComplete";
- m_complete = true;
-
- if (!m_parentWindow) {
- qCDebug(lcDialogs) << "- no parent window; searching for one";
- setParentWindow(findParentWindow());
- }
-
- if (m_visibleRequested) {
- qCDebug(lcDialogs) << "visible was bound to true before component completion; opening dialog";
- open();
- m_visibleRequested = false;
- }
-}
-
-static const char *qmlTypeName(const QObject *object)
-{
- return object->metaObject()->className() + qstrlen("QQuickPlatform");
-}
-
-bool QQuickAbstractDialog::create()
-{
- qCDebug(lcDialogs) << qmlTypeName(this) << "attempting to create dialog backend of type"
- << m_type << "with parent window" << m_parentWindow;
- if (m_handle)
- return m_handle.get();
-
- qCDebug(lcDialogs) << "- attempting to create a native dialog";
- if (useNativeDialog())
- m_handle.reset(QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(m_type));
-
- if (!m_handle) {
- qCDebug(lcDialogs) << "- attempting to create a quick dialog";
- m_handle.reset(QQuickDialogImplFactory::createPlatformDialogHelper(m_type, this));
- }
-
- qCDebug(lcDialogs) << qmlTypeName(this) << "created ->" << m_handle.get();
- if (m_handle) {
- onCreate(m_handle.get());
- connect(m_handle.get(), &QPlatformDialogHelper::accept, this, &QQuickAbstractDialog::accept);
- connect(m_handle.get(), &QPlatformDialogHelper::reject, this, &QQuickAbstractDialog::reject);
- }
- return m_handle.get();
-}
-
-void QQuickAbstractDialog::destroy()
-{
- m_handle.reset();
-}
-
-bool QQuickAbstractDialog::useNativeDialog() const
-{
- if (QCoreApplication::testAttribute(Qt::AA_DontUseNativeDialogs)) {
- qCDebug(lcDialogs) << " - Qt::AA_DontUseNativeDialogs was set; not using native dialog";
- return false;
- }
-
- if (!QGuiApplicationPrivate::platformTheme()->usePlatformNativeDialog(m_type)) {
- qCDebug(lcDialogs) << " - the platform theme told us a native dialog isn't available; not using native dialog";
- return false;
- }
-
- return true;
-}
-
-void QQuickAbstractDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- Q_UNUSED(dialog);
-}
-
-void QQuickAbstractDialog::onShow(QPlatformDialogHelper *dialog)
-{
- Q_UNUSED(dialog);
-}
-
-void QQuickAbstractDialog::onHide(QPlatformDialogHelper *dialog)
-{
- Q_UNUSED(dialog);
-}
-
-QWindow *QQuickAbstractDialog::findParentWindow() const
-{
- QObject *obj = parent();
- while (obj) {
- QWindow *window = qobject_cast<QWindow *>(obj);
- if (window)
- return window;
- QQuickItem *item = qobject_cast<QQuickItem *>(obj);
- if (item && item->window())
- return item->window();
- obj = obj->parent();
- }
- return nullptr;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2/qquickabstractdialog_p.h b/src/quickdialogs2/quickdialogs2/qquickabstractdialog_p.h
deleted file mode 100644
index 07e9ffbf..00000000
--- a/src/quickdialogs2/quickdialogs2/qquickabstractdialog_p.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKABSTRACTDIALOG_P_H
-#define QQUICKABSTRACTDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <memory>
-
-#include <QtCore/qobject.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-#include <QtQml/qqmlparserstatus.h>
-#include <QtQml/qqmllist.h>
-#include <QtQml/qqml.h>
-
-#include "qtquickdialogs2global_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWindow;
-class QPlatformDialogHelper;
-
-class Q_QUICKDIALOGS2_PRIVATE_EXPORT QQuickAbstractDialog : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QQmlListProperty<QObject> data READ data FINAL)
- Q_PROPERTY(QWindow *parentWindow READ parentWindow WRITE setParentWindow NOTIFY parentWindowChanged FINAL)
- Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
- Q_PROPERTY(Qt::WindowFlags flags READ flags WRITE setFlags NOTIFY flagsChanged FINAL)
- Q_PROPERTY(Qt::WindowModality modality READ modality WRITE setModality NOTIFY modalityChanged FINAL)
- Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
- Q_PROPERTY(StandardCode result READ result WRITE setResult NOTIFY resultChanged FINAL)
- Q_CLASSINFO("DefaultProperty", "data")
- Q_MOC_INCLUDE(<QtGui/qwindow.h>)
- QML_ANONYMOUS
- QML_ADDED_IN_VERSION(6, 2)
-
-public:
- explicit QQuickAbstractDialog(QPlatformTheme::DialogType type, QObject *parent = nullptr);
- ~QQuickAbstractDialog();
-
- QPlatformDialogHelper *handle() const;
-
- QQmlListProperty<QObject> data();
-
- QWindow *parentWindow() const;
- void setParentWindow(QWindow *window);
-
- QString title() const;
- void setTitle(const QString &title);
-
- Qt::WindowFlags flags() const;
- void setFlags(Qt::WindowFlags flags);
-
- Qt::WindowModality modality() const;
- void setModality(Qt::WindowModality modality);
-
- bool isVisible() const;
- void setVisible(bool visible);
-
- enum StandardCode { Rejected, Accepted };
- Q_ENUM(StandardCode)
-
- StandardCode result() const;
- void setResult(StandardCode result);
-
-public Q_SLOTS:
- void open();
- void close();
- virtual void accept();
- virtual void reject();
- virtual void done(StandardCode result);
-
-Q_SIGNALS:
- void accepted();
- void rejected();
- void parentWindowChanged();
- void titleChanged();
- void flagsChanged();
- void modalityChanged();
- void visibleChanged();
- void resultChanged();
-
-protected:
- void classBegin() override;
- void componentComplete() override;
-
- bool create();
- void destroy();
-
- virtual bool useNativeDialog() const;
- virtual void onCreate(QPlatformDialogHelper *dialog);
- virtual void onShow(QPlatformDialogHelper *dialog);
- virtual void onHide(QPlatformDialogHelper *dialog);
-
- QWindow *findParentWindow() const;
-
-private:
- bool m_visibleRequested = false;
- bool m_visible = false;
- bool m_complete = false;
- StandardCode m_result = Rejected;
- QWindow *m_parentWindow = nullptr;
- QString m_title;
- Qt::WindowFlags m_flags = Qt::Dialog;
- Qt::WindowModality m_modality = Qt::WindowModal;
- QPlatformTheme::DialogType m_type;
- QList<QObject *> m_data;
- std::unique_ptr<QPlatformDialogHelper> m_handle;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickAbstractDialog)
-
-#endif // QQUICKABSTRACTDIALOG_P_H
diff --git a/src/quickdialogs2/quickdialogs2/qquickfiledialog.cpp b/src/quickdialogs2/quickdialogs2/qquickfiledialog.cpp
deleted file mode 100644
index a8df0bd6..00000000
--- a/src/quickdialogs2/quickdialogs2/qquickfiledialog.cpp
+++ /dev/null
@@ -1,615 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickfiledialog_p.h"
-
-#include <QtCore/qlist.h>
-#include <QtCore/qloggingcategory.h>
-#include <QtQml/qqmlfile.h>
-
-#include <QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcFileDialog, "qt.quick.dialogs.filedialog")
-
-/*!
- \qmltype FileDialog
- \inherits Dialog
-//! \instantiates QQuickFileDialog
- \inqmlmodule QtQuick.Dialogs
- \since 6.2
- \brief A file dialog.
-
- The FileDialog type provides a QML API for file dialogs.
-
- \image qtquickdialogs-filedialog-gtk.png
-
- To show a file dialog, construct an instance of FileDialog, set the
- desired properties, and call \l {Dialog::}{open()}. The \l currentFile
- or \l currentFiles properties can be used to determine the currently
- selected file(s) in the dialog. The \l selectedFile and \l selectedFiles
- properties are updated only after the final selection has been made by
- accepting the dialog.
-
- \code
- MenuItem {
- text: "Open..."
- onTriggered: fileDialog.open()
- }
-
- FileDialog {
- id: fileDialog
- currentFile: document.source
- folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
- }
-
- MyDocument {
- id: document
- source: fileDialog.file
- }
- \endcode
-
- \section2 Availability
-
- A native platform file dialog is currently available on the following platforms:
-
- \list
- \li iOS
- \li Linux (when running with the GTK+ platform theme)
- \li macOS
- \li Windows
- \endlist
-
- \include includes/fallback.qdocinc
-
- //! \sa FolderDialog, StandardPaths
-*/
-
-Q_DECLARE_LOGGING_CATEGORY(lcDialogs)
-
-QQuickFileDialog::QQuickFileDialog(QObject *parent)
- : QQuickAbstractDialog(QPlatformTheme::FileDialog, parent),
- m_fileMode(OpenFile),
- m_options(QFileDialogOptions::create()),
- m_selectedNameFilter(nullptr)
-{
- m_options->setFileMode(QFileDialogOptions::ExistingFile);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
-}
-
-/*!
- \qmlproperty enumeration QtQuick.Dialogs::FileDialog::fileMode
-
- This property holds the mode of the dialog.
-
- Available values:
- \value FileDialog.OpenFile The dialog is used to select an existing file (default).
- \value FileDialog.OpenFiles The dialog is used to select multiple existing files.
- \value FileDialog.SaveFile The dialog is used to select any file. The file does not have to exist.
-*/
-QQuickFileDialog::FileMode QQuickFileDialog::fileMode() const
-{
- return m_fileMode;
-}
-
-void QQuickFileDialog::setFileMode(FileMode mode)
-{
- qCDebug(lcFileDialog) << "setFileMode called with" << mode;
- if (mode == m_fileMode)
- return;
-
- switch (mode) {
- case OpenFile:
- m_options->setFileMode(QFileDialogOptions::ExistingFile);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
- break;
- case OpenFiles:
- m_options->setFileMode(QFileDialogOptions::ExistingFiles);
- m_options->setAcceptMode(QFileDialogOptions::AcceptOpen);
- break;
- case SaveFile:
- m_options->setFileMode(QFileDialogOptions::AnyFile);
- m_options->setAcceptMode(QFileDialogOptions::AcceptSave);
- break;
- default:
- break;
- }
-
- m_fileMode = mode;
- emit fileModeChanged();
-}
-
-/*!
- \qmlproperty url QtQuick.Dialogs::FileDialog::selectedFile
- \readonly
-
- This property holds the final accepted file.
-
- If there are multiple selected files, this property refers to the first
- file.
-
- Unlike the \l currentFile property, the \c selectedFile property is not
- updated while the user is selecting files in the dialog, but only after the
- final selection has been made. That is, when the user has clicked
- \uicontrol OK to accept a file. Alternatively, the
- \l {Dialog::}{accepted()} signal can be handled to get the final selection.
-
- \sa selectedFiles, currentFile, {Dialog::}{accepted()}, currentFolder
-*/
-QUrl QQuickFileDialog::selectedFile() const
-{
- return addDefaultSuffix(m_selectedFiles.value(0));
-}
-
-/*!
- \qmlproperty list<url> QtQuick.Dialogs::FileDialog::selectedFiles
-
- This property holds the final accepted files.
-
- Unlike the \l currentFiles property, the \c selectedFiles property is not
- updated while the user is selecting files in the dialog, but only after the
- final selection has been made. That is, when the user has clicked
- \uicontrol OK to accept files. Alternatively, the \l {Dialog::}{accepted()}
- signal can be handled to get the final selection.
-
- \sa currentFiles, {Dialog::}{accepted()}, currentFolder
-*/
-QList<QUrl> QQuickFileDialog::selectedFiles() const
-{
- return addDefaultSuffixes(m_selectedFiles);
-}
-
-void QQuickFileDialog::setSelectedFiles(const QList<QUrl> &selectedFiles)
-{
- if (m_selectedFiles == selectedFiles)
- return;
-
- bool firstChanged = m_selectedFiles.value(0) != selectedFiles.value(0);
- m_selectedFiles = selectedFiles;
- if (firstChanged)
- emit selectedFileChanged();
- emit selectedFilesChanged();
-}
-
-/*!
- \qmlproperty url QtQuick.Dialogs::FileDialog::currentFile
-
- This property holds the currently selected file in the dialog.
-
- Unlike the \l selectedFile property, the \c currentFile property is updated
- while the user is selecting files in the dialog, even before the final
- selection has been made.
-
- \sa selectedFile, currentFiles, currentFolder
-*/
-QUrl QQuickFileDialog::currentFile() const
-{
- return currentFiles().value(0);
-}
-
-void QQuickFileDialog::setCurrentFile(const QUrl &file)
-{
- setCurrentFiles(QList<QUrl>() << file);
-}
-
-/*!
- \qmlproperty list<url> QtQuick.Dialogs::FileDialog::currentFiles
-
- This property holds the currently selected files in the dialog.
-
- Unlike the \l selectedFiles property, the \c currentFiles property is
- updated while the user is selecting files in the dialog, even before the
- final selection has been made.
-
- \sa selectedFiles, currentFile, currentFolder
-*/
-QList<QUrl> QQuickFileDialog::currentFiles() const
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- return fileDialog->selectedFiles();
- return m_options->initiallySelectedFiles();
-}
-
-void QQuickFileDialog::setCurrentFiles(const QList<QUrl> &currentFiles)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle())) {
- for (const QUrl &file : currentFiles)
- fileDialog->selectFile(file);
- }
- m_options->setInitiallySelectedFiles(currentFiles);
-}
-
-/*!
- \qmlproperty url QtQuick.Dialogs::FileDialog::currentFolder
-
- This property holds the folder where files are selected. It can be set to
- control the initial directory that is shown when the dialog is opened.
-
-//! TODO: Remove \omit once FolderDialog is available
-\omit
- For selecting a folder, use FolderDialog instead.
-
- \sa FolderDialog
-\endomit
-*/
-QUrl QQuickFileDialog::currentFolder() const
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- return fileDialog->directory();
-
- // If we're not using a native file dialog and the folder is invalid,
- // return the current directory.
- if (!m_options->initialDirectory().isValid())
- return QUrl::fromLocalFile(QDir::currentPath());
-
- return m_options->initialDirectory();
-}
-
-void QQuickFileDialog::setCurrentFolder(const QUrl &currentFolder)
-{
- qCDebug(lcFileDialog) << "setCurrentFolder called with" << currentFolder;
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle()))
- fileDialog->setDirectory(currentFolder);
- m_options->setInitialDirectory(currentFolder);
-}
-
-/*!
- \qmlproperty flags QtQuick.Dialogs::FileDialog::options
-
- This property holds the various options that affect the look and feel of the dialog.
-
- By default, all options are disabled.
-
- Options should be set before showing the dialog. Setting them while the dialog is
- visible is not guaranteed to have an immediate effect on the dialog (depending on
- the option and on the platform).
-
- Available options:
- \value FileDialog.DontResolveSymlinks Don't resolve symlinks in the file dialog. By default symlinks are resolved.
- \value FileDialog.DontConfirmOverwrite Don't ask for confirmation if an existing file is selected. By default confirmation is requested.
- \value FileDialog.ReadOnly Indicates that the dialog doesn't allow creating directories.
- \value FileDialog.HideNameFilterDetails Indicates if the file name filter details are hidden or not.
-*/
-QFileDialogOptions::FileDialogOptions QQuickFileDialog::options() const
-{
- return m_options->options();
-}
-
-void QQuickFileDialog::setOptions(QFileDialogOptions::FileDialogOptions options)
-{
- if (options == m_options->options())
- return;
-
- m_options->setOptions(options);
- emit optionsChanged();
-}
-
-void QQuickFileDialog::resetOptions()
-{
- setOptions({});
-}
-
-/*!
- \qmlproperty list<string> QtQuick.Dialogs::FileDialog::nameFilters
-
- This property holds the filters that restrict the types of files that
- can be selected.
-
- \code
- FileDialog {
- nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
- }
- \endcode
-
- Different platforms may restrict the files that can be selected in
- different ways. For example, macOS will disable file entries that do not
- match the filters, whereas Windows will hide them.
-
- \note \b{*.*} is not a portable filter, because the historical assumption
- that the file extension determines the file type is not consistent on every
- operating system. It is possible to have a file with no dot in its name (for
- example, \c Makefile). In a native Windows file dialog, \b{*.*} will match
- such files, while in other types of file dialogs it may not. So it is better
- to use \b{*} if you mean to select any file.
-
- \sa selectedNameFilter
-*/
-QStringList QQuickFileDialog::nameFilters() const
-{
- return m_options->nameFilters();
-}
-
-void QQuickFileDialog::setNameFilters(const QStringList &filters)
-{
- qCDebug(lcFileDialog).nospace() << "setNameFilters called with " << filters
- << " (old filters were: " << m_options->nameFilters() << ")";
- if (filters == m_options->nameFilters())
- return;
-
- m_options->setNameFilters(filters);
- if (m_selectedNameFilter) {
- int index = m_selectedNameFilter->index();
- if (index < 0 || index >= filters.count())
- index = 0;
- m_selectedNameFilter->update(filters.value(index));
- }
- emit nameFiltersChanged();
-}
-
-void QQuickFileDialog::resetNameFilters()
-{
- setNameFilters(QStringList());
-}
-
-/*!
- \qmlproperty int QtQuick.Dialogs::FileDialog::selectedNameFilter.index
- \qmlproperty string QtQuick.Dialogs::FileDialog::selectedNameFilter.name
- \qmlproperty list<string> QtQuick.Dialogs::FileDialog::selectedNameFilter.extensions
- \qmlproperty list<string> QtQuick.Dialogs::FileDialog::selectedNameFilter.globs
-
- These properties hold the currently selected name filter.
-
- \table
- \header
- \li Name
- \li Description
- \row
- \li \b index : int
- \li This property determines which \l {nameFilters}{name filter} is selected.
- The specified filter is selected when the dialog is opened. The value is
- updated when the user selects another filter.
- \row
- \li [read-only] \b name : string
- \li This property holds the name of the selected filter. In the
- example below, the name of the first filter is \c {"Text files"}
- and the second is \c {"HTML files"}.
- \row
- \li [read-only] \b extensions : list<string>
- \li This property holds the list of extensions of the selected filter.
- In the example below, the list of extensions of the first filter is
- \c {["txt"]} and the second is \c {["html", "htm"]}.
- \row
- \li [read-only] \b globs : list<string>
- \li This property holds the list of globs of the selected filter.
- In the example below, the list of globs of the first filter is
- \c {["*.txt"]} and the second is \c {["*.html", "*.htm"]}.
-
- This property is useful in conjunction with \l {FolderListModel}'s
- \l {FolderListModel::}{nameFilters} property, for example.
- \endtable
-
- \code
- FileDialog {
- id: fileDialog
- selectedNameFilter.index: 1
- nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
- }
-
- MyDocument {
- id: document
- fileType: fileDialog.selectedNameFilter.extensions[0]
- }
- \endcode
-
- \sa nameFilters
-*/
-QQuickFileNameFilter *QQuickFileDialog::selectedNameFilter() const
-{
- if (!m_selectedNameFilter) {
- QQuickFileDialog *that = const_cast<QQuickFileDialog *>(this);
- m_selectedNameFilter = new QQuickFileNameFilter(that);
- m_selectedNameFilter->setOptions(m_options);
- }
- return m_selectedNameFilter;
-}
-
-/*!
- \qmlproperty string QtQuick.Dialogs::FileDialog::defaultSuffix
-
- This property holds a suffix that is added to selected files that have
- no suffix specified. The suffix is typically used to indicate the file
- type (e.g. "txt" indicates a text file).
-
- If the first character is a dot ('.'), it is removed.
-*/
-QString QQuickFileDialog::defaultSuffix() const
-{
- return m_options->defaultSuffix();
-}
-
-void QQuickFileDialog::setDefaultSuffix(const QString &suffix)
-{
- if (suffix == m_options->defaultSuffix())
- return;
-
- m_options->setDefaultSuffix(suffix);
- emit defaultSuffixChanged();
-}
-
-void QQuickFileDialog::resetDefaultSuffix()
-{
- setDefaultSuffix(QString());
-}
-
-/*!
- \qmlproperty string QtQuick.Dialogs::FileDialog::acceptLabel
-
- This property holds the label text shown on the button that accepts the dialog.
-
- When set to an empty string, the default label of the underlying platform is used.
- The default label is typically \uicontrol Open or \uicontrol Save depending on which
- \l fileMode the dialog is used in.
-
- The default value is an empty string.
-
- \sa rejectLabel
-*/
-QString QQuickFileDialog::acceptLabel() const
-{
- return m_options->labelText(QFileDialogOptions::Accept);
-}
-
-void QQuickFileDialog::setAcceptLabel(const QString &label)
-{
- if (label == m_options->labelText(QFileDialogOptions::Accept))
- return;
-
- m_options->setLabelText(QFileDialogOptions::Accept, label);
- emit acceptLabelChanged();
-}
-
-void QQuickFileDialog::resetAcceptLabel()
-{
- setAcceptLabel(QString());
-}
-
-/*!
- \qmlproperty string QtQuick.Dialogs::FileDialog::rejectLabel
-
- This property holds the label text shown on the button that rejects the dialog.
-
- When set to an empty string, the default label of the underlying platform is used.
- The default label is typically \uicontrol Cancel.
-
- The default value is an empty string.
-
- \sa acceptLabel
-*/
-QString QQuickFileDialog::rejectLabel() const
-{
- return m_options->labelText(QFileDialogOptions::Reject);
-}
-
-void QQuickFileDialog::setRejectLabel(const QString &label)
-{
- if (label == m_options->labelText(QFileDialogOptions::Reject))
- return;
-
- m_options->setLabelText(QFileDialogOptions::Reject, label);
- emit rejectLabelChanged();
-}
-
-void QQuickFileDialog::resetRejectLabel()
-{
- setRejectLabel(QString());
-}
-
-bool QQuickFileDialog::useNativeDialog() const
-{
- if (!QQuickAbstractDialog::useNativeDialog())
- return false;
-
- if (m_options->testOption(QFileDialogOptions::DontUseNativeDialog)) {
- qCDebug(lcDialogs) << " - the FileDialog was told not to use a native dialog; not using native dialog";
- return false;
- }
-
- return true;
-}
-
-void QQuickFileDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- connect(fileDialog, &QPlatformFileDialogHelper::currentChanged, this, &QQuickFileDialog::currentFileChanged);
- connect(fileDialog, &QPlatformFileDialogHelper::currentChanged, this, &QQuickFileDialog::currentFilesChanged);
- connect(fileDialog, &QPlatformFileDialogHelper::directoryEntered, this, &QQuickFileDialog::currentFolderChanged);
- fileDialog->setOptions(m_options);
- }
-}
-
-void QQuickFileDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- // Ensure that a name filter is always selected.
- int index = selectedNameFilter()->index();
- if (index == -1)
- index = 0;
- const QString filter = m_options->nameFilters().value(index);
- m_options->setInitiallySelectedNameFilter(filter);
-
- fileDialog->setOptions(m_options); // setOptions only assigns a member and isn't virtual
-
- connect(fileDialog, &QPlatformFileDialogHelper::filterSelected, m_selectedNameFilter, &QQuickFileNameFilter::update);
- fileDialog->selectNameFilter(filter);
-
- const QUrl initialDir = m_options->initialDirectory();
- // If it's not valid, or it's a file and not a directory, we shouldn't set it.
- if (m_firstShow && initialDir.isValid() && QDir(QQmlFile::urlToLocalFileOrQrc(initialDir)).exists())
- fileDialog->setDirectory(m_options->initialDirectory());
- }
- if (m_firstShow)
- m_firstShow = false;
-}
-
-void QQuickFileDialog::onHide(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(dialog)) {
- if (m_selectedNameFilter)
- disconnect(fileDialog, &QPlatformFileDialogHelper::filterSelected, m_selectedNameFilter, &QQuickFileNameFilter::update);
- }
-}
-
-void QQuickFileDialog::accept()
-{
- if (QPlatformFileDialogHelper *fileDialog = qobject_cast<QPlatformFileDialogHelper *>(handle())) {
- // Take the currently selected files and make them the final set of files.
- setSelectedFiles(fileDialog->selectedFiles());
- }
- QQuickAbstractDialog::accept();
-}
-
-QUrl QQuickFileDialog::addDefaultSuffix(const QUrl &file) const
-{
- QUrl url = file;
- const QString path = url.path();
- const QString suffix = m_options->defaultSuffix();
- if (!suffix.isEmpty() && !path.endsWith(QLatin1Char('/')) && path.lastIndexOf(QLatin1Char('.')) == -1)
- url.setPath(path + QLatin1Char('.') + suffix);
- return url;
-}
-
-QList<QUrl> QQuickFileDialog::addDefaultSuffixes(const QList<QUrl> &files) const
-{
- QList<QUrl> urls;
- urls.reserve(files.size());
- for (const QUrl &file : files)
- urls += addDefaultSuffix(file);
- return urls;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2/qquickfiledialog_p.h b/src/quickdialogs2/quickdialogs2/qquickfiledialog_p.h
deleted file mode 100644
index 0dccbe72..00000000
--- a/src/quickdialogs2/quickdialogs2/qquickfiledialog_p.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFILEDIALOG_P_H
-#define QQUICKFILEDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qurl.h>
-#include <QtQml/qqml.h>
-
-#include "qquickabstractdialog_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFileNameFilter;
-
-class Q_QUICKDIALOGS2_PRIVATE_EXPORT QQuickFileDialog : public QQuickAbstractDialog
-{
- Q_OBJECT
- Q_PROPERTY(FileMode fileMode READ fileMode WRITE setFileMode NOTIFY fileModeChanged FINAL)
- Q_PROPERTY(QUrl selectedFile READ selectedFile NOTIFY selectedFileChanged FINAL)
- Q_PROPERTY(QList<QUrl> selectedFiles READ selectedFiles NOTIFY selectedFilesChanged FINAL)
- Q_PROPERTY(QUrl currentFile READ currentFile WRITE setCurrentFile NOTIFY currentFileChanged FINAL)
- Q_PROPERTY(QList<QUrl> currentFiles READ currentFiles WRITE setCurrentFiles NOTIFY currentFilesChanged FINAL)
- Q_PROPERTY(QUrl currentFolder READ currentFolder WRITE setCurrentFolder NOTIFY currentFolderChanged FINAL)
- Q_PROPERTY(QFileDialogOptions::FileDialogOptions options READ options WRITE setOptions RESET resetOptions NOTIFY optionsChanged FINAL)
- Q_PROPERTY(QStringList nameFilters READ nameFilters WRITE setNameFilters RESET resetNameFilters NOTIFY nameFiltersChanged FINAL)
- Q_PROPERTY(QQuickFileNameFilter *selectedNameFilter READ selectedNameFilter CONSTANT)
- Q_PROPERTY(QString defaultSuffix READ defaultSuffix WRITE setDefaultSuffix RESET resetDefaultSuffix NOTIFY defaultSuffixChanged FINAL)
- Q_PROPERTY(QString acceptLabel READ acceptLabel WRITE setAcceptLabel RESET resetAcceptLabel NOTIFY acceptLabelChanged FINAL)
- Q_PROPERTY(QString rejectLabel READ rejectLabel WRITE setRejectLabel RESET resetRejectLabel NOTIFY rejectLabelChanged FINAL)
- Q_FLAGS(QFileDialogOptions::FileDialogOptions)
- QML_NAMED_ELEMENT(FileDialog)
- QML_ADDED_IN_VERSION(6, 2)
- Q_MOC_INCLUDE(<QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>)
-
-public:
- explicit QQuickFileDialog(QObject *parent = nullptr);
-
- enum FileMode {
- OpenFile,
- OpenFiles,
- SaveFile
- };
- Q_ENUM(FileMode)
-
- FileMode fileMode() const;
- void setFileMode(FileMode fileMode);
-
- QUrl selectedFile() const;
-
- QList<QUrl> selectedFiles() const;
-
- QUrl currentFile() const;
- void setCurrentFile(const QUrl &file);
-
- QList<QUrl> currentFiles() const;
- void setCurrentFiles(const QList<QUrl> &currentFiles);
-
- QUrl currentFolder() const;
- void setCurrentFolder(const QUrl &currentFolder);
-
- QFileDialogOptions::FileDialogOptions options() const;
- void setOptions(QFileDialogOptions::FileDialogOptions options);
- void resetOptions();
-
- QStringList nameFilters() const;
- void setNameFilters(const QStringList &filters);
- void resetNameFilters();
-
- QQuickFileNameFilter *selectedNameFilter() const;
-
- QString defaultSuffix() const;
- void setDefaultSuffix(const QString &suffix);
- void resetDefaultSuffix();
-
- QString acceptLabel() const;
- void setAcceptLabel(const QString &label);
- void resetAcceptLabel();
-
- QString rejectLabel() const;
- void setRejectLabel(const QString &label);
- void resetRejectLabel();
-
-Q_SIGNALS:
- void fileModeChanged();
- void selectedFileChanged();
- void selectedFilesChanged();
- void currentFileChanged();
- void currentFilesChanged();
- void currentFolderChanged();
- void optionsChanged();
- void nameFiltersChanged();
- void defaultSuffixChanged();
- void acceptLabelChanged();
- void rejectLabelChanged();
-
-protected:
- bool useNativeDialog() const override;
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
- void onHide(QPlatformDialogHelper *dialog) override;
- void accept() override;
-
-private:
- QUrl addDefaultSuffix(const QUrl &file) const;
- QList<QUrl> addDefaultSuffixes(const QList<QUrl> &files) const;
-
- void setSelectedFiles(const QList<QUrl> &selectedFiles);
-
- FileMode m_fileMode;
- QList<QUrl> m_selectedFiles;
- bool m_firstShow = true;
- QSharedPointer<QFileDialogOptions> m_options;
- mutable QQuickFileNameFilter *m_selectedNameFilter;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFileDialog)
-
-#endif // QQUICKFILEDIALOG_P_H
diff --git a/src/quickdialogs2/quickdialogs2/qquickfontdialog.cpp b/src/quickdialogs2/quickdialogs2/qquickfontdialog.cpp
deleted file mode 100644
index 5bf59049..00000000
--- a/src/quickdialogs2/quickdialogs2/qquickfontdialog.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFONTDIALOG_CPP
-#define QQUICKFONTDIALOG_CPP
-
-#include "qquickfontdialog_p.h"
-
-#include <QtCore/qloggingcategory.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype FontDialog
- \inherits Dialog
-//! \instantiates QQuickFontDialog
- \inqmlmodule QtQuick.Dialogs
- \since 6.2
- \brief A font dialog.
-
- The FontDialog type provides a QML API for font dialogs.
-
- \image qtquickdialogs-fontdialog-gtk.png
-
- To show a font dialog, construct an instance of FontDialog, set the
- desired properties, and call \l {Dialog::}{open()}. The \l currentFont
- property can be used to determine the currently selected font in the
- dialog. The \l selectedFont property is updated only after the final selection
- has been made by accepting the dialog.
-
- \code
- MenuItem {
- text: "Font"
- onTriggered: fontDialog.open()
- }
-
- FontDialog {
- id: fontDialog
- currentFont.family: document.font
- }
-
- MyDocument {
- id: document
- font: fontDialog.selectedFont
- }
- \endcode
-
- \section2 Availability
-
- A native platform font dialog is currently available on the following platforms:
-
- \list
- \li macOS
- \li Linux (when running with the GTK+ platform theme)
- \endlist
-
- \include includes/fallback.qdocinc
-*/
-
-Q_LOGGING_CATEGORY(lcFontDialog, "qt.quick.dialogs.fontdialog")
-
-QQuickFontDialog::QQuickFontDialog(QObject *parent)
- : QQuickAbstractDialog(QPlatformTheme::FontDialog, parent),
- m_options(QFontDialogOptions::create())
-{
-}
-
-/*!
- \qmlproperty font QtQuick.Dialogs::FontDialog::currentFont
-
- This property holds the currently selected font in the dialog.
-
- Unlike the \l selectedFont property, the \c currentFont property is updated
- while the user is selecting fonts in the dialog, even before the final
- selection has been made.
-
- \sa selectedFont
-*/
-
-QFont QQuickFontDialog::currentFont() const
-{
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(handle()))
- return fontDialog->currentFont();
- return QFont();
-}
-
-void QQuickFontDialog::setCurrentFont(const QFont &font)
-{
- if (QPlatformFontDialogHelper *fontDialog =
- qobject_cast<QPlatformFontDialogHelper *>(handle()))
- fontDialog->setCurrentFont(font);
-}
-
-/*!
- \qmlproperty font QtQuick.Dialogs::FontDialog::selectedFont
-
- This property holds the final accepted font.
-
- Unlike the \l currentFont property, the \c selectedFont property is not updated
- while the user is selecting fonts in the dialog, but only after the final
- selection has been made. That is, when the user has clicked \uicontrol Open
- to accept a font. Alternatively, the \l {Dialog::}{accepted()} signal
- can be handled to get the final selection.
-
- \sa currentFont, {Dialog::}{accepted()}
-*/
-
-QFont QQuickFontDialog::selectedFont() const
-{
- return m_selectedFont;
-}
-
-void QQuickFontDialog::setSelectedFont(const QFont &font)
-{
- if (m_selectedFont == font)
- return;
-
- m_selectedFont = font;
- emit selectedFontChanged();
-}
-
-/*!
- \qmlproperty flags QtQuick.Dialogs::FontDialog::options
-
- This property holds the various options that affect the look and feel of the dialog.
-
- By default, all options are disabled.
-
- Options should be set before showing the dialog. Setting them while the dialog is
- visible is not guaranteed to have an immediate effect on the dialog (depending on
- the option and on the platform).
-
- Available options:
- \value FontDialog.ScalableFonts Show scalable fonts.
- \value FontDialog.NonScalableFonts Show non-scalable fonts.
- \value FontDialog.MonospacedFonts Show monospaced fonts.
- \value FontDialog.ProportionalFonts Show proportional fonts.
- \value FontDialog.NoButtons Don't display \uicontrol Open and \uicontrol Cancel buttons (useful
- for "live dialogs").
-*/
-
-QFontDialogOptions::FontDialogOptions QQuickFontDialog::options() const
-{
- return m_options->options();
-}
-
-void QQuickFontDialog::setOptions(QFontDialogOptions::FontDialogOptions options)
-{
- if (options == m_options->options())
- return;
-
- m_options->setOptions(options);
- emit optionsChanged();
-}
-
-void QQuickFontDialog::resetOptions()
-{
- setOptions({});
-}
-
-bool QQuickFontDialog::useNativeDialog() const
-{
- return QQuickAbstractDialog::useNativeDialog()
- && !(m_options->testOption(QFontDialogOptions::DontUseNativeDialog));
-}
-
-void QQuickFontDialog::onCreate(QPlatformDialogHelper *dialog)
-{
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(dialog)) {
- connect(fontDialog, &QPlatformFontDialogHelper::currentFontChanged, this,
- &QQuickFontDialog::currentFontChanged);
- connect(fontDialog, &QPlatformFontDialogHelper::fontSelected, this,
- &QQuickFontDialog::setSelectedFont);
- fontDialog->setOptions(m_options);
- }
-}
-
-void QQuickFontDialog::onShow(QPlatformDialogHelper *dialog)
-{
- m_options->setWindowTitle(title());
- if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(dialog))
- fontDialog->setOptions(m_options); // setOptions only assigns a member and isn't virtual
-}
-
-void QQuickFontDialog::accept()
-{
- if (auto fontDialog = qobject_cast<QPlatformFontDialogHelper *>(handle()))
- setSelectedFont(fontDialog->currentFont());
- QQuickAbstractDialog::accept();
-}
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFONTDIALOG_CPP
diff --git a/src/quickdialogs2/quickdialogs2/qquickfontdialog_p.h b/src/quickdialogs2/quickdialogs2/qquickfontdialog_p.h
deleted file mode 100644
index c12cbd62..00000000
--- a/src/quickdialogs2/quickdialogs2/qquickfontdialog_p.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFONTDIALOG_P_H
-#define QQUICKFONTDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qquickabstractdialog_p.h"
-
-#include <QtGui/qfont.h>
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKDIALOGS2_PRIVATE_EXPORT QQuickFontDialog : public QQuickAbstractDialog
-{
- Q_OBJECT
- Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont NOTIFY selectedFontChanged)
- Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged FINAL)
- Q_PROPERTY(QFontDialogOptions::FontDialogOptions options READ options WRITE setOptions
- RESET resetOptions NOTIFY optionsChanged)
- Q_FLAGS(QFontDialogOptions::FontDialogOptions)
- QML_NAMED_ELEMENT(FontDialog)
- QML_ADDED_IN_VERSION(6, 2)
-
-public:
- explicit QQuickFontDialog(QObject *parent = nullptr);
-
- void setCurrentFont(const QFont &font);
- QFont currentFont() const;
-
- void setSelectedFont(const QFont &font);
- QFont selectedFont() const;
-
- QFontDialogOptions::FontDialogOptions options() const;
- void setOptions(QFontDialogOptions::FontDialogOptions options);
- void resetOptions();
-
-Q_SIGNALS:
- void selectedFontChanged();
- void currentFontChanged();
- void optionsChanged();
-
-protected:
- bool useNativeDialog() const override;
- void onCreate(QPlatformDialogHelper *dialog) override;
- void onShow(QPlatformDialogHelper *dialog) override;
- void accept() override;
-
-private:
- QFont m_selectedFont;
- QSharedPointer<QFontDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFontDialog)
-
-#endif // QQUICKFONTDIALOG_P_H
diff --git a/src/quickdialogs2/quickdialogs2/qtquickdialogs2foreign_p.h b/src/quickdialogs2/quickdialogs2/qtquickdialogs2foreign_p.h
deleted file mode 100644
index 6337434f..00000000
--- a/src/quickdialogs2/quickdialogs2/qtquickdialogs2foreign_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QTQUICKDIALOGS2FOREIGN_P_H
-#define QTQUICKDIALOGS2FOREIGN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-#include <QtQml/qqml.h>
-#include <QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>
-
-QT_BEGIN_NAMESPACE
-
-struct QPlatformDialogHelperForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QPlatformDialogHelper)
- QML_ADDED_IN_VERSION(6, 2)
-};
-
-struct QQuickFileNameFilterForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickFileNameFilter)
- QML_ADDED_IN_VERSION(6, 2)
-};
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKDIALOGS2FOREIGN_P_H
diff --git a/src/quickdialogs2/quickdialogs2/qtquickdialogs2global_p.h b/src/quickdialogs2/quickdialogs2/qtquickdialogs2global_p.h
deleted file mode 100644
index cae55a95..00000000
--- a/src/quickdialogs2/quickdialogs2/qtquickdialogs2global_p.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QTQUICKDIALOGS2GLOBAL_P_H
-#define QTQUICKDIALOGS2GLOBAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-#include <QtQml/private/qqmlglobal_p.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_QUICKDIALOGS2_LIB)
-# define Q_QUICKDIALOGS2_PRIVATE_EXPORT Q_DECL_EXPORT
-# else
-# define Q_QUICKDIALOGS2_PRIVATE_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_QUICKDIALOGS2_PRIVATE_EXPORT
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKDIALOGS2GLOBAL_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/CMakeLists.txt b/src/quickdialogs2/quickdialogs2quickimpl/CMakeLists.txt
deleted file mode 100644
index f0d94d31..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/CMakeLists.txt
+++ /dev/null
@@ -1,137 +0,0 @@
-#####################################################################
-## QuickDialogs2QuickImpl Module:
-#####################################################################
-
-set(qml_files
- "qml/FileDialog.qml"
- "qml/FileDialogDelegate.qml"
- "qml/FileDialogDelegateLabel.qml"
- "qml/FolderBreadcrumbBar.qml"
- "qml/FontDialog.qml"
- "qml/FontDialogContent.qml"
- "qml/+Fusion/FileDialog.qml"
- "qml/+Fusion/FileDialogDelegate.qml"
- "qml/+Fusion/FolderBreadcrumbBar.qml"
- "qml/+Fusion/FontDialog.qml"
- "qml/+Imagine/FileDialog.qml"
- "qml/+Imagine/FileDialogDelegate.qml"
- "qml/+Imagine/FolderBreadcrumbBar.qml"
- "qml/+Imagine/FontDialog.qml"
- "qml/+Material/FileDialog.qml"
- "qml/+Material/FileDialogDelegate.qml"
- "qml/+Material/FolderBreadcrumbBar.qml"
- "qml/+Material/FontDialog.qml"
- "qml/+Universal/FileDialog.qml"
- "qml/+Universal/FileDialogDelegate.qml"
- "qml/+Universal/FolderBreadcrumbBar.qml"
- "qml/+Universal/FontDialog.qml"
-)
-
-qt_internal_add_qml_module(QuickDialogs2QuickImpl
- URI "QtQuick.Dialogs.quickimpl"
- VERSION "${PROJECT_VERSION}"
- CLASS_NAME QtQuickDialogs2QuickImplPlugin
- PLUGIN_TARGET qtquickdialogs2quickimplplugin
- SOURCES
- qquickdialogimplfactory.cpp
- qquickdialogimplfactory_p.h
- qquickfiledialogdelegate.cpp
- qquickfiledialogdelegate_p.h
- qquickfiledialogimpl.cpp
- qquickfiledialogimpl_p.h
- qquickfiledialogimpl_p_p.h
- qquickfolderbreadcrumbbar.cpp
- qquickfolderbreadcrumbbar_p.h
- qquickfolderbreadcrumbbar_p_p.h
- qquickplatformfiledialog.cpp
- qquickplatformfiledialog_p.h
- qquickplatformfontdialog_p.h
- qquickplatformfontdialog.cpp
- qtquickdialogs2quickimplforeign_p.h
- qtquickdialogs2quickimplglobal_p.h
- qquickfontdialogimpl_p.h
- qquickfontdialogimpl_p_p.h
- qquickfontdialogimpl.cpp
- QML_FILES
- ${qml_files}
- DEFINES
- QT_BUILD_QUICKDIALOGS2QUICKIMPL_LIB
- QT_NO_CAST_FROM_ASCII
- QT_NO_CAST_TO_ASCII
- INCLUDE_DIRECTORIES
- ${CMAKE_CURRENT_SOURCE_DIR}
- LIBRARIES
- Qt::CorePrivate
- Qt::GuiPrivate
- Qt::QmlPrivate
- Qt::QuickPrivate
- Qt::QuickTemplates2Private
- Qt::QuickDialogs2UtilsPrivate
-)
-
-# Resources:
-set(qtquickdialogs2quickimpl_resource_files
- "images/crumb-separator-icon-round.png"
- "images/crumb-separator-icon-square.png"
- "images/file-icon-round.png"
- "images/file-icon-square.png"
- "images/folder-icon-round.png"
- "images/folder-icon-square.png"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/filedialogdelegate-background.9.png"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/filedialogdelegate-background-disabled.9.png"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/filedialogdelegate-background-pressed.9.png"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/filedialogdelegate-background-focused.9.png"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/[email protected]"
- "images/imagine/filedialogdelegate-background-highlighted.9.png"
- "images/up-icon-round.png"
- "images/up-icon-square.png"
- "images/up-icon-thick-square.png"
-)
-
-qt_internal_add_resource(QuickDialogs2QuickImpl "QuickDialogs2QuickImpl"
- PREFIX
- "/qt-project.org/imports/QtQuick/Dialogs/quickimpl"
- FILES
- ${qtquickdialogs2quickimpl_resource_files}
-)
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.png b/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.png
deleted file mode 100644
index aaa5a3e4..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.svg
deleted file mode 100644
index 013cedef..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-round.svg
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="8"
- height="8"
- viewBox="0 0 8 8"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="crumb-separator-icon-round.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8">
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect3421"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1367"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1365"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- </defs>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="16.000001"
- inkscape:cx="6.7812496"
- inkscape:cy="15.031249"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0"
- height="14px">
- <inkscape:grid
- type="xygrid"
- id="grid856" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="crumb-separator-icon-round"
- transform="translate(2.046,3.0914383)">
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect2017"
- width="8"
- height="8"
- x="-2.046"
- y="-3.0914383" />
- </g>
- <path
- id="rect858"
- style="fill:#757575;stroke-width:2.43737;stroke-linejoin:round"
- d="M 3.0219754,1.01117 6.416287,3.5317721 a 0.74259596,0.74259596 90 0 1 0,1.1923778 L 3.0219754,7.2447519 A 0.5029757,0.5029757 26.701285 0 1 2.2191312,6.8409408 l 0,-5.4259596 A 0.5029757,0.5029757 153.29872 0 1 3.0219754,1.01117 Z"
- sodipodi:nodetypes="cccc"
- inkscape:path-effect="#path-effect3421"
- inkscape:original-d="m 2.2191312,0.41498117 5,3.71297983 -5,3.7129798 z" />
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect1449"
- width="8"
- height="8"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 3f66fe17..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 24d9f6a6..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 1dc83ef0..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.png b/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.png
deleted file mode 100644
index 1f7ac63e..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.svg
deleted file mode 100644
index 96636734..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/crumb-separator-icon-square.svg
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="8"
- height="8"
- viewBox="0 0 8 8"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="crumb-separator-icon-square.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8">
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect3421"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1367"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1365"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- </defs>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="90.509672"
- inkscape:cx="4.43599"
- inkscape:cy="3.3311357"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0"
- height="14px">
- <inkscape:grid
- type="xygrid"
- id="grid856" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="crumb-separator-icon-square"
- transform="translate(2.046,3.0914383)">
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect2017"
- width="8"
- height="8"
- x="-2.046"
- y="-3.0914383" />
- <path
- style="fill:#757575;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m -0.046,-2.0914383 4,3 -4,3 z"
- id="path1065"
- sodipodi:nodetypes="cccc" />
- </g>
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect1449"
- width="8"
- height="8"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 524872c1..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 33bce847..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 185c3eb7..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.png b/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.png
deleted file mode 100644
index c2a4928d..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.svg
deleted file mode 100644
index 7ac6a23b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-round.svg
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="14"
- height="18"
- viewBox="0 0 14 18"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="file-icon-round.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <path
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 1.5003822,2.5063148 1.5000273,15.5 A 0.99997269,0.99997269 45.000782 0 0 2.5,16.5 h 9 a 1,1 135 0 0 1,-1 V 6.3440001 A 2.3479106,2.3479106 66.930332 0 0 11.778973,4.6510931 L 9.221027,2.192907 A 2.4805476,2.4805476 21.904486 0 0 7.5000004,1.5009022 l -4.9995913,0.00451 A 1.0009299,1.0009299 134.97494 0 0 1.5003822,2.5063148 Z"
- id="path917"
- sodipodi:nodetypes="cccccc"
- inkscape:path-effect="#path-effect1367"
- inkscape:original-d="M 1.5004095,1.5063148 1.5,16.5 h 11 V 5.3440001 L 8.5,1.5 Z" />
- <path
- id="path921"
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 12.35,6.5 H 8.5 a 1,1 45 0 1 -1,-1 V 1.55"
- inkscape:path-effect="#path-effect1365"
- inkscape:original-d="M 12.35,6.5 H 7.5 V 1.55"
- sodipodi:nodetypes="ccc" />
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8">
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1367"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1365"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- </defs>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="32.000001"
- inkscape:cx="7.8906248"
- inkscape:cy="9.7343747"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid856" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="file-icon-round"
- transform="translate(2.046,3.0914383)" />
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect2270"
- width="14"
- height="18"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 86af70d1..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 06fea29e..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 09f87873..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.png b/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.png
deleted file mode 100644
index 9e8f3ddd..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.svg
deleted file mode 100644
index 107afa38..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/file-icon-square.svg
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="14"
- height="18"
- viewBox="0 0 14 18"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="file-icon-square.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <path
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 1.5004095,1.5063148 1.5,16.5 h 11 V 5.3440001 L 8.5,1.5 Z"
- id="path917"
- sodipodi:nodetypes="cccccc" />
- <path
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 8.5,1.55 V 5.5"
- id="path919"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 12.45,5.5 H 8.5"
- id="path921"
- sodipodi:nodetypes="cc" />
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="22.627417"
- inkscape:cx="0.022097087"
- inkscape:cy="8.1538251"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid856" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="file-icon-square"
- transform="translate(2.046,3.0914383)" />
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect1895"
- width="14"
- height="18"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 8d330677..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 2987d2ca..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 69d76176..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.png b/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.png
deleted file mode 100644
index 60bc6c72..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.svg
deleted file mode 100644
index ba6b6276..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-round.svg
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="18"
- height="14"
- viewBox="0 0 18 14"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="folder-icon-round.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <path
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 1.5003723,2.5063148 1.5000372,11.5 A 0.99996275,0.99996275 45.001067 0 0 2.5,12.5 h 13 a 1,1 135 0 0 1,-1 v -7 a 1,1 45 0 0 -1,-1 h -5 A 2.4142136,2.4142136 22.5 0 1 8.7928932,2.7928932 L 8.2071068,2.2071068 A 2.4106245,2.4106245 22.469847 0 0 6.5000006,1.5010525 l -3.9995917,0.00421 A 1.0010904,1.0010904 134.97091 0 0 1.5003723,2.5063148 Z"
- id="path917"
- sodipodi:nodetypes="ccccccc"
- inkscape:path-effect="#path-effect1132"
- inkscape:original-d="M 1.5004095,1.5063148 1.5,12.5 h 15 v -9 h -7 l -2,-2 z" />
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8">
- <inkscape:path-effect
- effect="fillet_chamfer"
- id="path-effect1132"
- is_visible="true"
- lpeversion="1"
- satellites_param="F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1 @ F,0,0,1,0,1,0,1"
- unit="px"
- method="auto"
- mode="F"
- radius="1"
- chamfer_steps="1"
- flexible="false"
- use_knot_distance="true"
- apply_no_radius="true"
- apply_with_radius="true"
- only_selected="false"
- hide_knots="false" />
- </defs>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="16"
- inkscape:cx="-11.28125"
- inkscape:cy="7.40625"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid856" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="folder-icon-round"
- transform="translate(2.046,3.0914383)" />
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect2548"
- width="18"
- height="14"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index e2873437..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 5ee70a95..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 47d28a4b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.png b/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.png
deleted file mode 100644
index b84a90ae..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.svg
deleted file mode 100644
index 0002b5ac..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/folder-icon-square.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="18"
- height="14"
- viewBox="0 0 18 14"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="folder-icon-square.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <path
- style="fill:none;stroke:#757575;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 1.5004095,1.5063148 1.5,12.5 h 15 v -9 h -7 l -2,-2 z"
- id="path917"
- sodipodi:nodetypes="ccccccc" />
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="16"
- inkscape:cx="-1.59375"
- inkscape:cy="12.65625"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid856" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="folder-icon-square"
- transform="translate(2.046,3.0914383)">
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect1423"
- width="18"
- height="14"
- x="-2.046"
- y="-3.0914383" />
- </g>
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 9bf320bb..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 9f12edb6..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 9ec5b389..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-disabled.9.png b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-disabled.9.png
deleted file mode 100644
index ce48ee74..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-disabled.9.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index c7abb65c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 46b84d7d..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index f4dfd338..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-focused.9.png b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-focused.9.png
deleted file mode 100644
index 39fa8664..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-focused.9.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 6b61562c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index e46c0bf1..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 010444e8..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-highlighted.9.png b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-highlighted.9.png
deleted file mode 100644
index 6f565e8b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-highlighted.9.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 9fd0a434..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 62b7435b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 96444b89..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-pressed.9.png b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-pressed.9.png
deleted file mode 100644
index 39fa8664..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background-pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 6b61562c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index e46c0bf1..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 010444e8..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.9.png b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.9.png
deleted file mode 100644
index cef1bafa..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.9.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.svg
deleted file mode 100644
index acecfcc9..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/filedialogdelegate-background.svg
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="210mm"
- height="297mm"
- viewBox="0 0 210 297"
- version="1.1"
- id="svg5"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="filedialogdelegate-background.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <metadata
- id="metadata122">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- id="namedview7"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- objecttolerance="10.0"
- gridtolerance="10.0"
- guidetolerance="10.0"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- inkscape:pagecheckerboard="0"
- inkscape:document-units="px"
- showgrid="false"
- inkscape:zoom="3.2715084"
- inkscape:cx="24.912056"
- inkscape:cy="54.867657"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="g1413"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:document-rotation="0">
- <sodipodi:guide
- position="6.0854167,296.96676"
- orientation="-1,0"
- id="guide2310"
- inkscape:label=""
- inkscape:locked="true"
- inkscape:color="rgb(0,0,255)" />
- <sodipodi:guide
- position="3.363578,293.03125"
- orientation="0,1"
- id="guide2322"
- inkscape:label=""
- inkscape:locked="true"
- inkscape:color="rgb(0,0,255)" />
- <sodipodi:guide
- position="12.170833,297.68429"
- orientation="-1,0"
- id="guide2760"
- inkscape:label=""
- inkscape:locked="true"
- inkscape:color="rgb(0,0,255)" />
- <sodipodi:guide
- position="18.25625,297.91758"
- orientation="-1,0"
- id="guide949"
- inkscape:label=""
- inkscape:locked="true"
- inkscape:color="rgb(0,0,255)" />
- <sodipodi:guide
- position="24.341667,299.40187"
- orientation="-1,0"
- id="guide941"
- inkscape:label=""
- inkscape:locked="true"
- inkscape:color="rgb(0,0,255)" />
- <sodipodi:guide
- position="30.427083,299.08734"
- orientation="-1,0"
- id="guide1165"
- inkscape:label=""
- inkscape:locked="false"
- inkscape:color="rgb(0,0,255)" />
- </sodipodi:namedview>
- <defs
- id="defs2" />
- <g
- inkscape:label="[9] filedialogdelegate-background-highlighted"
- inkscape:groupmode="layer"
- id="g1413"
- style="display:inline"
- sodipodi:insensitive="true">
- <rect
- style="fill:none;stroke-width:0.946642;stroke-linejoin:round"
- id="rect1401"
- width="6.0854168"
- height="3.96875"
- x="30.427084"
- y="-6.9388939e-18" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.98967;stroke-linejoin:round"
- id="rect1403"
- width="0.26458332"
- height="3.4395833"
- x="30.427084"
- y="0.26458332" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.1547;stroke-linejoin:round"
- id="rect1405"
- width="0.26458332"
- height="5.5562401"
- x="-0.26415125"
- y="30.691679"
- transform="matrix(3.6708238e-5,-1,1,1.4067378e-5,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect1407"
- width="0.26458332"
- height="0.26458287"
- x="-3.9588995"
- y="33.337505"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect1409"
- width="0.26458332"
- height="0.26458287"
- x="-2.1059568"
- y="36.247913"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#4fc1e9;fill-opacity:1;fill-rule:evenodd;stroke-width:0.263352"
- id="rect1411"
- width="5.5562501"
- height="3.4395833"
- x="30.691668"
- y="0.26458332" />
- </g>
- <g
- inkscape:label="[9] filedialogdelegate-background-focused"
- inkscape:groupmode="layer"
- id="g939"
- style="display:inline"
- sodipodi:insensitive="true">
- <rect
- style="fill:none;stroke-width:0.946642;stroke-linejoin:round"
- id="rect927"
- width="6.0854168"
- height="3.96875"
- x="18.25625"
- y="-6.9388939e-18" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.98967;stroke-linejoin:round"
- id="rect929"
- width="0.26458332"
- height="3.4395833"
- x="18.25625"
- y="0.26458332" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.1547;stroke-linejoin:round"
- id="rect931"
- width="0.26458332"
- height="5.5562401"
- x="-0.26432261"
- y="18.520845"
- transform="matrix(3.6708238e-5,-1,1,1.4067378e-5,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect933"
- width="0.26458332"
- height="0.26458287"
- x="-3.9624968"
- y="21.166674"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect935"
- width="0.26458332"
- height="0.26458287"
- x="-2.1095541"
- y="24.077082"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#e6e9ed;fill-opacity:1;fill-rule:evenodd;stroke-width:0.263352"
- id="rect937"
- width="5.5562501"
- height="3.4395833"
- x="18.520834"
- y="0.26458332" />
- </g>
- <g
- inkscape:label="[9] filedialogdelegate-background-pressed"
- inkscape:groupmode="layer"
- id="g867"
- style="display:inline"
- sodipodi:insensitive="true">
- <rect
- style="fill:none;stroke-width:0.946642;stroke-linejoin:round"
- id="rect855"
- width="6.0854168"
- height="3.96875"
- x="12.170834"
- y="-6.9388939e-18" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.98967;stroke-linejoin:round"
- id="rect857"
- width="0.26458332"
- height="3.4395833"
- x="12.170834"
- y="0.26458332" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.1547;stroke-linejoin:round"
- id="rect859"
- width="0.26458332"
- height="5.5562401"
- x="-0.26440823"
- y="12.435429"
- transform="matrix(3.6708238e-5,-1,1,1.4067378e-5,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect861"
- width="0.26458332"
- height="0.26458287"
- x="-3.9642947"
- y="15.081257"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect863"
- width="0.26458332"
- height="0.26458287"
- x="-2.111352"
- y="17.991665"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#e6e9ed;fill-opacity:1;fill-rule:evenodd;stroke-width:0.263352"
- id="rect865"
- width="5.5562501"
- height="3.4395833"
- x="12.435416"
- y="0.26458332" />
- </g>
- <g
- inkscape:label="[9] filedialogdelegate-background-disabled"
- inkscape:groupmode="layer"
- id="g2435"
- style="display:inline"
- sodipodi:insensitive="true">
- <rect
- style="fill:none;stroke-width:0.946642;stroke-linejoin:round"
- id="rect2425"
- width="6.0854168"
- height="3.96875"
- x="6.0854168"
- y="-6.9388939e-18" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.98967;stroke-linejoin:round"
- id="rect2427"
- width="0.26458332"
- height="3.4395833"
- x="6.0854168"
- y="0.26458332" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.1547;stroke-linejoin:round"
- id="rect2429"
- width="0.26458332"
- height="5.5562401"
- x="-0.264494"
- y="6.3500099"
- transform="matrix(3.6708238e-5,-1,1,1.4067378e-5,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect2431"
- width="0.26458332"
- height="0.26458287"
- x="-3.9660921"
- y="8.995841"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect2433"
- width="0.26458332"
- height="0.26458287"
- x="-2.1131494"
- y="11.906255"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#f5f7fa;fill-opacity:1;fill-rule:evenodd;stroke-width:0.263352"
- id="rect124"
- width="5.5562501"
- height="3.4395833"
- x="6.3499999"
- y="0.26458332" />
- </g>
- <g
- inkscape:label="[9] filedialogdelegate-background"
- inkscape:groupmode="layer"
- id="layer1"
- style="display:inline"
- sodipodi:insensitive="true">
- <rect
- style="fill:none;stroke-width:0.946642;stroke-linejoin:round"
- id="rect846"
- width="6.0854168"
- height="3.96875"
- x="0"
- y="-6.9388939e-18" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.98967;stroke-linejoin:round"
- id="rect1054"
- width="0.26458332"
- height="3.4395833"
- x="0"
- y="0.26458332" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.1547;stroke-linejoin:round"
- id="rect1212"
- width="0.26458332"
- height="5.5562401"
- x="-0.26457959"
- y="0.26459303"
- transform="matrix(3.6708238e-5,-1,1,1.4067378e-5,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect1505"
- width="0.26458332"
- height="0.26458287"
- x="-3.9678898"
- y="2.9104238"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.21594;stroke-linejoin:round"
- id="rect1587"
- width="0.26458332"
- height="0.26458287"
- x="-2.1149471"
- y="5.8208375"
- transform="matrix(1.7480114e-6,-1,0.99999996,2.9541491e-4,0,0)" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0578;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="rect3108"
- width="5.5562501"
- height="3.4395833"
- x="0.26458332"
- y="0.26458332" />
- </g>
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 5a136a0c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index f47a366b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
deleted file mode 100644
index 9ecb680f..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/imagine/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.png b/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.png
deleted file mode 100644
index a4b7bc03..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.svg
deleted file mode 100644
index fd053957..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-round.svg
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="16"
- height="16"
- viewBox="0 0 16 16"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="up-icon-round.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="16"
- inkscape:cx="-1.96875"
- inkscape:cy="10.65625"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid1497" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="up-icon-round" />
- <g
- id="g1413"
- transform="translate(0.3592822,-0.0034197)">
- <path
- style="fill:none;fill-opacity:1;stroke:#757575;stroke-width:2.23721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 7.6407178,2.1165354 3e-7,11.7737686"
- id="path20"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-opacity:1;stroke:#757575;stroke-width:2.23721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 7.6407178,2.1165354 2.6616436,7.0956099"
- id="path950"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-opacity:1;stroke:#757575;stroke-width:2.23721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 7.6407178,2.1165354 12.619792,7.0956096"
- id="path952"
- sodipodi:nodetypes="cc" />
- </g>
- <rect
- style="fill:none;stroke-width:5.33333;stroke-linejoin:round"
- id="rect2897"
- width="16"
- height="16"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 25ee970a..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 486f2f46..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 58540253..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.png b/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.png
deleted file mode 100644
index f7d4151a..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.svg
deleted file mode 100644
index 93fc45ba..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-square.svg
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="16"
- height="16"
- viewBox="0 0 16 16"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="up-icon-square.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="11.313709"
- inkscape:cx="-6.3197669"
- inkscape:cy="28.416854"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid1497" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="up-icon-square" />
- <path
- style="fill:#757575;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 8.000315,1 -6,6 L 3,8 8,3 13,8 14,7 Z"
- id="path928"
- sodipodi:nodetypes="ccccccc" />
- <rect
- style="fill:none;stroke-width:5.33333;stroke-linejoin:round"
- id="rect2897"
- width="16"
- height="16"
- x="0"
- y="0" />
- <rect
- style="fill:#757575;fill-opacity:1;stroke:none;stroke-width:5.23075;stroke-linejoin:round"
- id="rect4947"
- width="1.5"
- height="11"
- x="7.2501574"
- y="3" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 2e2a3d94..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 8965148c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 0a56bbcc..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.png b/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.png
deleted file mode 100644
index 3f9f8762..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.png
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.svg b/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.svg
deleted file mode 100644
index dd20777b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/up-icon-thick-square.svg
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- width="16"
- height="16"
- viewBox="0 0 16 16"
- version="1.1"
- id="svg2"
- inkscape:version="1.1-alpha (b0f32e08fc, 2021-03-07)"
- sodipodi:docname="up-icon-thick-square.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
- <metadata
- id="metadata10">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs8" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1848"
- inkscape:window-height="1016"
- id="namedview6"
- showgrid="true"
- inkscape:zoom="22.627417"
- inkscape:cx="2.3201941"
- inkscape:cy="10.00998"
- inkscape:window-x="72"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:document-rotation="0"
- inkscape:pagecheckerboard="0">
- <inkscape:grid
- type="xygrid"
- id="grid1497" />
- </sodipodi:namedview>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="up-icon-thick-square" />
- <path
- style="fill:#757575;fill-opacity:1;stroke:none;stroke-width:1.34164px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 2,8 6,-6 6,6 h -3 v 7 H 5 V 8 Z"
- id="path1103"
- sodipodi:nodetypes="cccccccc" />
- <rect
- style="fill:none;stroke-width:4;stroke-linejoin:round"
- id="rect1748"
- width="16"
- height="16"
- x="0"
- y="0" />
-</svg>
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index b4efe132..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 2e8302b1..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected] b/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
deleted file mode 100644
index 5cf05ab3..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/images/[email protected]
+++ /dev/null
Binary files differ
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialog.qml
deleted file mode 100644
index 744f32f4..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialog.qml
+++ /dev/null
@@ -1,196 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import Qt.labs.folderlistmodel
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Fusion
-import QtQuick.Controls.Fusion.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-import "." as DialogsImpl
-
-FileDialogImpl {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 6
- horizontalPadding: 12
-
- standardButtons: T.Dialog.Open | T.Dialog.Cancel
-
- /*
- We use attached properties because we want to handle logic in C++, and:
- - We can't assume the footer only contains a DialogButtonBox (which would allow us
- to connect up to it in QQuickFileDialogImpl); it also needs to hold a ComboBox
- and therefore the root footer item will be e.g. a layout item instead.
- - We don't want to create our own "FileDialogButtonBox" (in order to be able to handle the logic
- in C++) because we'd need to copy (and hence duplicate code in) DialogButtonBox.qml.
- */
- FileDialogImpl.buttonBox: buttonBox
- FileDialogImpl.nameFiltersComboBox: nameFiltersComboBox
- FileDialogImpl.fileDialogListView: fileDialogListView
- FileDialogImpl.breadcrumbBar: breadcrumbBar
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- color: control.palette.window
- border.color: control.palette.mid
- radius: 2
-
- Rectangle {
- z: -1
- x: 1
- y: 1
- width: parent.width
- height: parent.height
- color: control.palette.shadow
- opacity: 0.2
- radius: 2
- }
- }
-
- header: ColumnLayout {
- spacing: 0
-
- Label {
- objectName: "dialogTitleBarLabel"
- text: control.title
- horizontalAlignment: Label.AlignHCenter
- elide: Label.ElideRight
- font.bold: true
- padding: 6
-
- Layout.fillWidth: true
- Layout.leftMargin: 12
- Layout.rightMargin: 12
- Layout.topMargin: control.title.length > 0 ? 0 : 12
- Layout.preferredHeight: control.title.length > 0 ? implicitHeight : 0
- }
-
- DialogsImpl.FolderBreadcrumbBar {
- id: breadcrumbBar
- fileDialog: control
-
- Layout.fillWidth: true
- Layout.leftMargin: 12
- Layout.rightMargin: 12
-
- KeyNavigation.tab: fileDialogListView
- }
- }
-
- contentItem: Frame {
- padding: 0
- verticalPadding: 1
-
- ListView {
- id: fileDialogListView
- objectName: "fileDialogListView"
- anchors.fill: parent
- clip: true
- focus: true
- boundsBehavior: Flickable.StopAtBounds
-
- ScrollBar.vertical: ScrollBar {}
-
- model: FolderListModel {
- folder: control.currentFolder
- nameFilters: control.selectedNameFilter.globs
- showDirsFirst: true
- }
- delegate: DialogsImpl.FileDialogDelegate {
- objectName: "fileDialogDelegate" + index
- x: 1
- width: ListView.view.width - 2
- highlighted: ListView.isCurrentItem
- fileDialog: control
- fileDetailRowWidth: nameFiltersComboBox.width
-
- KeyNavigation.backtab: breadcrumbBar
- KeyNavigation.tab: nameFiltersComboBox
- }
- }
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 12
-
- ComboBox {
- // OK to use IDs here, since users shouldn't be overriding this stuff.
- id: nameFiltersComboBox
- model: control.nameFilters
-
- Layout.leftMargin: 12
- Layout.fillWidth: true
- Layout.bottomMargin: 12
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 6
- horizontalPadding: 0
- verticalPadding: 0
- background: null
-
- Layout.rightMargin: 12
- Layout.bottomMargin: 12
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- T.Overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialogDelegate.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialogDelegate.qml
deleted file mode 100644
index 3c2b7b9c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FileDialogDelegate.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl as ControlsImpl
-import QtQuick.Controls.Fusion
-import QtQuick.Controls.Fusion.impl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FileDialogDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 6
- spacing: 6
-
- file: fileUrl
-
- icon.width: 16
- icon.height: 16
- icon.color: highlighted ? palette.highlightedText : palette.text
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/"
- + (fileIsDir ? "folder" : "file") + "-icon-round.png"
-
- // We don't use index here, but in C++. Since we're using required
- // properties, the index context property will not be injected, so we can't
- // use its QQmlContext to access it.
- required property int index
- required property string fileName
- required property url fileUrl
- required property int fileSize
- required property date fileModified
- required property bool fileIsDir
-
- required property int fileDetailRowWidth
-
- contentItem: FileDialogDelegateLabel {
- delegate: control
- fileDetailRowTextColor: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text
- fileDetailRowWidth: control.fileDetailRowWidth
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 20
- color: control.down ? Fusion.buttonColor(control.palette, false, true, true)
- : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FolderBreadcrumbBar.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FolderBreadcrumbBar.qml
deleted file mode 100644
index 066a60d7..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FolderBreadcrumbBar.qml
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FolderBreadcrumbBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + (upButton ? upButton.implicitWidth + upButtonSpacing : 0)
- + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- upButtonSpacing: 6
-
- contentItem: ListView {
- id: listView
- currentIndex: control.currentIndex
- model: control.contentModel
- orientation: ListView.Horizontal
- snapMode: ListView.SnapToItem
- highlightMoveDuration: 0
- interactive: false
- clip: true
-
- Rectangle {
- anchors.fill: parent
- color: control.palette.light
- border.color: control.palette.mid
- radius: 2
- z: -1
- }
- }
- buttonDelegate: Button {
- id: buttonDelegateRoot
- text: folderName
- flat: true
-
- // The default of 100 is a bit too wide for short directory names.
- Binding {
- target: buttonDelegateRoot.background
- property: "implicitWidth"
- value: 24
- }
-
- required property int index
- required property string folderName
- }
- separatorDelegate: IconImage {
- id: iconImage
- source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/crumb-separator-icon-round.png"
- sourceSize: Qt.size(8, 8)
- width: 8 + 6
- height: control.contentItem.height
- color: control.palette.dark
- y: (control.height - height) / 2
- }
- upButton: Button {
- x: control.leftPadding
- y: control.topPadding
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/up-icon-round.png"
- icon.width: 16
- icon.height: 16
- width: height
- height: Math.max(implicitHeight, control.contentItem.height)
- focusPolicy: Qt.TabFocus
- }
- textField: TextField {
- text: control.fileDialog.selectedFile
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FontDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FontDialog.qml
deleted file mode 100644
index dd75338f..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Fusion/FontDialog.qml
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Fusion
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-FontDialogImpl {
- id: control
-
- implicitWidth: Math.max(control.implicitBackgroundWidth + control.leftInset + control.rightInset,
- control.contentWidth + control.leftPadding + control.rightPadding,
- control.implicitHeaderWidth,
- control.implicitFooterWidth)
- implicitHeight: Math.max(control.implicitBackgroundHeight + control.topInset + control.bottomInset,
- control.contentHeight + control.topPadding + control.bottomPadding
- + (control.implicitHeaderHeight > 0 ? control.implicitHeaderHeight + control.spacing : 0)
- + (control.implicitFooterHeight > 0 ? control.implicitFooterHeight + control.spacing : 0))
-
- leftPadding: 20
- rightPadding: 20
- // Ensure that the background's border is visible.
- leftInset: -1
- rightInset: -1
- topInset: -1
- bottomInset: -1
-
- standardButtons: T.Dialog.Ok | T.Dialog.Cancel
-
- FontDialogImpl.buttonBox: buttonBox
- FontDialogImpl.familyListView: content.familyListView
- FontDialogImpl.styleListView: content.styleListView
- FontDialogImpl.sizeListView: content.sizeListView
- FontDialogImpl.sampleEdit: content.sampleEdit
- FontDialogImpl.writingSystemComboBox: writingSystemComboBox
- FontDialogImpl.underlineCheckBox: content.underline
- FontDialogImpl.strikeoutCheckBox: content.strikeout
- FontDialogImpl.familyEdit: content.familyEdit
- FontDialogImpl.styleEdit: content.styleEdit
- FontDialogImpl.sizeEdit: content.sizeEdit
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- color: control.palette.window
- border.color: control.palette.mid
- radius: 2
-
- Rectangle {
- z: -1
- x: 1
- y: 1
- width: parent.width
- height: parent.height
- color: control.palette.shadow
- opacity: 0.2
- radius: 2
- }
- }
-
- Overlay.modal: Rectangle {
- color: Fusion.topShadow
- }
-
- Overlay.modeless: Rectangle {
- color: Fusion.topShadow
- }
-
- header: Label {
- text: control.title
- horizontalAlignment: Label.AlignHCenter
- elide: Label.ElideRight
- font.bold: true
- padding: 6
- }
-
- contentItem: FontDialogContent {
- id: content
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 12
-
- Label {
- text: qsTr("Writing System")
-
- Layout.leftMargin: 12
- Layout.topMargin: 6
- Layout.bottomMargin: 6
- }
- ComboBox{
- id: writingSystemComboBox
-
- Layout.fillWidth: true
- Layout.topMargin: 6
- Layout.bottomMargin: 6
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 6
- horizontalPadding: 0
- verticalPadding: 0
- background: null
-
- Layout.rightMargin: 12
- Layout.topMargin: 6
- Layout.bottomMargin: 6
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialog.qml
deleted file mode 100644
index fdf8f36e..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialog.qml
+++ /dev/null
@@ -1,190 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import Qt.labs.folderlistmodel
-import QtQuick
-import QtQuick.Templates as T
-import QtQuick.Controls.Imagine
-import QtQuick.Controls.Imagine.impl
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-
-import "." as DialogsImpl
-
-FileDialogImpl {
- id: control
-
- // Can't set implicitWidth of the NinePatchImage background, so we do it here.
- implicitWidth: Math.max(600,
- implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(400,
- implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- standardButtons: T.Dialog.Open | T.Dialog.Cancel
-
- FileDialogImpl.buttonBox: buttonBox
- FileDialogImpl.nameFiltersComboBox: nameFiltersComboBox
- FileDialogImpl.fileDialogListView: fileDialogListView
- FileDialogImpl.breadcrumbBar: breadcrumbBar
-
- background: NinePatchImage {
- source: Imagine.url + "dialog-background"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
-
- header: ColumnLayout {
- spacing: 12
-
- Label {
- text: control.title
- elide: Label.ElideRight
- font.bold: true
-
- Layout.leftMargin: 16
- Layout.rightMargin: 16
- Layout.topMargin: 12
- Layout.fillWidth: true
- Layout.preferredHeight: control.title.length > 0 ? implicitHeight : 0
-
- background: NinePatchImage {
- width: parent.width
- height: parent.height
-
- source: Imagine.url + "dialog-title"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
- }
-
- DialogsImpl.FolderBreadcrumbBar {
- id: breadcrumbBar
- fileDialog: control
-
- Layout.leftMargin: 16
- Layout.rightMargin: 16
- Layout.fillWidth: true
- Layout.maximumWidth: parent.width - 28
- }
- }
-
- contentItem: ListView {
- id: fileDialogListView
- objectName: "fileDialogListView"
- clip: true
- boundsBehavior: Flickable.StopAtBounds
-
- ScrollBar.vertical: ScrollBar {}
-
- model: FolderListModel {
- folder: control.currentFolder
- nameFilters: control.selectedNameFilter.globs
- showDirsFirst: true
- }
- delegate: DialogsImpl.FileDialogDelegate {
- objectName: "fileDialogDelegate" + index
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- fileDialog: control
- fileDetailRowWidth: nameFiltersComboBox.width
- }
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 20
-
- ComboBox {
- id: nameFiltersComboBox
- model: control.nameFilters
-
- Layout.leftMargin: 16
- Layout.bottomMargin: 16
- Layout.fillWidth: true
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 12
-
- Layout.bottomMargin: 16
- Layout.rightMargin: 16
- }
- }
-
- T.Overlay.modal: NinePatchImage {
- source: Imagine.url + "dialog-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- T.Overlay.modeless: NinePatchImage {
- source: Imagine.url + "dialog-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialogDelegate.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialogDelegate.qml
deleted file mode 100644
index 9785afd1..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FileDialogDelegate.qml
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick.Controls
-import QtQuick.Controls.Imagine
-import QtQuick.Controls.Imagine.impl
-import QtQuick.Controls.impl as ControlsImpl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FileDialogDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- file: fileUrl
-
- icon.width: 16
- icon.height: 16
- icon.color: highlighted ? palette.highlightedText : palette.text
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/"
- + (fileIsDir ? "folder" : "file") + "-icon-round.png"
-
- required property int index
- required property string fileName
- required property url fileUrl
- required property int fileSize
- required property date fileModified
- required property bool fileIsDir
-
- required property int fileDetailRowWidth
-
- contentItem: FileDialogDelegateLabel {
- delegate: control
- fileDetailRowTextColor: control.icon.color
- fileDetailRowWidth: control.fileDetailRowWidth
- }
-
- background: NinePatchImage {
- source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/imagine/filedialogdelegate-background"
- NinePatchImageSelector on source {
- states: [
- { "disabled": !control.enabled },
- { "pressed": control.down },
- { "focused": control.visualFocus },
- { "highlighted": control.highlighted },
- { "mirrored": control.mirrored },
- { "hovered": control.hovered }
- ]
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FolderBreadcrumbBar.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FolderBreadcrumbBar.qml
deleted file mode 100644
index 2a56a3c3..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FolderBreadcrumbBar.qml
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FolderBreadcrumbBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + (upButton ? upButton.implicitWidth + upButtonSpacing : 0)
- + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- upButtonSpacing: 20
- padding: 1
-
- background: Rectangle {}
- contentItem: ListView {
- id: listView
- currentIndex: control.currentIndex
- model: control.contentModel
- orientation: ListView.Horizontal
- snapMode: ListView.SnapToItem
- highlightMoveDuration: 0
- interactive: false
- clip: true
- }
- buttonDelegate: Button {
- id: buttonDelegateRoot
- text: folderName
- flat: true
-
- required property int index
- required property string folderName
- }
- separatorDelegate: IconImage {
- id: iconImage
- source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/crumb-separator-icon-round.png"
- sourceSize: Qt.size(8, 8)
- width: 8
- height: control.contentItem.height
- y: (control.height - height) / 2
- }
- upButton: ToolButton {
- x: control.leftPadding
- y: control.topPadding
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/up-icon-thick-square.png"
- icon.width: 16
- icon.height: 16
- focusPolicy: Qt.TabFocus
- }
- textField: TextField {
- text: control.fileDialog.selectedFile
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FontDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FontDialog.qml
deleted file mode 100644
index 47bd53da..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Imagine/FontDialog.qml
+++ /dev/null
@@ -1,167 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Imagine
-import QtQuick.Controls.Imagine.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-FontDialogImpl {
- id: control
-
- // Can't set implicitWidth of the NinePatchImage background, so we do it here.
- implicitWidth: Math.max(600,
- implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(400,
- implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- topPadding: background ? background.topPadding : 0
- leftPadding: background ? background.leftPadding : 0
- rightPadding: background ? background.rightPadding : 0
- bottomPadding: background ? background.bottomPadding : 0
-
- topInset: background ? -background.topInset || 0 : 0
- leftInset: background ? -background.leftInset || 0 : 0
- rightInset: background ? -background.rightInset || 0 : 0
- bottomInset: background ? -background.bottomInset || 0 : 0
-
- standardButtons: T.Dialog.Ok | T.Dialog.Cancel
-
- FontDialogImpl.buttonBox: buttonBox
- FontDialogImpl.familyListView: content.familyListView
- FontDialogImpl.styleListView: content.styleListView
- FontDialogImpl.sizeListView: content.sizeListView
- FontDialogImpl.sampleEdit: content.sampleEdit
- FontDialogImpl.writingSystemComboBox: writingSystemComboBox
- FontDialogImpl.underlineCheckBox: content.underline
- FontDialogImpl.strikeoutCheckBox: content.strikeout
- FontDialogImpl.familyEdit: content.familyEdit
- FontDialogImpl.styleEdit: content.styleEdit
- FontDialogImpl.sizeEdit: content.sizeEdit
-
- background: NinePatchImage {
- source: Imagine.url + "dialog-background"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
-
- Overlay.modal: NinePatchImage {
- source: Imagine.url + "dialog-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": true}
- ]
- }
- }
-
- Overlay.modeless: NinePatchImage {
- source: Imagine.url + "dialog-overlay"
- NinePatchImageSelector on source {
- states: [
- {"modal": false}
- ]
- }
- }
-
- header: Label {
- text: control.title
- elide: Label.ElideRight
- font.bold: true
-
- leftPadding: 16
- rightPadding: 16
- topPadding: 12
- height: control.title.length > 0 ? implicitHeight : 0
-
- background: NinePatchImage {
- width: parent.width
- height: parent.height
-
- source: Imagine.url + "dialog-title"
- NinePatchImageSelector on source {
- states: [
- {"modal": control.modal},
- {"dim": control.dim}
- ]
- }
- }
- }
-
- contentItem: FontDialogContent {
- id: content
- rowSpacing: 16
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 20
-
- Label {
- text: qsTr("Writing System")
- Layout.leftMargin: 20
- Layout.bottomMargin: 16
- }
- ComboBox{
- id: writingSystemComboBox
-
- Layout.fillWidth: true
- Layout.bottomMargin: 16
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 12
- Layout.rightMargin: 20
- Layout.bottomMargin: 16
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialog.qml
deleted file mode 100644
index 7e7c4307..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialog.qml
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import Qt.labs.folderlistmodel
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Material
-import QtQuick.Controls.Material.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-import "." as DialogsImpl
-
-FileDialogImpl {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- leftPadding: 24
- rightPadding: 24
-
- standardButtons: T.Dialog.Open | T.Dialog.Cancel
-
- Material.elevation: 24
-
- FileDialogImpl.buttonBox: buttonBox
- FileDialogImpl.nameFiltersComboBox: nameFiltersComboBox
- FileDialogImpl.fileDialogListView: fileDialogListView
- FileDialogImpl.breadcrumbBar: breadcrumbBar
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- radius: 2
- color: control.Material.dialogColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-
- header: ColumnLayout {
- spacing: 12
-
- Label {
- text: control.title
- visible: control.title.length > 0
- elide: Label.ElideRight
- font.bold: true
- font.pixelSize: 16
-
- Layout.leftMargin: 24
- Layout.rightMargin: 24
- Layout.topMargin: 24
- Layout.fillWidth: true
- }
-
- DialogsImpl.FolderBreadcrumbBar {
- id: breadcrumbBar
- fileDialog: control
-
- Layout.leftMargin: 24
- Layout.rightMargin: 24
- Layout.fillWidth: true
- Layout.maximumWidth: parent.width - 48
- }
- }
-
- contentItem: ListView {
- id: fileDialogListView
- objectName: "fileDialogListView"
- clip: true
-
- ScrollBar.vertical: ScrollBar {}
-
- model: FolderListModel {
- folder: control.currentFolder
- nameFilters: control.selectedNameFilter.globs
- showDirsFirst: true
- }
- delegate: DialogsImpl.FileDialogDelegate {
- objectName: "fileDialogDelegate" + index
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- fileDialog: control
- fileDetailRowWidth: nameFiltersComboBox.width
- }
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 20
-
- ComboBox {
- id: nameFiltersComboBox
- model: control.nameFilters
-
- Layout.leftMargin: 20
- Layout.fillWidth: true
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 12
- horizontalPadding: 0
- verticalPadding: 20
-
- Layout.rightMargin: 20
- }
- }
-
- Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialogDelegate.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialogDelegate.qml
deleted file mode 100644
index eb4bae9b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FileDialogDelegate.qml
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Controls.Material
-import QtQuick.Controls.Material.impl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FileDialogDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 16
- verticalPadding: 8
- spacing: 16
-
- icon.width: 16
- icon.height: 16
- icon.color: enabled ? Material.foreground : Material.hintTextColor
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/"
- + (fileIsDir ? "folder" : "file") + "-icon-square.png"
-
- file: fileUrl
-
- required property int index
- required property string fileName
- required property url fileUrl
- required property int fileSize
- required property date fileModified
- required property bool fileIsDir
-
- required property int fileDetailRowWidth
-
- contentItem: FileDialogDelegateLabel {
- delegate: control
- fileDetailRowTextColor: control.Material.hintTextColor
- fileDetailRowWidth: control.fileDetailRowWidth
- }
-
- background: Rectangle {
- implicitHeight: control.Material.delegateHeight
-
- color: control.highlighted ? Color.transparent(control.Material.accentColor, 0.08) : "transparent"
-
- Ripple {
- width: parent.width
- height: parent.height
-
- clip: visible
- pressed: control.pressed
- anchor: control
- active: control.down || control.visualFocus || control.hovered
- color: control.highlighted ? control.Material.highlightedRippleColor : control.Material.rippleColor
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FolderBreadcrumbBar.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FolderBreadcrumbBar.qml
deleted file mode 100644
index 7b839034..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FolderBreadcrumbBar.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Material
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FolderBreadcrumbBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + (upButton ? upButton.implicitWidth + upButtonSpacing : 0)
- + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- upButtonSpacing: 20
- padding: 1
-
- background: Rectangle {}
- contentItem: ListView {
- id: listView
- currentIndex: control.currentIndex
- model: control.contentModel
- orientation: ListView.Horizontal
- snapMode: ListView.SnapToItem
- highlightMoveDuration: 0
- interactive: false
- clip: true
- }
- buttonDelegate: Button {
- id: buttonDelegateRoot
- text: folderName
- flat: true
- font.capitalization: Font.MixedCase
-
- // The default of 100 is a bit too wide for short directory names.
- Binding {
- target: buttonDelegateRoot.background
- property: "implicitWidth"
- value: control.Material.buttonHeight
- }
-
- required property int index
- required property string folderName
- }
- separatorDelegate: IconImage {
- id: iconImage
- source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/crumb-separator-icon-square.png"
- sourceSize: Qt.size(8, 8)
- // The image is 8x8, and add 2 px padding on each side.
- width: 8 + 4
- height: control.contentItem.height
- color: control.Material.hintTextColor
- y: (control.height - height) / 2
- }
- upButton: ToolButton {
- x: control.leftPadding
- y: control.topPadding
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/up-icon-thick-square.png"
- icon.width: 16
- icon.height: 16
- width: height
- focusPolicy: Qt.TabFocus
- }
- textField: TextField {
- text: control.fileDialog.selectedFile
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FontDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FontDialog.qml
deleted file mode 100644
index 51134680..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Material/FontDialog.qml
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Material
-import QtQuick.Controls.Material.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-FontDialogImpl {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- leftPadding: 24
- rightPadding: 24
-
- standardButtons: T.Dialog.Ok | T.Dialog.Cancel
-
- Material.elevation: 24
-
- FontDialogImpl.buttonBox: buttonBox
- FontDialogImpl.familyListView: content.familyListView
- FontDialogImpl.styleListView: content.styleListView
- FontDialogImpl.sizeListView: content.sizeListView
- FontDialogImpl.sampleEdit: content.sampleEdit
- FontDialogImpl.writingSystemComboBox: writingSystemComboBox
- FontDialogImpl.underlineCheckBox: content.underline
- FontDialogImpl.strikeoutCheckBox: content.strikeout
- FontDialogImpl.familyEdit: content.familyEdit
- FontDialogImpl.styleEdit: content.styleEdit
- FontDialogImpl.sizeEdit: content.sizeEdit
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- radius: 2
- color: control.Material.dialogColor
-
- layer.enabled: control.Material.elevation > 0
- layer.effect: ElevationEffect {
- elevation: control.Material.elevation
- }
- }
-
- Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-
- header: Label {
- text: control.title
- visible: control.title.length > 0
- elide: Label.ElideRight
- font.bold: true
- font.pixelSize: 16
-
- leftPadding: 24
- rightPadding: 24
- topPadding: 24
- bottomPadding: 24
- }
-
- contentItem: FontDialogContent {
- id: content
- familyEdit.bottomPadding: 8
- styleEdit.bottomPadding: 8
- sizeEdit.bottomPadding: 8
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 20
-
- Label {
- text: qsTr("Writing System")
-
- Layout.leftMargin: 20
- }
- ComboBox{
- id: writingSystemComboBox
-
- Layout.fillWidth: true
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 12
- horizontalPadding: 0
- verticalPadding: 20
-
- Layout.rightMargin: 20
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialog.qml
deleted file mode 100644
index 02b7368c..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialog.qml
+++ /dev/null
@@ -1,165 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import Qt.labs.folderlistmodel
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Universal
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-import "." as DialogsImpl
-
-FileDialogImpl {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 24
- verticalPadding: 18
-
- standardButtons: T.Dialog.Open | T.Dialog.Cancel
-
- FileDialogImpl.buttonBox: buttonBox
- FileDialogImpl.nameFiltersComboBox: nameFiltersComboBox
- FileDialogImpl.fileDialogListView: fileDialogListView
- FileDialogImpl.breadcrumbBar: breadcrumbBar
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // FlyoutBorderThemeThickness
- }
-
- header: ColumnLayout {
- spacing: 12
-
- Label {
- text: control.title
- elide: Label.ElideRight
- // TODO: QPlatformTheme::TitleBarFont
- font.pixelSize: 20
-
- Layout.leftMargin: 24
- Layout.rightMargin: 24
- Layout.topMargin: 18
- Layout.fillWidth: true
- Layout.preferredHeight: control.title.length > 0 ? implicitHeight : 0
-
- background: Rectangle {
- x: 1; y: 1 // // FlyoutBorderThemeThickness
- color: control.Universal.chromeMediumLowColor
- width: parent.width - 2
- height: parent.height - 1
- }
- }
-
- DialogsImpl.FolderBreadcrumbBar {
- id: breadcrumbBar
- fileDialog: control
-
- Layout.leftMargin: 24
- Layout.rightMargin: 24
- Layout.fillWidth: true
- Layout.maximumWidth: parent.width - 48
- }
- }
-
- contentItem: ListView {
- id: fileDialogListView
- objectName: "fileDialogListView"
- clip: true
- boundsBehavior: Flickable.StopAtBounds
-
- ScrollBar.vertical: ScrollBar {}
-
- model: FolderListModel {
- folder: control.currentFolder
- nameFilters: control.selectedNameFilter.globs
- showDirsFirst: true
- }
- delegate: DialogsImpl.FileDialogDelegate {
- objectName: "fileDialogDelegate" + index
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- fileDialog: control
- fileDetailRowWidth: nameFiltersComboBox.width
- }
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 24
-
- ComboBox {
- id: nameFiltersComboBox
- model: control.nameFilters
-
- Layout.leftMargin: 24
- Layout.fillWidth: true
- Layout.topMargin: 6
- Layout.bottomMargin: 24
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 12
- horizontalPadding: 0
-
- Layout.rightMargin: 24
- }
- }
-
- T.Overlay.modal: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- T.Overlay.modeless: Rectangle {
- color: control.Universal.baseLowColor
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialogDelegate.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialogDelegate.qml
deleted file mode 100644
index d4322dc5..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FileDialogDelegate.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Controls.Universal
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FileDialogDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- spacing: 12
-
- padding: 12
- topPadding: padding - 1
- bottomPadding: padding + 1
-
- icon.width: 20
- icon.height: 20
- icon.color: Color.transparent(Universal.foreground, enabled ? 1.0 : 0.2)
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/"
- + (fileIsDir ? "folder" : "file") + "-icon-square.png"
-
- file: fileUrl
-
- required property int index
- required property string fileName
- required property url fileUrl
- required property int fileSize
- required property date fileModified
- required property bool fileIsDir
-
- required property int fileDetailRowWidth
-
- contentItem: FileDialogDelegateLabel {
- delegate: control
- fileDetailRowTextColor: control.icon.color
- fileDetailRowWidth: control.fileDetailRowWidth
- }
-
- background: Rectangle {
- visible: control.down || control.highlighted || control.visualFocus || control.hovered
- color: control.down ? control.Universal.listMediumColor :
- control.hovered ? control.Universal.listLowColor : control.Universal.altMediumLowColor
-
- Rectangle {
- width: parent.width
- height: parent.height
- visible: control.visualFocus || control.highlighted
- color: control.Universal.accent
- opacity: control.Universal.theme === Universal.Light ? 0.4 : 0.6
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FolderBreadcrumbBar.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FolderBreadcrumbBar.qml
deleted file mode 100644
index f270b411..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FolderBreadcrumbBar.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Universal
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FolderBreadcrumbBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + (upButton ? upButton.implicitWidth + upButtonSpacing : 0)
- + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- upButtonSpacing: 20
- padding: 1
-
- background: Rectangle {}
- contentItem: ListView {
- id: listView
- currentIndex: control.currentIndex
- model: control.contentModel
- orientation: ListView.Horizontal
- snapMode: ListView.SnapToItem
- highlightMoveDuration: 0
- interactive: false
- clip: true
- }
- buttonDelegate: ToolButton {
- id: buttonDelegateRoot
- text: folderName
-
- // The default is a bit too wide for short directory names.
- Binding {
- target: buttonDelegateRoot.background
- property: "implicitWidth"
- value: 48
- }
-
- required property int index
- required property string folderName
- }
- separatorDelegate: IconImage {
- id: iconImage
- source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/crumb-separator-icon-square.png"
- sourceSize: Qt.size(8, 8)
- // The image is 8x8, and add 2 px padding on each side.
- width: 8 + 4
- height: control.contentItem.height
- color: Color.transparent(control.Universal.foreground, enabled ? 1.0 : 0.2)
- y: (control.height - height) / 2
- }
- upButton: ToolButton {
- x: control.leftPadding
- y: control.topPadding
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/up-icon-square.png"
- icon.width: 16
- icon.height: 16
- width: height
- focusPolicy: Qt.TabFocus
- }
- textField: TextField {
- text: control.fileDialog.selectedFile
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FontDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FontDialog.qml
deleted file mode 100644
index 1bd3092e..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/+Universal/FontDialog.qml
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Controls.Universal
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-FontDialogImpl {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- padding: 24
- verticalPadding: 18
-
- standardButtons: T.Dialog.Ok | T.Dialog.Cancel
-
- FontDialogImpl.buttonBox: buttonBox
- FontDialogImpl.familyListView: content.familyListView
- FontDialogImpl.styleListView: content.styleListView
- FontDialogImpl.sizeListView: content.sizeListView
- FontDialogImpl.sampleEdit: content.sampleEdit
- FontDialogImpl.writingSystemComboBox: writingSystemComboBox
- FontDialogImpl.underlineCheckBox: content.underline
- FontDialogImpl.strikeoutCheckBox: content.strikeout
- FontDialogImpl.familyEdit: content.familyEdit
- FontDialogImpl.styleEdit: content.styleEdit
- FontDialogImpl.sizeEdit: content.sizeEdit
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- color: control.Universal.chromeMediumLowColor
- border.color: control.Universal.chromeHighColor
- border.width: 1 // FlyoutBorderThemeThickness
- }
-
- Overlay.modal: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- Overlay.modeless: Rectangle {
- color: control.Universal.baseLowColor
- }
-
- header: Label {
- text: control.title
- elide: Label.ElideRight
- // TODO: QPlatformTheme::TitleBarFont
- font.pixelSize: 20
-
- leftPadding: 24
- rightPadding: 24
- topPadding: 18
- height: control.title.length > 0 ? implicitHeight : 0
-
- background: Rectangle {
- x: 1; y: 1 // // FlyoutBorderThemeThickness
- color: control.Universal.chromeMediumLowColor
- width: parent.width - 2
- height: parent.height - 1
- }
- }
-
- contentItem: FontDialogContent {
- id: content
- rowSpacing: 12
- }
-
- footer: RowLayout {
- id: rowLayout
- spacing: 24
-
- Label {
- text: qsTr("Writing System")
-
- Layout.leftMargin: 24
- Layout.topMargin: 6
- Layout.bottomMargin: 24
- }
- ComboBox{
- id: writingSystemComboBox
-
- Layout.fillWidth: true
- Layout.topMargin: 6
- Layout.bottomMargin: 24
-
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- spacing: 12
- horizontalPadding: 0
-
- Layout.rightMargin: 24
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialog.qml
deleted file mode 100644
index 99a90cbc..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialog.qml
+++ /dev/null
@@ -1,183 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import Qt.labs.folderlistmodel
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-import "." as DialogsImpl
-
-FileDialogImpl {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- contentWidth + leftPadding + rightPadding,
- implicitHeaderWidth,
- implicitFooterWidth)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- contentHeight + topPadding + bottomPadding
- + (implicitHeaderHeight > 0 ? implicitHeaderHeight + spacing : 0)
- + (implicitFooterHeight > 0 ? implicitFooterHeight + spacing : 0))
-
- leftPadding: 20
- rightPadding: 20
- // Ensure that the background's border is visible.
- leftInset: -1
- rightInset: -1
- topInset: -1
- bottomInset: -1
-
- standardButtons: T.Dialog.Open | T.Dialog.Cancel
-
- /*
- We use attached properties because we want to handle logic in C++, and:
- - We can't assume the footer only contains a DialogButtonBox (which would allow us
- to connect up to it in QQuickFileDialogImpl); it also needs to hold a ComboBox
- and therefore the root footer item will be e.g. a layout item instead.
- - We don't want to create our own "FileDialogButtonBox" (in order to be able to handle the logic
- in C++) because we'd need to copy (and hence duplicate code in) DialogButtonBox.qml.
- */
- FileDialogImpl.buttonBox: buttonBox
- FileDialogImpl.nameFiltersComboBox: nameFiltersComboBox
- FileDialogImpl.fileDialogListView: fileDialogListView
- FileDialogImpl.breadcrumbBar: breadcrumbBar
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- color: control.palette.window
- border.color: control.palette.dark
- }
-
- header: Pane {
- palette.window: control.palette.light
- padding: 20
-
- contentItem: Column {
- spacing: 12
-
- Label {
- objectName: "dialogTitleBarLabel"
- width: parent.width
- text: control.title
- visible: control.title.length > 0
- horizontalAlignment: Label.AlignHCenter
- elide: Label.ElideRight
- font.bold: true
- }
-
- DialogsImpl.FolderBreadcrumbBar {
- id: breadcrumbBar
- width: parent.width
- fileDialog: control
-
- KeyNavigation.tab: fileDialogListView
- }
- }
- }
-
- contentItem: ListView {
- id: fileDialogListView
- objectName: "fileDialogListView"
- clip: true
- focus: true
- boundsBehavior: Flickable.StopAtBounds
-
- ScrollBar.vertical: ScrollBar {}
-
- model: FolderListModel {
- folder: control.currentFolder
- nameFilters: control.selectedNameFilter.globs
- showDirsFirst: true
- }
- delegate: DialogsImpl.FileDialogDelegate {
- objectName: "fileDialogDelegate" + index
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- fileDialog: control
- fileDetailRowWidth: nameFiltersComboBox.width
-
- KeyNavigation.backtab: breadcrumbBar
- KeyNavigation.tab: nameFiltersComboBox
- }
- }
-
- footer: Rectangle {
- color: control.palette.light
- implicitWidth: rowLayout.implicitWidth
- implicitHeight: rowLayout.implicitHeight
-
- RowLayout {
- id: rowLayout
- width: parent.width
- height: parent.height
- spacing: 20
-
- ComboBox {
- // OK to use IDs here, since users shouldn't be overriding this stuff.
- id: nameFiltersComboBox
- model: control.nameFilters
-
- Layout.leftMargin: 20
- Layout.fillWidth: true
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- palette.window: control.palette.light
- spacing: 12
- horizontalPadding: 0
- verticalPadding: 20
-
- Layout.rightMargin: 20
- }
- }
- }
-
- Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegate.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegate.qml
deleted file mode 100644
index 03250faa..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegate.qml
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl as ControlsImpl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FileDialogDelegate {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding,
- implicitIndicatorHeight + topPadding + bottomPadding)
-
- padding: 12
- spacing: 8
- topPadding: 0
- bottomPadding: 0
-
- file: fileUrl
-
- icon.width: 16
- icon.height: 16
- icon.color: highlighted ? palette.highlightedText : palette.text
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/"
- + (fileIsDir ? "folder" : "file") + "-icon-round.png"
-
- // We don't use index here, but in C++. Since we're using required
- // properties, the index context property will not be injected, so we can't
- // use its QQmlContext to access it.
- required property int index
- required property string fileName
- required property url fileUrl
- required property int fileSize
- required property date fileModified
- required property bool fileIsDir
-
- required property int fileDetailRowWidth
-
- contentItem: FileDialogDelegateLabel {
- delegate: control
- fileDetailRowTextColor: control.icon.color
- fileDetailRowWidth: control.fileDetailRowWidth
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 40
- visible: control.down || control.highlighted || control.visualFocus
- color: Color.blend(control.down ? control.palette.midlight : control.palette.light,
- control.palette.highlight, control.highlighted ? 0.15 : 0.0)
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegateLabel.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegateLabel.qml
deleted file mode 100644
index 9768cd51..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/FileDialogDelegateLabel.qml
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-/*
- Most of the elements in here are the same between styles, so we
- have a reusable component for it and provide some properties to enable style-specific tweaks.
-*/
-Item {
- id: root
- implicitWidth: column.implicitWidth
- implicitHeight: column.implicitHeight
-
- required property DialogsQuickImpl.FileDialogDelegate delegate
- required property int fileDetailRowWidth
-
- property color fileDetailRowTextColor
-
- Column {
- id: column
- y: (parent.height - height) / 2
-
- Row {
- spacing: root.delegate.spacing
-
- IconImage {
- id: iconImage
- source: root.delegate.icon.source
- sourceSize: Qt.size(root.delegate.icon.width, root.delegate.icon.height)
- width: root.delegate.icon.width
- height: root.delegate.icon.height
- color: root.delegate.icon.color
- y: (parent.height - height) / 2
- }
- Label {
- text: root.delegate.fileName
- color: root.delegate.icon.color
- y: (parent.height - height) / 2
- }
- }
-
- Item {
- id: fileDetailRow
- x: iconImage.width + root.delegate.spacing
- width: fileDetailRowWidth - x - root.delegate.leftPadding
- implicitHeight: childrenRect.height
-
- Label {
- text: locale.formattedDataSize(root.delegate.fileSize)
- font.pixelSize: root.delegate.font.pixelSize * 0.75
- color: root.fileDetailRowTextColor
- }
- Label {
- text: Qt.formatDateTime(root.delegate.fileModified)
- font.pixelSize: root.delegate.font.pixelSize * 0.75
- color: root.fileDetailRowTextColor
- x: parent.width - width
- }
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/FolderBreadcrumbBar.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/FolderBreadcrumbBar.qml
deleted file mode 100644
index f04d5804..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/FolderBreadcrumbBar.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs.quickimpl as DialogsQuickImpl
-
-DialogsQuickImpl.FolderBreadcrumbBar {
- id: control
-
- implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
- implicitContentWidth + (upButton ? upButton.implicitWidth + upButtonSpacing : 0)
- + leftPadding + rightPadding)
- implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
- implicitContentHeight + topPadding + bottomPadding)
- upButtonSpacing: 20
- padding: 1
-
- background: Rectangle {
- border.color: control.palette.button
- }
- contentItem: ListView {
- id: listView
- currentIndex: control.currentIndex
- model: control.contentModel
- orientation: ListView.Horizontal
- snapMode: ListView.SnapToItem
- highlightMoveDuration: 0
- interactive: false
- clip: true
- }
- buttonDelegate: Button {
- id: buttonDelegateRoot
- text: folderName
- flat: true
-
- // The default of 100 is a bit too wide for short directory names.
- Binding {
- target: buttonDelegateRoot.background
- property: "implicitWidth"
- value: 40
- }
-
- required property int index
- required property string folderName
- }
- separatorDelegate: IconImage {
- id: iconImage
- source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/crumb-separator-icon-round.png"
- sourceSize: Qt.size(8, 8)
- width: 8
- height: control.contentItem.height
- color: control.palette.button
- y: (control.height - height) / 2
- }
- upButton: ToolButton {
- x: control.leftPadding
- y: control.topPadding
- icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/up-icon-round.png"
- icon.width: 16
- icon.height: 16
- width: height
- focusPolicy: Qt.TabFocus
- }
- textField: TextField {
- text: control.fileDialog.selectedFile
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialog.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialog.qml
deleted file mode 100644
index e2caea40..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialog.qml
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-import QtQuick.Templates as T
-
-FontDialogImpl {
- id: control
-
- implicitWidth: Math.max(control.implicitBackgroundWidth + control.leftInset + control.rightInset,
- control.contentWidth + control.leftPadding + control.rightPadding,
- control.implicitHeaderWidth,
- control.implicitFooterWidth)
- implicitHeight: Math.max(control.implicitBackgroundHeight + control.topInset + control.bottomInset,
- control.contentHeight + control.topPadding + control.bottomPadding
- + (control.implicitHeaderHeight > 0 ? control.implicitHeaderHeight + control.spacing : 0)
- + (control.implicitFooterHeight > 0 ? control.implicitFooterHeight + control.spacing : 0))
-
- leftPadding: 20
- rightPadding: 20
- // Ensure that the background's border is visible.
- leftInset: -1
- rightInset: -1
- topInset: -1
- bottomInset: -1
-
- spacing: 12
-
- standardButtons: T.Dialog.Ok | T.Dialog.Cancel
-
- FontDialogImpl.buttonBox: buttonBox
- FontDialogImpl.familyListView: content.familyListView
- FontDialogImpl.styleListView: content.styleListView
- FontDialogImpl.sizeListView: content.sizeListView
- FontDialogImpl.sampleEdit: content.sampleEdit
- FontDialogImpl.writingSystemComboBox: writingSystemComboBox
- FontDialogImpl.underlineCheckBox: content.underline
- FontDialogImpl.strikeoutCheckBox: content.strikeout
- FontDialogImpl.familyEdit: content.familyEdit
- FontDialogImpl.styleEdit: content.styleEdit
- FontDialogImpl.sizeEdit: content.sizeEdit
-
- background: Rectangle {
- implicitWidth: 600
- implicitHeight: 400
- color: control.palette.window
- border.color: control.palette.dark
- }
-
- Overlay.modal: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.5)
- }
-
- Overlay.modeless: Rectangle {
- color: Color.transparent(control.palette.shadow, 0.12)
- }
-
- header: Pane {
- palette.window: control.palette.light
- padding: 20
-
- contentItem: Label {
- width: parent.width
- text: control.title
- visible: control.title.length > 0
- horizontalAlignment: Label.AlignHCenter
- elide: Label.ElideRight
- font.bold: true
- }
- }
-
- contentItem: FontDialogContent {
- id: content
- }
-
- footer: Rectangle {
- color: control.palette.light
- implicitWidth: rowLayout.implicitWidth
- implicitHeight: rowLayout.implicitHeight
-
- RowLayout {
- id: rowLayout
- width: parent.width
- height: parent.height
- spacing: 20
-
- Label {
- text: qsTr("Writing System")
-
- Layout.leftMargin: 20
- }
- ComboBox{
- id: writingSystemComboBox
-
- Layout.fillWidth: true
- }
-
- DialogButtonBox {
- id: buttonBox
- standardButtons: control.standardButtons
- palette.window: control.palette.light
- spacing: 12
- horizontalPadding: 0
- verticalPadding: 20
-
- Layout.rightMargin: 20
- }
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialogContent.qml b/src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialogContent.qml
deleted file mode 100644
index a0b7dd38..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qml/FontDialogContent.qml
+++ /dev/null
@@ -1,267 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Dialogs
-import QtQuick.Dialogs.quickimpl
-import QtQuick.Layouts
-
-GridLayout {
- property alias familyListView: fontFamilyListView
- property alias styleListView: fontStyleListView
- property alias sizeListView: fontSizeListView
- property alias sampleEdit: fontSample
- property alias underline: fontUnderline
- property alias strikeout: fontStrikeout
- property alias familyEdit: fontFamilyEdit
- property alias styleEdit: fontStyleEdit
- property alias sizeEdit: fontSizeEdit
-
- columns: 3
-
- ColumnLayout {
- spacing: 0
-
- Layout.preferredWidth: 50
-
- Label {
- text: qsTr("Family")
- Layout.alignment: Qt.AlignLeft
- }
- TextField {
- id: fontFamilyEdit
- objectName: "familyEdit"
- readOnly: true
- Layout.fillWidth: true
- focus: true
- }
- Frame {
- Layout.fillWidth: true
- Layout.fillHeight: true
- background: Rectangle {
- color: "white"
- }
- ListView {
- id: fontFamilyListView
- objectName: "familyListView"
- implicitHeight: 200
- anchors.fill: parent
- clip: true
-
- ScrollBar.vertical: ScrollBar {
- policy: ScrollBar.AlwaysOn
- }
-
- boundsBehavior: Flickable.StopAtBounds
-
- highlightMoveVelocity: -1
- highlightMoveDuration: 1
- highlightFollowsCurrentItem: true
- keyNavigationEnabled: true
-
- delegate: ItemDelegate {
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- onClicked: () => fontFamilyListView.currentIndex = index
- text: modelData
- }
- }
- }
- }
-
- ColumnLayout {
- spacing: 0
-
- Layout.preferredWidth: 30
-
- Label {
- text: qsTr("Style")
- Layout.alignment: Qt.AlignLeft
- }
- TextField {
- id: fontStyleEdit
- objectName: "styleEdit"
- readOnly: true
- Layout.fillWidth: true
- }
- Frame {
- Layout.fillWidth: true
- Layout.fillHeight: true
- background: Rectangle {
- color: "white"
- }
- ListView {
- id: fontStyleListView
- objectName: "styleListView"
- implicitHeight: 200
- anchors.fill: parent
- clip: true
-
- ScrollBar.vertical: ScrollBar {}
- boundsBehavior: Flickable.StopAtBounds
-
- highlightMoveVelocity: -1
- highlightMoveDuration: 1
- highlightFollowsCurrentItem: true
- keyNavigationEnabled: true
-
- delegate: ItemDelegate {
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- onClicked: () => fontStyleListView.currentIndex = index
- text: modelData
- }
- }
- }
- }
-
- ColumnLayout {
- spacing: 0
-
- Layout.preferredWidth: 20
-
- Label {
- text: qsTr("Size")
- Layout.alignment: Qt.AlignLeft
- }
- TextField {
- id: fontSizeEdit
- objectName: "sizeEdit"
- Layout.fillWidth: true
- validator: IntValidator {
- bottom: 1
- top: 512
- }
- }
- Frame {
- Layout.fillWidth: true
- Layout.fillHeight: true
-
- background: Rectangle {
- color: "white"
- }
- ListView {
- id: fontSizeListView
- objectName: "sizeListView"
- implicitHeight: 200
- anchors.fill: parent
- clip: true
-
- ScrollBar.vertical: ScrollBar {
- policy: ScrollBar.AlwaysOn
- }
-
- boundsBehavior: Flickable.StopAtBounds
-
- highlightMoveVelocity: -1
- highlightMoveDuration: 1
- highlightFollowsCurrentItem: true
- keyNavigationEnabled: true
-
- delegate: ItemDelegate {
- width: ListView.view.width
- highlighted: ListView.isCurrentItem
- onClicked: () => fontSizeListView.currentIndex = index
- text: modelData
- }
- }
- }
- }
-
- ColumnLayout {
- Layout.preferredWidth: 80
-
- GroupBox {
- id: effectsGroupBox
- title: qsTr("Effects")
-
- Layout.fillWidth: true
- Layout.fillHeight: true
-
- label: Label {
- anchors.left: effectsGroupBox.left
- text: parent.title
- }
-
- RowLayout {
- anchors.fill: parent
- CheckBox {
- id: fontUnderline
- objectName: "underlineEffect"
- text: qsTr("Underline")
- }
- CheckBox{
- id: fontStrikeout
- objectName: "strikeoutEffect"
- text: qsTr("Strikeout")
- }
- }
- }
- }
-
- GroupBox {
- id: sample
- padding: label.implicitHeight
- title: qsTr("Sample")
-
- Layout.fillWidth: true
- Layout.preferredWidth: 80
- Layout.fillHeight: true
- Layout.columnSpan: 2
- clip: true
-
- background: Rectangle {
- y: sample.topPadding - sample.bottomPadding
- width: parent.width - sample.leftPadding + sample.rightPadding
- height: parent.height - sample.topPadding + sample.bottomPadding
- radius: 3
- }
-
- label: Label {
- anchors.left: sample.left
- text: sample.title
- }
-
- TextEdit {
- id: fontSample
- objectName: "sampleEdit"
- anchors.centerIn: parent
- readOnly: true
- }
- }
-}
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory.cpp
deleted file mode 100644
index da298432..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickdialogimplfactory_p.h"
-
-#include <QtCore/qloggingcategory.h>
-
-#include "qquickplatformfiledialog_p.h"
-#include "qquickplatformfontdialog_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \internal
-
- Creates concrete QML-based dialogs.
-*/
-
-Q_LOGGING_CATEGORY(lcQuickDialogImplFactory, "qt.quick.dialogs.quickdialogimplfactory")
-
-QPlatformDialogHelper *QQuickDialogImplFactory::createPlatformDialogHelper(
- QPlatformTheme::DialogType type, QObject *parent)
-{
- switch (type) {
- case QPlatformTheme::FileDialog: {
- auto dialog = new QQuickPlatformFileDialog(parent);
- // If the QML file failed to load, we need to handle it gracefully.
- if (!dialog->isValid()) {
- delete dialog;
- return nullptr;
- }
-
- return dialog;
- }
- case QPlatformTheme::FontDialog: {
- auto dialog = new QQuickPlatformFontDialog(parent);
-
- if (!dialog->isValid()) {
- delete dialog;
- return nullptr;
- }
- return dialog;
- }
- default:
- break;
- }
-
- return nullptr;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory_p.h
deleted file mode 100644
index 54aa921f..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory_p.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKQMLDIALOGFACTORY_P_H
-#define QQUICKQMLDIALOGFACTORY_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtGui/qpa/qplatformtheme.h>
-
-#include "qtquickdialogs2quickimplglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickDialogImplFactory
-{
-public:
- static QPlatformDialogHelper *createPlatformDialogHelper(QPlatformTheme::DialogType type,
- QObject *parent);
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKQMLDIALOGFACTORY_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp
deleted file mode 100644
index b1d44773..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickfiledialogdelegate_p.h"
-
-#include <QtCore/qfileinfo.h>
-#include <QtGui/qpa/qplatformtheme.h>
-#include <QtQml/QQmlFile>
-#include <QtQml/qqmlexpression.h>
-#include <QtQuick/private/qquicklistview_p.h>
-#include <QtQuickTemplates2/private/qquickitemdelegate_p_p.h>
-
-#include "qquickfiledialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFileDialogDelegatePrivate : public QQuickItemDelegatePrivate
-{
- Q_DECLARE_PUBLIC(QQuickFileDialogDelegate)
-
-public:
- void highlightFile();
- void chooseFile();
-
- bool acceptKeyClick(Qt::Key key) const override;
-
- QQuickFileDialogImpl *fileDialog = nullptr;
- QUrl file;
-};
-
-void QQuickFileDialogDelegatePrivate::highlightFile()
-{
- Q_Q(QQuickFileDialogDelegate);
- QQuickListViewAttached *attached = static_cast<QQuickListViewAttached*>(
- qmlAttachedPropertiesObject<QQuickListView>(q));
- if (!attached)
- return;
-
- QQmlContext *delegateContext = qmlContext(q);
- if (!delegateContext)
- return;
-
- bool converted = false;
- const int index = q->property("index").toInt(&converted);
- if (converted) {
- attached->view()->setCurrentIndex(index);
- fileDialog->setCurrentFile(file);
- }
-}
-
-void QQuickFileDialogDelegatePrivate::chooseFile()
-{
- const QFileInfo fileInfo(QQmlFile::urlToLocalFileOrQrc(file));
- if (fileInfo.isDir()) {
- // If it's a directory, navigate to it.
- fileDialog->setCurrentFolder(file);
- } else {
- // Otherwise it's a file, so select it and close the dialog.
- fileDialog->setSelectedFile(file);
- fileDialog->accept();
- }
-}
-
-bool QQuickFileDialogDelegatePrivate::acceptKeyClick(Qt::Key key) const
-{
- return key == Qt::Key_Return || key == Qt::Key_Enter;
-}
-
-QQuickFileDialogDelegate::QQuickFileDialogDelegate(QQuickItem *parent)
- : QQuickItemDelegate(*(new QQuickFileDialogDelegatePrivate), parent)
-{
- Q_D(QQuickFileDialogDelegate);
- // Clicking and tabbing should result in it getting focus,
- // as e.g. Ubuntu and Windows both allow tabbing through file dialogs.
- setFocusPolicy(Qt::StrongFocus);
- setCheckable(true);
- QObjectPrivate::connect(this, &QQuickFileDialogDelegate::clicked,
- d, &QQuickFileDialogDelegatePrivate::highlightFile);
- QObjectPrivate::connect(this, &QQuickFileDialogDelegate::doubleClicked,
- d, &QQuickFileDialogDelegatePrivate::chooseFile);
-}
-
-QQuickFileDialogImpl *QQuickFileDialogDelegate::fileDialog() const
-{
- Q_D(const QQuickFileDialogDelegate);
- return d->fileDialog;
-}
-
-void QQuickFileDialogDelegate::setFileDialog(QQuickFileDialogImpl *fileDialog)
-{
- Q_D(QQuickFileDialogDelegate);
- if (fileDialog == d->fileDialog)
- return;
-
- d->fileDialog = fileDialog;
- emit fileDialogChanged();
-}
-
-QUrl QQuickFileDialogDelegate::file() const
-{
- Q_D(const QQuickFileDialogDelegate);
- return d->file;
-}
-
-void QQuickFileDialogDelegate::setFile(const QUrl &file)
-{
- Q_D(QQuickFileDialogDelegate);
- if (file == d->file)
- return;
-
- d->file = file;
- emit fileChanged();
-}
-
-void QQuickFileDialogDelegate::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickFileDialogDelegate);
- // We need to respond to being triggered by enter being pressed,
- // but we can't use event->isAccepted() to check, because events are pre-accepted.
- auto connection = QObjectPrivate::connect(this, &QQuickFileDialogDelegate::clicked,
- d, &QQuickFileDialogDelegatePrivate::chooseFile);
-
- QQuickItemDelegate::keyReleaseEvent(event);
-
- disconnect(connection);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qquickfiledialogdelegate_p.cpp"
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate_p.h
deleted file mode 100644
index 093e27bd..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate_p.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFILEDIALOGDELEGATE_P_H
-#define QQUICKFILEDIALOGDELEGATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickitemdelegate_p.h>
-
-#include "qtquickdialogs2quickimplglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFileDialogImpl;
-class QQuickFileDialogDelegatePrivate;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFileDialogDelegate : public QQuickItemDelegate
-{
- Q_OBJECT
- Q_PROPERTY(QQuickFileDialogImpl *fileDialog READ fileDialog WRITE setFileDialog NOTIFY fileDialogChanged)
- Q_PROPERTY(QUrl file READ file WRITE setFile NOTIFY fileChanged)
- QML_NAMED_ELEMENT(FileDialogDelegate)
- QML_ADDED_IN_VERSION(6, 2)
-
-public:
- explicit QQuickFileDialogDelegate(QQuickItem *parent = nullptr);
-
- QQuickFileDialogImpl *fileDialog() const;
- void setFileDialog(QQuickFileDialogImpl *fileDialog);
-
- QUrl file() const;
- void setFile(const QUrl &file);
-
-Q_SIGNALS:
- void fileDialogChanged();
- void fileChanged();
-
-protected:
- void keyReleaseEvent(QKeyEvent *event) override;
-
-private:
- Q_DISABLE_COPY(QQuickFileDialogDelegate)
- Q_DECLARE_PRIVATE(QQuickFileDialogDelegate)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFileDialogDelegate)
-
-#endif // QQUICKFILEDIALOGDELEGATE_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl.cpp
deleted file mode 100644
index 8074b259..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl.cpp
+++ /dev/null
@@ -1,564 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickfiledialogimpl_p.h"
-#include "qquickfiledialogimpl_p_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQml/qqmlfile.h>
-#include <QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>
-#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p_p.h>
-#include <QtQuickTemplates2/private/qquickpopupitem_p_p.h>
-#include "qquickfiledialogdelegate_p.h"
-#include "qquickfolderbreadcrumbbar_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcCurrentFolder, "qt.quick.dialogs.quickfiledialogimpl.currentFolder")
-Q_LOGGING_CATEGORY(lcOptions, "qt.quick.dialogs.quickfiledialogimpl.options")
-Q_LOGGING_CATEGORY(lcNameFilters, "qt.quick.dialogs.quickfiledialogimpl.namefilters")
-Q_LOGGING_CATEGORY(lcAttachedNameFilters, "qt.quick.dialogs.quickfiledialogimplattached.namefilters")
-
-QQuickFileDialogImplPrivate::QQuickFileDialogImplPrivate()
-{
-}
-
-void QQuickFileDialogImplPrivate::setNameFilters(const QStringList &filters)
-{
- Q_Q(QQuickFileDialogImpl);
- if (filters == nameFilters)
- return;
-
- nameFilters = filters;
- emit q->nameFiltersChanged();
-}
-
-void QQuickFileDialogImplPrivate::updateEnabled()
-{
- Q_Q(QQuickFileDialogImpl);
- QQuickFileDialogImplAttached *attached = attachedOrWarn();
- if (!attached)
- return;
-
- auto openButton = attached->buttonBox()->standardButton(QPlatformDialogHelper::Open);
- if (!openButton) {
- qmlWarning(q).nospace() << "Can't update Open button's enabled state because it wasn't found";
- return;
- }
-
- openButton->setEnabled(!currentFile.isEmpty() && attached->breadcrumbBar()
- && !attached->breadcrumbBar()->textField()->isVisible());
-}
-
-/*!
- \internal
-
- Ensures that a file is always selected after a change in \c folder.
-
- \a oldFolderPath is the previous value of \c folder.
-*/
-void QQuickFileDialogImplPrivate::updateCurrentFile(const QString &oldFolderPath)
-{
- Q_Q(QQuickFileDialogImpl);
- QQuickFileDialogImplAttached *attached = attachedOrWarn();
- if (!attached || !attached->fileDialogListView())
- return;
-
- QString newCurrentFilePath;
- int newCurrentFileIndex = 0;
- const QString newFolderPath = QQmlFile::urlToLocalFileOrQrc(currentFolder);
- if (!oldFolderPath.isEmpty() && !newFolderPath.isEmpty()) {
- // If the user went up a directory (or several), we should set
- // currentFile to be the directory that we were in (or
- // its closest ancestor that is a child of the new directory).
- // E.g. if oldFolderPath is /foo/bar/baz/abc/xyz, and newFolderPath is /foo/bar,
- // then we want to set currentFile to be /foo/bar/baz.
- const int indexOfFolder = oldFolderPath.indexOf(newFolderPath);
- if (indexOfFolder != -1) {
- // [folder]
- // [ oldFolderPath ]
- // /foo/bar/baz/abc/xyz
- // [rel...Paths]
- QStringList relativePaths = oldFolderPath.mid(indexOfFolder + newFolderPath.size()).split(QLatin1Char('/'), Qt::SkipEmptyParts);
- newCurrentFilePath = newFolderPath + QLatin1Char('/') + relativePaths.first();
-
- // Now find the index of that directory so that we can set the ListView's currentIndex to it.
- const QDir newFolderDir(newFolderPath);
- // Just to be safe...
- if (!newFolderDir.exists()) {
- qmlWarning(q) << "Directory" << newCurrentFilePath << "doesn't exist; can't get a file entry list for it";
- return;
- }
-
- const QFileInfoList dirs = newFolderDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::DirsFirst);
- const QFileInfo newCurrentFileInfo(newCurrentFilePath);
- // The directory can contain files, but since we put dirs first, that should never affect the indices.
- newCurrentFileIndex = dirs.indexOf(newCurrentFileInfo);
- }
- }
-
- if (newCurrentFilePath.isEmpty()) {
- // When entering into a directory that isn't a parent of the old one, the first
- // file delegate should be selected.
- // TODO: is there a cheaper way to do this? QDirIterator doesn't support sorting,
- // so we can't use that. QQuickFolderListModel uses threads to fetch its data,
- // so should be considered asynchronous. We might be able to use it, but it would
- // complicate the code even more...
- QDir newFolderDir(newFolderPath);
- if (newFolderDir.exists()) {
- const QFileInfoList files = newFolderDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot, QDir::DirsFirst);
- if (!files.isEmpty())
- newCurrentFilePath = files.first().absoluteFilePath();
- }
- }
-
- if (!newCurrentFilePath.isEmpty()) {
- q->setCurrentFile(QUrl::fromLocalFile(newCurrentFilePath));
- attached->fileDialogListView()->setCurrentIndex(newCurrentFileIndex);
- if (QQuickItem *currentItem = attached->fileDialogListView()->currentItem())
- currentItem->forceActiveFocus();
- }
-}
-
-void QQuickFileDialogImplPrivate::handleAccept()
-{
- // Let handleClick take care of calling accept().
-}
-
-void QQuickFileDialogImplPrivate::handleClick(QQuickAbstractButton *button)
-{
- Q_Q(QQuickFileDialogImpl);
- if (buttonRole(button) == QPlatformDialogHelper::AcceptRole && currentFile.isValid()) {
- // The "Open" button was clicked, so we need to set the file to the current file, if any.
- const QFileInfo fileInfo(currentFile.toLocalFile());
- if (fileInfo.isDir()) {
- // If it's a directory, navigate to it.
- q->setCurrentFolder(currentFile);
- // Don't call accept(), because selecting a folder != accepting the dialog.
- } else {
- // Otherwise it's a file, so select it and close the dialog.
- q->setSelectedFile(currentFile);
- q->accept();
- QQuickDialogPrivate::handleClick(button);
- emit q->fileSelected(currentFile);
- }
- }
-}
-
-QQuickFileDialogImpl::QQuickFileDialogImpl(QObject *parent)
- : QQuickDialog(*(new QQuickFileDialogImplPrivate), parent)
-{
-}
-
-QQuickFileDialogImplAttached *QQuickFileDialogImpl::qmlAttachedProperties(QObject *object)
-{
- return new QQuickFileDialogImplAttached(object);
-}
-
-QUrl QQuickFileDialogImpl::currentFolder() const
-{
- Q_D(const QQuickFileDialogImpl);
- return d->currentFolder;
-}
-
-void QQuickFileDialogImpl::setCurrentFolder(const QUrl &currentFolder)
-{
- qCDebug(lcCurrentFolder) << "setCurrentFolder called with" << currentFolder;
- Q_D(QQuickFileDialogImpl);
- if (currentFolder == d->currentFolder)
- return;
-
- const QString oldFolderPath = QQmlFile::urlToLocalFileOrQrc(d->currentFolder);
-
- d->currentFolder = currentFolder;
- // Since the directory changed, the old file can no longer be selected.
- setCurrentFile(QUrl());
- d->updateCurrentFile(oldFolderPath);
- emit currentFolderChanged(d->currentFolder);
-}
-
-QUrl QQuickFileDialogImpl::selectedFile() const
-{
- Q_D(const QQuickFileDialogImpl);
- return d->selectedFile;
-}
-
-void QQuickFileDialogImpl::setSelectedFile(const QUrl &selectedFile)
-{
- Q_D(QQuickFileDialogImpl);
- if (selectedFile == d->selectedFile)
- return;
-
- d->selectedFile = selectedFile;
- emit selectedFileChanged();
-}
-
-QUrl QQuickFileDialogImpl::currentFile() const
-{
- Q_D(const QQuickFileDialogImpl);
- return d->currentFile;
-}
-
-void QQuickFileDialogImpl::setCurrentFile(const QUrl &currentFile)
-{
- Q_D(QQuickFileDialogImpl);
- if (currentFile == d->currentFile)
- return;
-
- d->currentFile = currentFile;
- d->updateEnabled();
- emit currentFileChanged(d->currentFile);
-}
-
-QSharedPointer<QFileDialogOptions> QQuickFileDialogImpl::options() const
-{
- Q_D(const QQuickFileDialogImpl);
- return d->options;
-}
-
-void QQuickFileDialogImpl::setOptions(const QSharedPointer<QFileDialogOptions> &options)
-{
- qCDebug(lcOptions).nospace() << "setOptions called with:"
- << " acceptMode=" << options->acceptMode()
- << " fileMode=" << options->fileMode()
- << " initialDirectory=" << options->initialDirectory()
- << " nameFilters=" << options->nameFilters()
- << " initiallySelectedNameFilter=" << options->initiallySelectedNameFilter();
-
- Q_D(QQuickFileDialogImpl);
- d->options = options;
-
- if (d->options) {
- d->selectedNameFilter->setOptions(options);
- d->setNameFilters(options->nameFilters());
- }
-}
-
-/*!
- \internal
-
- The list of user-facing strings describing the available file filters.
-*/
-QStringList QQuickFileDialogImpl::nameFilters() const
-{
- Q_D(const QQuickFileDialogImpl);
- return d->options ? d->options->nameFilters() : QStringList();
-}
-
-void QQuickFileDialogImpl::resetNameFilters()
-{
- Q_D(QQuickFileDialogImpl);
- d->setNameFilters(QStringList());
-}
-
-QQuickFileNameFilter *QQuickFileDialogImpl::selectedNameFilter() const
-{
- Q_D(const QQuickFileDialogImpl);
- if (!d->selectedNameFilter) {
- QQuickFileDialogImpl *that = const_cast<QQuickFileDialogImpl *>(this);
- d->selectedNameFilter = new QQuickFileNameFilter(that);
- if (d->options)
- d->selectedNameFilter->setOptions(d->options);
- }
- return d->selectedNameFilter;
-}
-
-/*!
- \internal
-
- These allow QQuickPlatformFileDialog::show() to set custom labels on the
- dialog buttons without having to know about/go through QQuickFileDialogImplAttached
- and QQuickDialogButtonBox.
-*/
-void QQuickFileDialogImpl::setAcceptLabel(const QString &label)
-{
- Q_D(QQuickFileDialogImpl);
- d->acceptLabel = label;
- QQuickFileDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- auto acceptButton = attached->buttonBox()->standardButton(QPlatformDialogHelper::Open);
- if (!acceptButton) {
- qmlWarning(this).nospace() << "Can't set accept label to " << label
- << "; failed to find Open button in DialogButtonBox of " << this;
- return;
- }
-
- acceptButton->setText(!label.isEmpty()
- ? label : QQuickDialogButtonBoxPrivate::buttonText(QPlatformDialogHelper::Open));
-}
-
-void QQuickFileDialogImpl::setRejectLabel(const QString &label)
-{
- Q_D(QQuickFileDialogImpl);
- d->rejectLabel = label;
- QQuickFileDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- auto rejectButton = attached->buttonBox()->standardButton(QPlatformDialogHelper::Cancel);
- if (!rejectButton) {
- qmlWarning(this).nospace() << "Can't set reject label to " << label
- << "; failed to find Open button in DialogButtonBox of " << this;
- return;
- }
-
- rejectButton->setText(!label.isEmpty()
- ? label : QQuickDialogButtonBoxPrivate::buttonText(QPlatformDialogHelper::Cancel));
-}
-
-void QQuickFileDialogImpl::selectNameFilter(const QString &filter)
-{
- qCDebug(lcNameFilters) << "selectNameFilter called with" << filter;
- Q_D(QQuickFileDialogImpl);
- d->selectedNameFilter->update(filter);
- emit filterSelected(filter);
-}
-
-void QQuickFileDialogImpl::componentComplete()
-{
- Q_D(QQuickFileDialogImpl);
- QQuickDialog::componentComplete();
-
- // Find the right-most button and set its key navigation so that
- // tab moves focus to the breadcrumb bar's up button. I tried
- // doing this via KeyNavigation on the DialogButtonBox in QML,
- // but it didn't work (probably because it's not the right item).
- QQuickFileDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- const int buttonCount = attached->buttonBox()->count();
- if (buttonCount == 0)
- return;
-
- QQuickAbstractButton *rightMostButton = qobject_cast<QQuickAbstractButton *>(
- attached->buttonBox()->itemAt(buttonCount - 1));
- if (!rightMostButton) {
- qmlWarning(this) << "Can't find right-most button in DialogButtonBox";
- return;
- }
-
- auto keyNavigationAttached = QQuickKeyNavigationAttached::qmlAttachedProperties(rightMostButton);
- if (!keyNavigationAttached) {
- qmlWarning(this) << "Can't create attached KeyNavigation object on" << QDebug::toString(rightMostButton);
- return;
- }
-
- keyNavigationAttached->setTab(attached->breadcrumbBar()->upButton());
-}
-
-void QQuickFileDialogImpl::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- Q_D(QQuickFileDialogImpl);
- QQuickDialog::itemChange(change, data);
-
- if (change != QQuickItem::ItemVisibleHasChanged || !isComponentComplete() || !data.boolValue)
- return;
-
- QQuickFileDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- attached->fileDialogListView()->forceActiveFocus();
- d->updateEnabled();
-}
-
-QQuickFileDialogImplAttached *QQuickFileDialogImplPrivate::attachedOrWarn()
-{
- Q_Q(QQuickFileDialogImpl);
- QQuickFileDialogImplAttached *attached = static_cast<QQuickFileDialogImplAttached*>(
- qmlAttachedPropertiesObject<QQuickFileDialogImpl>(q));
- if (!attached)
- qmlWarning(q) << "Expected FileDialogImpl attached object to be present on" << this;
- return attached;
-}
-
-void QQuickFileDialogImplAttachedPrivate::nameFiltersComboBoxItemActivated(int index)
-{
- qCDebug(lcAttachedNameFilters) << "nameFiltersComboBoxItemActivated called with" << index;
- auto fileDialogImpl = qobject_cast<QQuickFileDialogImpl*>(parent);
- if (!fileDialogImpl)
- return;
-
- fileDialogImpl->selectNameFilter(nameFiltersComboBox->textAt(index));
-}
-
-void QQuickFileDialogImplAttachedPrivate::fileDialogListViewCurrentIndexChanged()
-{
- auto fileDialogImpl = qobject_cast<QQuickFileDialogImpl*>(parent);
- if (!fileDialogImpl)
- return;
-
- auto fileDialogDelegate = qobject_cast<QQuickFileDialogDelegate*>(fileDialogListView->currentItem());
- if (!fileDialogDelegate)
- return;
-
- fileDialogImpl->setCurrentFile(fileDialogDelegate->file());
-}
-
-QQuickFileDialogImplAttached::QQuickFileDialogImplAttached(QObject *parent)
- : QObject(*(new QQuickFileDialogImplAttachedPrivate), parent)
-{
- if (!qobject_cast<QQuickFileDialogImpl*>(parent)) {
- qmlWarning(this) << "FileDialogImpl attached properties should only be "
- << "accessed through the root FileDialogImpl instance";
- }
-}
-
-QQuickDialogButtonBox *QQuickFileDialogImplAttached::buttonBox() const
-{
- Q_D(const QQuickFileDialogImplAttached);
- return d->buttonBox;
-}
-
-void QQuickFileDialogImplAttached::setButtonBox(QQuickDialogButtonBox *buttonBox)
-{
- Q_D(QQuickFileDialogImplAttached);
- if (buttonBox == d->buttonBox)
- return;
-
- if (d->buttonBox) {
- QQuickFileDialogImpl *fileDialogImpl = qobject_cast<QQuickFileDialogImpl*>(parent());
- if (fileDialogImpl) {
- auto dialogPrivate = QQuickDialogPrivate::get(fileDialogImpl);
- QObjectPrivate::disconnect(d->buttonBox, &QQuickDialogButtonBox::accepted,
- dialogPrivate, &QQuickDialogPrivate::handleAccept);
- QObjectPrivate::disconnect(d->buttonBox, &QQuickDialogButtonBox::rejected,
- dialogPrivate, &QQuickDialogPrivate::handleReject);
- QObjectPrivate::disconnect(d->buttonBox, &QQuickDialogButtonBox::clicked,
- dialogPrivate, &QQuickDialogPrivate::handleClick);
- }
- }
-
- d->buttonBox = buttonBox;
-
- if (buttonBox) {
- QQuickFileDialogImpl *fileDialogImpl = qobject_cast<QQuickFileDialogImpl*>(parent());
- if (fileDialogImpl) {
- auto dialogPrivate = QQuickDialogPrivate::get(fileDialogImpl);
- QObjectPrivate::connect(d->buttonBox, &QQuickDialogButtonBox::accepted,
- dialogPrivate, &QQuickDialogPrivate::handleAccept);
- QObjectPrivate::connect(d->buttonBox, &QQuickDialogButtonBox::rejected,
- dialogPrivate, &QQuickDialogPrivate::handleReject);
- QObjectPrivate::connect(d->buttonBox, &QQuickDialogButtonBox::clicked,
- dialogPrivate, &QQuickDialogPrivate::handleClick);
- }
- }
-
- emit buttonBoxChanged();
-}
-
-QQuickComboBox *QQuickFileDialogImplAttached::nameFiltersComboBox() const
-{
- Q_D(const QQuickFileDialogImplAttached);
- return d->nameFiltersComboBox;
-}
-
-void QQuickFileDialogImplAttached::setNameFiltersComboBox(QQuickComboBox *nameFiltersComboBox)
-{
- Q_D(QQuickFileDialogImplAttached);
- if (nameFiltersComboBox == d->nameFiltersComboBox)
- return;
-
- d->nameFiltersComboBox = nameFiltersComboBox;
-
- QObjectPrivate::connect(d->nameFiltersComboBox, &QQuickComboBox::activated,
- d, &QQuickFileDialogImplAttachedPrivate::nameFiltersComboBoxItemActivated);
-
- emit nameFiltersComboBoxChanged();
-}
-
-QString QQuickFileDialogImplAttached::selectedNameFilter() const
-{
- Q_D(const QQuickFileDialogImplAttached);
- return d->nameFiltersComboBox ? d->nameFiltersComboBox->currentText() : QString();
-}
-
-void QQuickFileDialogImplAttached::selectNameFilter(const QString &filter)
-{
- Q_D(QQuickFileDialogImplAttached);
- qCDebug(lcAttachedNameFilters) << "selectNameFilter called with" << filter;
- if (!d->nameFiltersComboBox)
- return;
-
- const int indexInComboBox = d->nameFiltersComboBox->find(filter);
- if (indexInComboBox == -1)
- return;
-
- qCDebug(lcAttachedNameFilters) << "setting ComboBox's currentIndex to" << indexInComboBox;
- d->nameFiltersComboBox->setCurrentIndex(indexInComboBox);
-}
-
-QQuickListView *QQuickFileDialogImplAttached::fileDialogListView() const
-{
- Q_D(const QQuickFileDialogImplAttached);
- return d->fileDialogListView;
-}
-
-void QQuickFileDialogImplAttached::setFileDialogListView(QQuickListView *fileDialogListView)
-{
- Q_D(QQuickFileDialogImplAttached);
- if (fileDialogListView == d->fileDialogListView)
- return;
-
- d->fileDialogListView = fileDialogListView;
-
- QObjectPrivate::connect(d->fileDialogListView, &QQuickListView::currentIndexChanged,
- d, &QQuickFileDialogImplAttachedPrivate::fileDialogListViewCurrentIndexChanged);
-
- emit fileDialogListViewChanged();
-}
-
-QQuickFolderBreadcrumbBar *QQuickFileDialogImplAttached::breadcrumbBar() const
-{
- Q_D(const QQuickFileDialogImplAttached);
- return d->breadcrumbBar;
-}
-
-void QQuickFileDialogImplAttached::setBreadcrumbBar(QQuickFolderBreadcrumbBar *breadcrumbBar)
-{
- Q_D(QQuickFileDialogImplAttached);
- if (breadcrumbBar == d->breadcrumbBar)
- return;
-
- d->breadcrumbBar = breadcrumbBar;
- emit breadcrumbBarChanged();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p.h
deleted file mode 100644
index 23f8cf14..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFILEDIALOGIMPL_P_H
-#define QQUICKFILEDIALOGIMPL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuick/private/qquicklistview_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-
-#include "qtquickdialogs2quickimplglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickComboBox;
-class QQuickDialogButtonBox;
-
-class QQuickFileDialogImplAttached;
-class QQuickFileDialogImplAttachedPrivate;
-class QQuickFileDialogImplPrivate;
-class QQuickFileNameFilter;
-class QQuickFolderBreadcrumbBar;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFileDialogImpl : public QQuickDialog
-{
- Q_OBJECT
- Q_PROPERTY(QUrl currentFolder READ currentFolder WRITE setCurrentFolder NOTIFY currentFolderChanged FINAL)
- Q_PROPERTY(QUrl selectedFile READ selectedFile WRITE setSelectedFile NOTIFY selectedFileChanged FINAL)
- Q_PROPERTY(QUrl currentFile READ currentFile WRITE setCurrentFile NOTIFY currentFileChanged FINAL)
- Q_PROPERTY(QStringList nameFilters READ nameFilters NOTIFY nameFiltersChanged FINAL)
- Q_PROPERTY(QQuickFileNameFilter *selectedNameFilter READ selectedNameFilter CONSTANT)
- QML_NAMED_ELEMENT(FileDialogImpl)
- QML_ATTACHED(QQuickFileDialogImplAttached)
- QML_ADDED_IN_VERSION(6, 2)
- Q_MOC_INCLUDE(<QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>)
- Q_MOC_INCLUDE(<QtQuickDialogs2QuickImpl/private/qquickfolderbreadcrumbbar_p.h>)
-
-public:
- explicit QQuickFileDialogImpl(QObject *parent = nullptr);
-
- static QQuickFileDialogImplAttached *qmlAttachedProperties(QObject *object);
-
- QUrl currentFolder() const;
- void setCurrentFolder(const QUrl &currentFolder);
-
- QUrl selectedFile() const;
- void setSelectedFile(const QUrl &file);
-
- QUrl currentFile() const;
- void setCurrentFile(const QUrl &currentFile);
-
- QSharedPointer<QFileDialogOptions> options() const;
- void setOptions(const QSharedPointer<QFileDialogOptions> &options);
-
- QStringList nameFilters() const;
- void resetNameFilters();
-
- QQuickFileNameFilter *selectedNameFilter() const;
-
- void setAcceptLabel(const QString &label);
- void setRejectLabel(const QString &label);
-
-public Q_SLOTS:
- void selectNameFilter(const QString &filter);
-
-Q_SIGNALS:
- void currentFolderChanged(const QUrl &folderUrl);
- void selectedFileChanged();
- void currentFileChanged(const QUrl &currentFileUrl);
- void nameFiltersChanged();
- void fileSelected(const QUrl &fileUrl);
- void filterSelected(const QString &filter);
-
-private:
- void componentComplete() override;
- void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) override;
-
- Q_DISABLE_COPY(QQuickFileDialogImpl)
- Q_DECLARE_PRIVATE(QQuickFileDialogImpl)
-};
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFileDialogImplAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickDialogButtonBox *buttonBox READ buttonBox WRITE setButtonBox NOTIFY buttonBoxChanged FINAL)
- Q_PROPERTY(QQuickComboBox *nameFiltersComboBox READ nameFiltersComboBox WRITE setNameFiltersComboBox NOTIFY nameFiltersComboBoxChanged)
- Q_PROPERTY(QQuickListView *fileDialogListView READ fileDialogListView WRITE setFileDialogListView NOTIFY fileDialogListViewChanged)
- Q_PROPERTY(QQuickFolderBreadcrumbBar *breadcrumbBar READ breadcrumbBar WRITE setBreadcrumbBar NOTIFY breadcrumbBarChanged)
- Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>)
- Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickcombobox_p.h>)
-
-public:
- explicit QQuickFileDialogImplAttached(QObject *parent = nullptr);
-
- QQuickDialogButtonBox *buttonBox() const;
- void setButtonBox(QQuickDialogButtonBox *buttonBox);
-
- QQuickComboBox *nameFiltersComboBox() const;
- void setNameFiltersComboBox(QQuickComboBox *nameFiltersComboBox);
-
- QString selectedNameFilter() const;
- void selectNameFilter(const QString &filter);
-
- QQuickListView *fileDialogListView() const;
- void setFileDialogListView(QQuickListView *fileDialogListView);
-
- QQuickFolderBreadcrumbBar *breadcrumbBar() const;
- void setBreadcrumbBar(QQuickFolderBreadcrumbBar *breadcrumbBar);
-
-Q_SIGNALS:
- void buttonBoxChanged();
- void nameFiltersComboBoxChanged();
- void fileDialogListViewChanged();
- void breadcrumbBarChanged();
-
-private:
- Q_DISABLE_COPY(QQuickFileDialogImplAttached)
- Q_DECLARE_PRIVATE(QQuickFileDialogImplAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFileDialogImpl)
-
-#endif // QQUICKFILEDIALOGIMPL_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p_p.h
deleted file mode 100644
index 1831a7dc..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogimpl_p_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFILEDIALOG_P_P_H
-#define QQUICKFILEDIALOG_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcombobox_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p_p.h>
-#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>
-
-#include "qquickfiledialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFileNameFilter;
-
-class QQuickFileDialogImplPrivate : public QQuickDialogPrivate
-{
- Q_DECLARE_PUBLIC(QQuickFileDialogImpl)
-
-public:
- QQuickFileDialogImplPrivate();
-
- static QQuickFileDialogImplPrivate *get(QQuickFileDialogImpl *dialog)
- {
- return dialog->d_func();
- }
-
- QQuickFileDialogImplAttached *attachedOrWarn();
-
- void setNameFilters(const QStringList &filters);
-
- void updateEnabled();
- void updateCurrentFile(const QString &oldFolderPath);
-
- void handleAccept() override;
- void handleClick(QQuickAbstractButton *button) override;
-
- QSharedPointer<QFileDialogOptions> options;
- QUrl currentFolder;
- QUrl selectedFile;
- QUrl currentFile;
- QStringList nameFilters;
- mutable QQuickFileNameFilter *selectedNameFilter = nullptr;
- QString acceptLabel;
- QString rejectLabel;
-};
-
-class QQuickFileDialogImplAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickFileDialogImplAttached)
-
- void nameFiltersComboBoxItemActivated(int index);
- void fileDialogListViewCurrentIndexChanged();
-
-public:
- QPointer<QQuickDialogButtonBox> buttonBox;
- QPointer<QQuickComboBox> nameFiltersComboBox;
- QPointer<QQuickListView> fileDialogListView;
- QPointer<QQuickFolderBreadcrumbBar> breadcrumbBar;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFILEDIALOG_P_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar.cpp
deleted file mode 100644
index c204d8fa..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar.cpp
+++ /dev/null
@@ -1,784 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickfolderbreadcrumbbar_p.h"
-#include "qquickfolderbreadcrumbbar_p_p.h"
-
-#include <QtCore/qdir.h>
-#include <QtCore/qloggingcategory.h>
-#if QT_CONFIG(shortcut)
-#include <QtGui/private/qshortcutmap_p.h>
-#endif
-#include <QtGui/private/qguiapplication_p.h>
-#include <QtQml/QQmlFile>
-#include <QtQuick/private/qquicktextinput_p.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-#include <QtQuickTemplates2/private/qquickpopupitem_p_p.h>
-#include <QtQuickTemplates2/private/qquickshortcutcontext_p_p.h>
-
-#include "qquickfiledialogimpl_p.h"
-#include "qquickfiledialogimpl_p_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcFolderBreadcrumbBar, "qt.quick.dialogs.folderbreadcrumbbar")
-Q_LOGGING_CATEGORY(lcContentSize, "qt.quick.dialogs.folderbreadcrumbbar.contentsize")
-Q_LOGGING_CATEGORY(lcDelegates, "qt.quick.dialogs.folderbreadcrumbbar.delegates")
-Q_LOGGING_CATEGORY(lcShortcuts, "qt.quick.dialogs.folderbreadcrumbbar.shortcuts")
-Q_LOGGING_CATEGORY(lcTextInput, "qt.quick.dialogs.folderbreadcrumbbar.textinput")
-Q_LOGGING_CATEGORY(lcCurrentItem, "qt.quick.dialogs.folderbreadcrumbbar.currentitem")
-
-QQuickItem *QQuickFolderBreadcrumbBarPrivate::createDelegateItem(QQmlComponent *component, const QVariantMap &initialProperties)
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- // If we don't use the correct context, it won't be possible to refer to
- // the control's id from within the delegates.
- QQmlContext *creationContext = component->creationContext();
- // The component might not have been created in QML, in which case
- // the creation context will be null and we have to create it ourselves.
- if (!creationContext)
- creationContext = qmlContext(q);
- QQmlContext *context = new QQmlContext(creationContext, q);
- context->setContextObject(q);
- QQuickItem *item = qobject_cast<QQuickItem*>(component->createWithInitialProperties(initialProperties, context));
- if (item)
- QQml_setParent_noEvent(item, q);
- qCDebug(lcDelegates) << "- created delegate item" << item << "with initialProperties" << initialProperties;
- return item;
-}
-
-QString QQuickFolderBreadcrumbBarPrivate::folderBaseName(const QString &folderPath)
-{
- if (folderPath == QLatin1String("/")) {
- // Unix root.
- return folderPath;
- } else if (folderPath.endsWith(QLatin1String(":/"))) {
- // Windows drive.
- return folderPath.mid(0, folderPath.size() - 1);
- }
- const QString baseName = folderPath.mid(folderPath.lastIndexOf(QLatin1Char('/')) + 1);
- return baseName;
-}
-
-/*!
- \internal
-
- Returns \c { "/foo", "/foo/bar", "/foo/bar/baz" } if \a folder is \c "/foo/bar/baz".
-*/
-QStringList QQuickFolderBreadcrumbBarPrivate::crumbPathsForFolder(const QUrl &folder)
-{
- const QString folderPath = QDir::fromNativeSeparators(QQmlFile::urlToLocalFileOrQrc(folder));
- QDir dir(folderPath);
- // In order to collect the paths for each breadcrumb, we need to work backwards, so we prepend.
- QStringList paths;
- do {
- paths.prepend(dir.absolutePath());
- } while (dir.cdUp());
- return paths;
-}
-
-void QQuickFolderBreadcrumbBarPrivate::repopulate()
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- qCDebug(lcDelegates) << "attemping to repopulate breadcrumb bar using folder...";
-
- if (repopulating)
- return;
-
- if (!buttonDelegate || !separatorDelegate || !q->contentItem()) {
- qCWarning(lcDelegates) << "Both delegates and contentItem must be set before repopulating";
- return;
- }
-
- QBoolBlocker repopulateGuard(repopulating);
-
- auto failureCleanup = [=](){
- folderPaths.clear();
- while (q->count() > 0)
- q->removeItem(q->itemAt(0));
- };
-
- qCDebug(lcDelegates) << "- getting paths for directory" << fileDialog->currentFolder();
- folderPaths = crumbPathsForFolder(fileDialog->currentFolder());
-
- while (q->count() > 0)
- q->removeItem(q->itemAt(0));
-
- for (int i = 0; i < folderPaths.size(); ++i) {
- const QString &folderPath = folderPaths.at(i);
-
- QVariantMap initialProperties = {
- { QStringLiteral("index"), QVariant::fromValue(i) },
- { QStringLiteral("folderName"), QVariant::fromValue(folderBaseName(folderPath)) }
- };
- QQuickItem *buttonItem = createDelegateItem(buttonDelegate, initialProperties);
- if (!buttonItem) {
- qCWarning(lcDelegates) << "Failed creating breadcrumb buttonDelegate item:\n" << buttonDelegate->errorString();
- failureCleanup();
- break;
- }
- if (QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton*>(buttonItem)) {
- QObjectPrivate::connect(button, &QQuickAbstractButton::clicked,
- this, &QQuickFolderBreadcrumbBarPrivate::crumbClicked);
- }
- insertItem(q->count(), buttonItem);
-
- // Don't add a separator for the last button.
- if (i < folderPaths.size() - 1) {
- initialProperties = {};
- QQuickItem *separatorItem = createDelegateItem(separatorDelegate, initialProperties);
- if (!separatorItem) {
- qCWarning(lcDelegates) << "Failed creating breadcrumb separatorDelegate item:\n" << buttonDelegate->errorString();
- failureCleanup();
- break;
- }
- insertItem(q->count(), separatorItem);
- }
- }
-
- const int finalCount = q->count();
- // We would do - 2, since separators are included in the count,
- // but as we don't add a separator for the last button, we only need to subtract 1.
- const int newCurrentIndex = finalCount > 2 ? finalCount - 1 : -1;
- qCDebug(lcDelegates) << "- setting currentIndex to" << newCurrentIndex;
- q->setCurrentIndex(newCurrentIndex);
-
- updateImplicitContentSize();
-
- qCDebug(lcDelegates) << "... bar now contains" << q->count()
- << "buttons and separators in total, for the following paths:" << folderPaths;
-}
-
-void QQuickFolderBreadcrumbBarPrivate::crumbClicked()
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- qCDebug(lcCurrentItem) << "updateCurrentIndex called by sender" << q->sender();
- QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton*>(q->sender());
- if (button) {
- const int buttonIndex = contentModel->indexOf(button, nullptr);
- q->setCurrentIndex(buttonIndex);
- const QUrl folderUrl = QUrl::fromLocalFile(folderPaths.at(buttonIndex / 2));
- // TODO: don't repopulate the whole model when clicking on crumbs
- qCDebug(lcCurrentItem) << "setting file dialog's folder to" << folderUrl;
- fileDialog->setCurrentFolder(folderUrl);
- }
-}
-
-void QQuickFolderBreadcrumbBarPrivate::folderChanged()
-{
- if (componentComplete)
- repopulate();
-}
-
-static inline QString upButtonName()
-{
- return QStringLiteral("upButton");
-}
-
-void QQuickFolderBreadcrumbBarPrivate::cancelUpButton()
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- quickCancelDeferred(q, upButtonName());
-}
-
-void QQuickFolderBreadcrumbBarPrivate::executeUpButton(bool complete)
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- if (upButton.wasExecuted())
- return;
-
- if (!upButton || complete)
- quickBeginDeferred(q, upButtonName(), upButton);
- if (complete)
- quickCompleteDeferred(q, upButtonName(), upButton);
-}
-
-void QQuickFolderBreadcrumbBarPrivate::goUp()
-{
- QDir dir(QQmlFile::urlToLocalFileOrQrc(fileDialog->currentFolder()));
- dir.cdUp();
- fileDialog->setCurrentFolder(QUrl::fromLocalFile(dir.absolutePath()));
-}
-
-static inline QString textFieldName()
-{
- return QStringLiteral("textField");
-}
-
-void QQuickFolderBreadcrumbBarPrivate::cancelTextField()
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- quickCancelDeferred(q, textFieldName());
-}
-
-void QQuickFolderBreadcrumbBarPrivate::executeTextField(bool complete)
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- if (textField.wasExecuted())
- return;
-
- if (!textField || complete)
- quickBeginDeferred(q, textFieldName(), textField);
- if (complete)
- quickCompleteDeferred(q, textFieldName(), textField);
-}
-
-void QQuickFolderBreadcrumbBarPrivate::toggleTextFieldVisibility()
-{
- const QUrl url = !fileDialog->selectedFile().isEmpty() ? fileDialog->selectedFile() : fileDialog->currentFolder();
- textField->setText(QQmlFile::urlToLocalFileOrQrc(url));
- textField->setVisible(!textField->isVisible());
-
- qCDebug(lcTextInput) << "text field visibility changed to" << textField->isVisible();
-
- if (textField->isVisible()) {
- // The text field is now visible, so give it focus,
- // select the text, and let it handle escape/back.
- textField->forceActiveFocus(Qt::ShortcutFocusReason);
- textField->selectAll();
- }
-
- // We connect to the TextField's visibleChanged signal, so textFieldVisibleChanged()
- // will get called automatically and we don't need to call it here.
-
- contentItem->setVisible(!textField->isVisible());
-
- // When the TextField is visible, certain items in the dialog need to be disabled.
- auto fileDialogPrivate = QQuickFileDialogImplPrivate::get(fileDialog);
- fileDialogPrivate->updateEnabled();
-}
-
-void QQuickFolderBreadcrumbBarPrivate::textFieldAccepted()
-{
- const QUrl fileUrl = QUrl::fromLocalFile(textField->text());
- const bool mustExist = fileDialog->options()->acceptMode() != QFileDialogOptions::AcceptSave;
- const bool enteredPathIsValidUrl = fileUrl.isValid();
- bool enteredPathExists = false;
- bool enteredPathIsDir = false;
- if (enteredPathIsValidUrl) {
- const QFileInfo fileInfo(textField->text());
- enteredPathExists = fileInfo.exists();
- if (enteredPathExists)
- enteredPathIsDir = fileInfo.isDir();
- }
-
- qCDebug(lcTextInput).nospace() << "text field accepted -"
- << " text=" << textField->text()
- << " fileUrl=" << fileUrl
- << " mustExist=" << mustExist
- << " enteredPathIsValidUrl=" << enteredPathIsValidUrl
- << " enteredPathExists=" << enteredPathExists
- << " enteredPathIsDir=" << enteredPathIsDir;
-
- if (enteredPathIsDir && (enteredPathExists || !mustExist)) {
- qCDebug(lcTextInput) << "path entered is a folder; setting folder";
- fileDialog->setCurrentFolder(fileUrl);
- } else if (!enteredPathIsDir && (enteredPathExists || !mustExist)) {
- qCDebug(lcTextInput) << "path entered is a file; setting file and calling accept()";
- // It's important that we set the currentFile here, as that's what
- // QQuickPlatformFileDialog::selectedFiles() needs to return, and
- // QQuickFileDialog::accept() sets its file property based on
- // selectedFiles().
- fileDialog->setCurrentFile(fileUrl);
- fileDialog->setSelectedFile(fileUrl);
- fileDialog->accept();
- } else {
- qCDebug(lcTextInput) << "path entered is not valid; not setting file/folder";
- }
-
- toggleTextFieldVisibility();
-}
-
-void QQuickFolderBreadcrumbBarPrivate::textFieldVisibleChanged()
-{
- qCDebug(lcShortcuts) << "text field was either hidden or shown";
-
- if (textField && textField->isVisible())
- handleTextFieldShown();
- else
- handleTextFieldHidden();
-}
-
-void QQuickFolderBreadcrumbBarPrivate::textFieldActiveFocusChanged()
-{
- // When the text field loses focus, it should be hidden.
- if (!textField->hasActiveFocus() && textField->isVisible())
- toggleTextFieldVisibility();
-}
-
-/*
- When the text field is visible:
-
- - Ctrl+L should do nothing (matches e.g. Ubuntu and Windows)
- - Escape/back should hide it
-*/
-void QQuickFolderBreadcrumbBarPrivate::handleTextFieldShown()
-{
-#if QT_CONFIG(shortcut)
- Q_Q(QQuickFolderBreadcrumbBar);
- if (editPathToggleShortcutId == 0)
- return;
-
- QGuiApplicationPrivate *appPrivate = QGuiApplicationPrivate::instance();
- qCDebug(lcShortcuts) << "text field was shown; grabbing/ungrabbing relevant shortcuts...";
-
- // Disable the back/escape shortcuts for QQuickPopup so that the TextField can get them.
- auto popupItem = qobject_cast<QQuickPopupItem*>(fileDialog->popupItem());
- popupItem->ungrabShortcut();
-
- appPrivate->shortcutMap.removeShortcut(editPathToggleShortcutId, q);
- editPathToggleShortcutId = 0;
-
- editPathBackShortcutId = appPrivate->shortcutMap.addShortcut(
- q, Qt::Key_Back, Qt::WindowShortcut, QQuickShortcutContext::matcher);
- editPathEscapeShortcutId = appPrivate->shortcutMap.addShortcut(
- q, Qt::Key_Escape, Qt::WindowShortcut, QQuickShortcutContext::matcher);
-
- qCDebug(lcShortcuts).nospace() << "... shortcut IDs:"
- << " editPathToggleShortcutId=" << editPathToggleShortcutId
- << " editPathBackShortcutId=" << editPathBackShortcutId
- << " editPathEscapeShortcutId=" << editPathEscapeShortcutId;
-#endif
-}
-
-/*
- When the text field is not visible:
-
- - Ctrl+L should make it visible
- - Escape/back should close the dialog
-*/
-void QQuickFolderBreadcrumbBarPrivate::handleTextFieldHidden()
-{
-#if QT_CONFIG(shortcut)
- Q_Q(QQuickFolderBreadcrumbBar);
-
- QGuiApplicationPrivate *appPrivate = QGuiApplicationPrivate::instance();
- qCDebug(lcShortcuts) << "text field was hidden; grabbing/ungrabbing relevant shortcuts...";
-
- if (editPathToggleShortcutId == 0) {
- editPathToggleShortcutId = appPrivate->shortcutMap.addShortcut(
- q, Qt::CTRL | Qt::Key_L, Qt::WindowShortcut, QQuickShortcutContext::matcher);
- }
-
- // When the bar is first completed, this function is called, since the text field starts off hidden.
- // If removeShortcut is called with a zero id, all shortcuts for the given object will be removed,
- // and we don't want that.
- if (editPathBackShortcutId != 0) {
- appPrivate->shortcutMap.removeShortcut(editPathBackShortcutId, q);
- editPathBackShortcutId = 0;
- }
- if (editPathEscapeShortcutId != 0) {
- appPrivate->shortcutMap.removeShortcut(editPathEscapeShortcutId, q);
- editPathEscapeShortcutId = 0;
- }
-
- // Re-enable the back/escape shortcuts for QQuickPopup now that TextField no longer needs them.
- auto popupItem = qobject_cast<QQuickPopupItem*>(fileDialog->popupItem());
- if (popupItem)
- popupItem->grabShortcut();
-
- qCDebug(lcShortcuts).nospace() << "... shortcut IDs: "
- << " editPathToggleShortcutId=" << editPathToggleShortcutId
- << " editPathBackShortcutId=" << editPathBackShortcutId
- << " editPathEscapeShortcutId=" << editPathEscapeShortcutId;
-#endif
-}
-
-void QQuickFolderBreadcrumbBarPrivate::ungrabEditPathShortcuts()
-{
-#if QT_CONFIG(shortcut)
- Q_Q(QQuickFolderBreadcrumbBar);
- QGuiApplicationPrivate *appPrivate = QGuiApplicationPrivate::instance();
- qCDebug(lcShortcuts) << "ungrabbing all edit path shortcuts";
-
- if (editPathToggleShortcutId != 0) {
- appPrivate->shortcutMap.removeShortcut(editPathToggleShortcutId, q);
- editPathToggleShortcutId = 0;
- }
- if (editPathBackShortcutId != 0) {
- appPrivate->shortcutMap.removeShortcut(editPathBackShortcutId, q);
- editPathBackShortcutId = 0;
- }
- if (editPathEscapeShortcutId != 0) {
- appPrivate->shortcutMap.removeShortcut(editPathEscapeShortcutId, q);
- editPathEscapeShortcutId = 0;
- }
-#endif
-}
-
-qreal QQuickFolderBreadcrumbBarPrivate::getContentWidth() const
-{
- Q_Q(const QQuickFolderBreadcrumbBar);
- const int count = contentModel->count();
- qreal totalWidth = qMax(0, count - 1) * spacing;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item) {
- QQuickItemPrivate *p = QQuickItemPrivate::get(item);
- if (!p->widthValid())
- totalWidth += item->implicitWidth();
- else
- totalWidth += item->width();
- }
- }
- qCDebug(lcContentSize) << "content width:" << totalWidth;
- return totalWidth;
-}
-
-qreal QQuickFolderBreadcrumbBarPrivate::getContentHeight() const
-{
- Q_Q(const QQuickFolderBreadcrumbBar);
- const int count = contentModel->count();
- qreal maxHeight = 0;
- for (int i = 0; i < count; ++i) {
- QQuickItem *item = q->itemAt(i);
- if (item)
- maxHeight = qMax(maxHeight, item->implicitHeight());
- }
- qCDebug(lcContentSize) << "content height:" << maxHeight;
- return maxHeight;
-}
-
-void QQuickFolderBreadcrumbBarPrivate::resizeContent()
-{
- Q_Q(QQuickFolderBreadcrumbBar);
- if (contentItem) {
- const int upButtonSpace = q->upButton() ? q->upButton()->width() + upButtonSpacing : 0;
- contentItem->setPosition(QPointF(q->leftPadding() + upButtonSpace, q->topPadding()));
- contentItem->setSize(QSizeF(q->availableWidth() - upButtonSpace, q->availableHeight()));
-
- if (textField) {
- textField->setPosition(contentItem->position());
- textField->setSize(contentItem->size());
- }
- }
-}
-
-void QQuickFolderBreadcrumbBarPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff)
-{
- QQuickContainerPrivate::itemGeometryChanged(item, change, diff);
- if (change.sizeChange())
- updateImplicitContentSize();
-}
-
-void QQuickFolderBreadcrumbBarPrivate::itemImplicitWidthChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitWidthChanged(item);
- if (item != contentItem)
- updateImplicitContentWidth();
-}
-
-void QQuickFolderBreadcrumbBarPrivate::itemImplicitHeightChanged(QQuickItem *item)
-{
- QQuickContainerPrivate::itemImplicitHeightChanged(item);
- if (item != contentItem)
- updateImplicitContentHeight();
-}
-
-/*!
- \internal
-
- Private class for breadcrumb navigation of a directory.
-
- Given a FileDialog, FolderBreadCrumbbar creates breadcrumb buttons and
- separators from the specified delegate components.
-*/
-
-QQuickFolderBreadcrumbBar::QQuickFolderBreadcrumbBar(QQuickItem *parent)
- : QQuickContainer(*(new QQuickFolderBreadcrumbBarPrivate), parent)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- d->changeTypes |= QQuickItemPrivate::Geometry | QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight;
-}
-
-QQuickFileDialogImpl *QQuickFolderBreadcrumbBar::fileDialog() const
-{
- Q_D(const QQuickFolderBreadcrumbBar);
- return d->fileDialog;
-}
-
-void QQuickFolderBreadcrumbBar::setFileDialog(QQuickFileDialogImpl *fileDialog)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- if (fileDialog == d->fileDialog)
- return;
-
- if (d->fileDialog)
- QObjectPrivate::disconnect(d->fileDialog, &QQuickFileDialogImpl::currentFolderChanged,
- d, &QQuickFolderBreadcrumbBarPrivate::folderChanged);
-
- d->fileDialog = fileDialog;
-
- if (d->fileDialog)
- QObjectPrivate::connect(d->fileDialog, &QQuickFileDialogImpl::currentFolderChanged,
- d, &QQuickFolderBreadcrumbBarPrivate::folderChanged);
-
- emit fileDialogChanged();
-}
-
-QQmlComponent *QQuickFolderBreadcrumbBar::buttonDelegate()
-{
- Q_D(QQuickFolderBreadcrumbBar);
- return d->buttonDelegate;
-}
-
-void QQuickFolderBreadcrumbBar::setButtonDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- qCDebug(lcFolderBreadcrumbBar) << "setButtonDelegate called with" << delegate;
- if (d->componentComplete) {
- // Simplify the code by disallowing this.
- qCWarning(lcFolderBreadcrumbBar) << "BreadcrumbBar does not support setting delegates after component completion";
- return;
- }
-
- if (delegate == d->buttonDelegate)
- return;
-
- d->buttonDelegate = delegate;
- emit buttonDelegateChanged();
-}
-
-QQmlComponent *QQuickFolderBreadcrumbBar::separatorDelegate()
-{
- Q_D(QQuickFolderBreadcrumbBar);
- return d->separatorDelegate;
-}
-
-void QQuickFolderBreadcrumbBar::setSeparatorDelegate(QQmlComponent *delegate)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- qCDebug(lcFolderBreadcrumbBar) << "setSeparatorDelegate called with" << delegate;
- if (d->componentComplete) {
- qCWarning(lcFolderBreadcrumbBar) << "BreadcrumbBar does not support setting delegates after component completion";
- return;
- }
-
- if (delegate == d->separatorDelegate)
- return;
-
- d->separatorDelegate = delegate;
- emit separatorDelegateChanged();
-}
-
-QQuickAbstractButton *QQuickFolderBreadcrumbBar::upButton()
-{
- Q_D(QQuickFolderBreadcrumbBar);
- if (!d->upButton)
- d->executeUpButton();
- return d->upButton;
-}
-
-void QQuickFolderBreadcrumbBar::setUpButton(QQuickAbstractButton *upButton)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- if (upButton == d->upButton)
- return;
-
- if (!d->upButton.isExecuting())
- d->cancelUpButton();
-
- if (d->upButton) {
- QObjectPrivate::disconnect(d->upButton.data(), &QQuickAbstractButton::clicked,
- d, &QQuickFolderBreadcrumbBarPrivate::goUp);
- }
-
- QQuickControlPrivate::hideOldItem(d->upButton);
- d->upButton = upButton;
- if (d->upButton) {
- if (!d->upButton->parentItem())
- d->upButton->setParentItem(this);
-
- QObjectPrivate::connect(d->upButton.data(), &QQuickAbstractButton::clicked,
- d, &QQuickFolderBreadcrumbBarPrivate::goUp);
- }
- if (!d->upButton.isExecuting())
- emit upButtonChanged();
-}
-
-int QQuickFolderBreadcrumbBar::upButtonSpacing() const
-{
- Q_D(const QQuickFolderBreadcrumbBar);
- return d->upButtonSpacing;
-}
-
-void QQuickFolderBreadcrumbBar::setUpButtonSpacing(int upButtonSpacing)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- if (upButtonSpacing == d->upButtonSpacing)
- return;
-
- d->upButtonSpacing = upButtonSpacing;
- emit upButtonSpacingChanged();
-}
-
-QQuickTextField *QQuickFolderBreadcrumbBar::textField()
-{
- Q_D(QQuickFolderBreadcrumbBar);
- return d->textField;
-}
-
-void QQuickFolderBreadcrumbBar::setTextField(QQuickTextField *textField)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- if (textField == d->textField)
- return;
-
- if (!d->textField.isExecuting())
- d->cancelUpButton();
-
- if (d->textField)
- d->handleTextFieldHidden();
-
- if (d->textField) {
- QObjectPrivate::disconnect(d->textField.data(), &QQuickTextInput::visibleChanged,
- d, &QQuickFolderBreadcrumbBarPrivate::textFieldVisibleChanged);
- QObjectPrivate::disconnect(d->textField.data(), &QQuickTextInput::activeFocusChanged,
- d, &QQuickFolderBreadcrumbBarPrivate::textFieldActiveFocusChanged);
- QObjectPrivate::disconnect(d->textField.data(), &QQuickTextInput::accepted,
- d, &QQuickFolderBreadcrumbBarPrivate::textFieldAccepted);
- }
-
- QQuickControlPrivate::hideOldItem(d->textField);
- d->textField = textField;
- if (d->textField) {
- if (!d->textField->parentItem())
- d->textField->setParentItem(this);
-
- d->textField->setVisible(false);
-
- QObjectPrivate::connect(d->textField.data(), &QQuickTextInput::visibleChanged,
- d, &QQuickFolderBreadcrumbBarPrivate::textFieldVisibleChanged);
- QObjectPrivate::connect(d->textField.data(), &QQuickTextInput::activeFocusChanged,
- d, &QQuickFolderBreadcrumbBarPrivate::textFieldActiveFocusChanged);
- QObjectPrivate::connect(d->textField.data(), &QQuickTextInput::accepted,
- d, &QQuickFolderBreadcrumbBarPrivate::textFieldAccepted);
- }
- if (!d->textField.isExecuting())
- emit textFieldChanged();
-}
-
-bool QQuickFolderBreadcrumbBar::event(QEvent *event)
-{
-#if QT_CONFIG(shortcut)
- Q_D(QQuickFolderBreadcrumbBar);
- if (event->type() == QEvent::Shortcut) {
- QShortcutEvent *shortcutEvent = static_cast<QShortcutEvent *>(event);
- if (shortcutEvent->shortcutId() == d->editPathToggleShortcutId
- || shortcutEvent->shortcutId() == d->editPathBackShortcutId
- || shortcutEvent->shortcutId() == d->editPathEscapeShortcutId) {
- d->toggleTextFieldVisibility();
- return true;
- } else if (shortcutEvent->shortcutId() == d->goUpShortcutId) {
- d->goUp();
- }
- }
-#endif
- return QQuickItem::event(event);
-}
-
-void QQuickFolderBreadcrumbBar::componentComplete()
-{
- Q_D(QQuickFolderBreadcrumbBar);
- qCDebug(lcFolderBreadcrumbBar) << "componentComplete";
- QQuickContainer::componentComplete();
- d->repopulate();
-
- if (d->textField) {
- // Force it to be updated as setTextField() is too early to do it.
- d->textFieldVisibleChanged();
- }
-}
-
-void QQuickFolderBreadcrumbBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
-{
- Q_D(QQuickFolderBreadcrumbBar);
- QQuickContainer::itemChange(change, data);
-
- if (change == QQuickItem::ItemVisibleHasChanged && isComponentComplete()) {
- if (data.boolValue && d->fileDialog->isVisible()) {
- // It's visible.
- d->handleTextFieldHidden();
-
- d->goUpShortcutId = QGuiApplicationPrivate::instance()->shortcutMap.addShortcut(
- this, QKeySequence(Qt::ALT | Qt::Key_Up), Qt::WindowShortcut, QQuickShortcutContext::matcher);
- } else {
- // It's hidden.
- // Hide the text field so that when the dialog gets opened again, it's not still visible.
- if (d->textField)
- d->textField->setVisible(false);
-
- // Make the ListView visible again.
- if (d->contentItem)
- d->contentItem->setVisible(true);
-
- // We also need to ungrab all shortcuts when we're not visible.
- d->ungrabEditPathShortcuts();
-
- if (d->goUpShortcutId != 0) {
- QGuiApplicationPrivate::instance()->shortcutMap.removeShortcut(d->goUpShortcutId, this);
- d->goUpShortcutId = 0;
- }
- }
- }
-}
-
-bool QQuickFolderBreadcrumbBar::isContent(QQuickItem *item) const
-{
- if (!qmlContext(item))
- return false;
-
- if (QQuickItemPrivate::get(item)->isTransparentForPositioner())
- return false;
-
- return true;
-}
-
-QFont QQuickFolderBreadcrumbBar::defaultFont() const
-{
- // TODO
- return QQuickTheme::font(QQuickTheme::TabBar);
-}
-
-#if QT_CONFIG(accessibility)
-QAccessible::Role QQuickFolderBreadcrumbBar::accessibleRole() const
-{
- // TODO
- return QAccessible::PageTabList;
-}
-#endif
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p.h
deleted file mode 100644
index 5e14f5b0..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFOLDERBREADCRUMBBAR_P_H
-#define QQUICKFOLDERBREADCRUMBBAR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqmlcomponent.h>
-#include <QtQuickTemplates2/private/qquickcontainer_p.h>
-#include <QtQuickTemplates2/private/qquicktextfield_p.h>
-
-#include "qquickfiledialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFolderBreadcrumbBarPrivate;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFolderBreadcrumbBar : public QQuickContainer
-{
- Q_OBJECT
- Q_PROPERTY(QQuickFileDialogImpl *fileDialog READ fileDialog WRITE setFileDialog NOTIFY fileDialogChanged)
- Q_PROPERTY(QQmlComponent *buttonDelegate READ buttonDelegate WRITE setButtonDelegate NOTIFY buttonDelegateChanged)
- Q_PROPERTY(QQmlComponent *separatorDelegate READ separatorDelegate WRITE setSeparatorDelegate NOTIFY separatorDelegateChanged)
- Q_PROPERTY(QQuickAbstractButton *upButton READ upButton WRITE setUpButton NOTIFY upButtonChanged)
- Q_PROPERTY(QQuickTextField *textField READ textField WRITE setTextField NOTIFY textFieldChanged)
- Q_PROPERTY(int upButtonSpacing READ upButtonSpacing WRITE setUpButtonSpacing NOTIFY upButtonSpacingChanged)
- QML_NAMED_ELEMENT(FolderBreadcrumbBar)
- QML_ADDED_IN_VERSION(6, 2)
-
-public:
- explicit QQuickFolderBreadcrumbBar(QQuickItem *parent = nullptr);
-
- QQuickFileDialogImpl *fileDialog() const;
- void setFileDialog(QQuickFileDialogImpl *fileDialog);
-
- QQmlComponent *buttonDelegate();
- void setButtonDelegate(QQmlComponent *delegate);
-
- QQmlComponent *separatorDelegate();
- void setSeparatorDelegate(QQmlComponent *delegate);
-
- QQuickAbstractButton *upButton();
- void setUpButton(QQuickAbstractButton *upButton);
-
- int upButtonSpacing() const;
- void setUpButtonSpacing(int upButtonSpacing);
-
- QQuickTextField *textField();
- void setTextField(QQuickTextField *textField);
-
-Q_SIGNALS:
- void fileDialogChanged();
- void buttonDelegateChanged();
- void separatorDelegateChanged();
- void upButtonChanged();
- void upButtonSpacingChanged();
- void textFieldChanged();
-
-protected:
- bool event(QEvent *event) override;
-
- void componentComplete() override;
-
- void itemChange(ItemChange change, const ItemChangeData &data) override;
-
- bool isContent(QQuickItem *item) const override;
-
- QFont defaultFont() const override;
-
-#if QT_CONFIG(accessibility)
- QAccessible::Role accessibleRole() const override;
-#endif
-
-private:
- Q_DISABLE_COPY(QQuickFolderBreadcrumbBar)
- Q_DECLARE_PRIVATE(QQuickFolderBreadcrumbBar)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFolderBreadcrumbBar)
-
-#endif // QQUICKFOLDERBREADCRUMBBAR_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p_p.h
deleted file mode 100644
index 4616b6a9..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfolderbreadcrumbbar_p_p.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFOLDERBREADCRUMBBAR_P_P_H
-#define QQUICKFOLDERBREADCRUMBBAR_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcontainer_p_p.h>
-#include <QtQuickTemplates2/private/qquickdeferredexecute_p_p.h>
-
-#include "qquickfiledialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickAbstractButton;
-class QQuickTextField;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFolderBreadcrumbBarPrivate : public QQuickContainerPrivate
-{
- Q_DECLARE_PUBLIC(QQuickFolderBreadcrumbBar)
-
-public:
- QQuickItem *createDelegateItem(QQmlComponent *component, const QVariantMap &initialProperties);
- static QString folderBaseName(const QString &folderPath);
- static QStringList crumbPathsForFolder(const QUrl &folder);
- void repopulate();
- void crumbClicked();
- void folderChanged();
-
- void cancelUpButton();
- void executeUpButton(bool complete = false);
- void goUp();
-
- void cancelTextField();
- void executeTextField(bool complete = false);
- void toggleTextFieldVisibility();
- void textFieldAccepted();
-
- void textFieldVisibleChanged();
- void textFieldActiveFocusChanged();
- void handleTextFieldShown();
- void handleTextFieldHidden();
- void ungrabEditPathShortcuts();
-
- qreal getContentWidth() const override;
- qreal getContentHeight() const override;
- void resizeContent() override;
-
- void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override;
- void itemImplicitWidthChanged(QQuickItem *item) override;
- void itemImplicitHeightChanged(QQuickItem *item) override;
-
-private:
- QQuickFileDialogImpl *fileDialog = nullptr;
- QList<QString> folderPaths;
- QQmlComponent *buttonDelegate = nullptr;
- QQmlComponent *separatorDelegate = nullptr;
- QQuickDeferredPointer<QQuickAbstractButton> upButton;
- QQuickDeferredPointer<QQuickTextField> textField;
- int editPathToggleShortcutId = 0;
- int editPathBackShortcutId = 0;
- int editPathEscapeShortcutId = 0;
- int goUpShortcutId = 0;
- int upButtonSpacing = 0;
- bool repopulating = false;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFOLDERBREADCRUMBBAR_P_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl.cpp
deleted file mode 100644
index 3263b73b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl.cpp
+++ /dev/null
@@ -1,836 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickfontdialogimpl_p.h"
-#include "qquickfontdialogimpl_p_p.h"
-
-#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p_p.h>
-#include <private/qfontdatabase_p.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcAttachedProperty, "qt.quick.dialogs.quickfontdialogimpl.attachedOrWarn")
-
-QQuickFontDialogImplPrivate::QQuickFontDialogImplPrivate()
-{
-}
-
-QQuickFontDialogImplAttached *QQuickFontDialogImplPrivate::attachedOrWarn()
-{
- Q_Q(QQuickFontDialogImpl);
- QQuickFontDialogImplAttached *attached = static_cast<QQuickFontDialogImplAttached *>(
- qmlAttachedPropertiesObject<QQuickFontDialogImpl>(q));
- if (!attached) {
- qCWarning(lcAttachedProperty)
- << "Expected FontDialogImpl attached object to be present on" << this;
- }
- return attached;
-}
-
-void QQuickFontDialogImplPrivate::handleAccept() { }
-
-void QQuickFontDialogImplPrivate::handleClick(QQuickAbstractButton *button)
-{
- Q_Q(QQuickFontDialogImpl);
- if (buttonRole(button) == QPlatformDialogHelper::AcceptRole) {
- q->accept();
- QQuickDialogPrivate::handleClick(button);
- }
-}
-
-QQuickFontDialogImpl::QQuickFontDialogImpl(QObject *parent)
- : QQuickDialog(*(new QQuickFontDialogImplPrivate), parent)
-{
-}
-
-QQuickFontDialogImplAttached *QQuickFontDialogImpl::qmlAttachedProperties(QObject *object)
-{
- return new QQuickFontDialogImplAttached(object);
-}
-
-QSharedPointer<QFontDialogOptions> QQuickFontDialogImpl::options() const
-{
- Q_D(const QQuickFontDialogImpl);
-
- return d->options;
-}
-
-void QQuickFontDialogImpl::setOptions(const QSharedPointer<QFontDialogOptions> &options)
-{
- Q_D(QQuickFontDialogImpl);
-
- if (options == d->options)
- return;
-
- d->options = options;
-
- emit optionsChanged();
-}
-
-QFont QQuickFontDialogImpl::currentFont() const
-{
- Q_D(const QQuickFontDialogImpl);
- return d->currentFont;
-}
-
-void QQuickFontDialogImpl::setCurrentFont(const QFont &font)
-{
- Q_D(QQuickFontDialogImpl);
-
- if (font == d->currentFont)
- return;
-
- d->currentFont = font;
-
- emit currentFontChanged(font);
-}
-
-void QQuickFontDialogImpl::updateListViews()
-{
- Q_D(QQuickFontDialogImpl);
- QQuickFontDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- attached->updateFamilies();
-
- attached->buttonBox()->setVisible(!(options()->options() & QFontDialogOptions::NoButtons));
-}
-
-void QQuickFontDialogImpl::keyReleaseEvent(QKeyEvent *event)
-{
- Q_D(QQuickFontDialogImpl);
-
- QQuickDialog::keyReleaseEvent(event);
-
- QQuickFontDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- // The family and style text edits are read-only so that they
- // can show the current selection but also allow key input to "search".
- // This is why we handle just the release event, and don't accept it.
- if (window()->activeFocusItem() == attached->familyEdit())
- attached->searchFamily(event->text());
- else if (window()->activeFocusItem() == attached->styleEdit())
- attached->searchStyle(event->text());
-}
-
-void QQuickFontDialogImpl::focusOutEvent(QFocusEvent *event)
-{
- Q_D(QQuickFontDialogImpl);
-
- QQuickDialog::focusOutEvent(event);
-
- QQuickFontDialogImplAttached *attached = d->attachedOrWarn();
- if (!attached)
- return;
-
- attached->clearSearch();
-}
-
-QQuickFontDialogImplAttached::QQuickFontDialogImplAttached(QObject *parent)
- : QObject(*(new QQuickFontDialogImplAttachedPrivate), parent),
- m_writingSystem(QFontDatabase::Any),
- m_selectedSize(-1),
- m_smoothlyScalable(false),
- m_isUpdatingStyles(false)
-{
- if (!qobject_cast<QQuickFontDialogImpl *>(parent)) {
- qmlWarning(this) << "FontDialogImpl attached properties should only be "
- << "accessed through the root FileDialogImpl instance";
- }
-}
-
-QQuickListView *QQuickFontDialogImplAttached::familyListView() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->familyListView;
-}
-
-void QQuickFontDialogImplAttached::setFamilyListView(QQuickListView *familyListView)
-{
- Q_D(QQuickFontDialogImplAttached);
- if (d->familyListView == familyListView)
- return;
-
- if (d->familyListView) {
- disconnect(d->familyListView, &QQuickListView::currentIndexChanged,
- this, &QQuickFontDialogImplAttached::_q_familyChanged);
- }
-
- d->familyListView = familyListView;
-
- if (familyListView) {
- connect(d->familyListView, &QQuickListView::currentIndexChanged,
- this, &QQuickFontDialogImplAttached::_q_familyChanged);
- }
-
- emit familyListViewChanged();
-}
-
-QQuickListView *QQuickFontDialogImplAttached::styleListView() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->styleListView;
-}
-
-void QQuickFontDialogImplAttached::setStyleListView(QQuickListView *styleListView)
-{
- Q_D(QQuickFontDialogImplAttached);
- if (d->styleListView == styleListView)
- return;
-
- if (d->styleListView) {
- disconnect(d->styleListView, &QQuickListView::currentIndexChanged,
- this, &QQuickFontDialogImplAttached::_q_styleChanged);
- }
-
- d->styleListView = styleListView;
-
- if (styleListView) {
- connect(d->styleListView, &QQuickListView::currentIndexChanged,
- this, &QQuickFontDialogImplAttached::_q_styleChanged);
- }
-
- emit styleListViewChanged();
-}
-
-QQuickListView *QQuickFontDialogImplAttached::sizeListView() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->sizeListView;
-}
-
-void QQuickFontDialogImplAttached::setSizeListView(QQuickListView *sizeListView)
-{
- Q_D(QQuickFontDialogImplAttached);
- if (d->sizeListView == sizeListView)
- return;
-
- if (d->sizeListView) {
- disconnect(d->sizeListView, &QQuickListView::currentIndexChanged,
- this, &QQuickFontDialogImplAttached::_q_sizeChanged);
- }
-
- d->sizeListView = sizeListView;
-
- if (d->sizeListView) {
- connect(d->sizeListView, &QQuickListView::currentIndexChanged,
- this, &QQuickFontDialogImplAttached::_q_sizeChanged);
- }
-
- emit sizeListViewChanged();
-}
-
-QQuickTextEdit *QQuickFontDialogImplAttached::sampleEdit() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->sampleEdit;
-}
-
-void QQuickFontDialogImplAttached::setSampleEdit(QQuickTextEdit *sampleEdit)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->sampleEdit == sampleEdit)
- return;
-
- if (d->sampleEdit) {
- QObjectPrivate::disconnect(d->sampleEdit, &QQuickTextEdit::fontChanged,
- d, &QQuickFontDialogImplAttachedPrivate::currentFontChanged);
- }
-
- d->sampleEdit = sampleEdit;
-
- if (d->sampleEdit) {
- QObjectPrivate::connect(d->sampleEdit, &QQuickTextEdit::fontChanged,
- d, &QQuickFontDialogImplAttachedPrivate::currentFontChanged);
-
- d->sampleEdit->setText(QFontDatabase::writingSystemSample(m_writingSystem));
- }
-
- emit sampleEditChanged();
-}
-
-QQuickDialogButtonBox *QQuickFontDialogImplAttached::buttonBox() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->buttonBox;
-}
-
-void QQuickFontDialogImplAttached::setButtonBox(QQuickDialogButtonBox *buttonBox)
-{
- Q_D(QQuickFontDialogImplAttached);
- if (buttonBox == d->buttonBox)
- return;
-
- if (d->buttonBox) {
- QQuickFontDialogImpl *fontDialogImpl = qobject_cast<QQuickFontDialogImpl *>(parent());
- if (fontDialogImpl) {
- auto dialogPrivate = QQuickDialogPrivate::get(fontDialogImpl);
- QObjectPrivate::disconnect(d->buttonBox, &QQuickDialogButtonBox::accepted,
- dialogPrivate, &QQuickDialogPrivate::handleAccept);
- QObjectPrivate::disconnect(d->buttonBox, &QQuickDialogButtonBox::rejected,
- dialogPrivate, &QQuickDialogPrivate::handleReject);
- QObjectPrivate::disconnect(d->buttonBox, &QQuickDialogButtonBox::clicked, dialogPrivate,
- &QQuickDialogPrivate::handleClick);
- }
- }
-
- d->buttonBox = buttonBox;
-
- if (buttonBox) {
- QQuickFontDialogImpl *fontDialogImpl = qobject_cast<QQuickFontDialogImpl *>(parent());
- if (fontDialogImpl) {
- auto dialogPrivate = QQuickDialogPrivate::get(fontDialogImpl);
- QObjectPrivate::connect(d->buttonBox, &QQuickDialogButtonBox::accepted, dialogPrivate,
- &QQuickDialogPrivate::handleAccept);
- QObjectPrivate::connect(d->buttonBox, &QQuickDialogButtonBox::rejected, dialogPrivate,
- &QQuickDialogPrivate::handleReject);
- QObjectPrivate::connect(d->buttonBox, &QQuickDialogButtonBox::clicked, dialogPrivate,
- &QQuickDialogPrivate::handleClick);
- }
- }
-
- emit buttonBoxChanged();
-}
-
-QQuickComboBox *QQuickFontDialogImplAttached::writingSystemComboBox() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->writingSystemComboBox;
-}
-
-void QQuickFontDialogImplAttached::setWritingSystemComboBox(QQuickComboBox *writingSystemComboBox)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->writingSystemComboBox == writingSystemComboBox)
- return;
-
- if (d->writingSystemComboBox) {
- disconnect(d->writingSystemComboBox, &QQuickComboBox::activated,
- this, &QQuickFontDialogImplAttached::_q_writingSystemChanged);
- }
-
- d->writingSystemComboBox = writingSystemComboBox;
-
- if (d->writingSystemComboBox) {
- QStringList writingSystemModel;
- for (int i = 0; i < QFontDatabase::WritingSystemsCount; ++i) {
- QFontDatabase::WritingSystem ws = QFontDatabase::WritingSystem(i);
- QString wsName = QFontDatabase::writingSystemName(ws);
- if (wsName.isEmpty())
- break;
- writingSystemModel.append(wsName);
- }
-
- d->writingSystemComboBox->setModel(writingSystemModel);
-
- connect(d->writingSystemComboBox, &QQuickComboBox::activated,
- this, &QQuickFontDialogImplAttached::_q_writingSystemChanged);
- }
-
- emit writingSystemComboBoxChanged();
-}
-
-QQuickCheckBox *QQuickFontDialogImplAttached::underlineCheckBox() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->underlineCheckBox;
-}
-
-void QQuickFontDialogImplAttached::setUnderlineCheckBox(QQuickCheckBox *underlineCheckBox)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->underlineCheckBox == underlineCheckBox)
- return;
-
- if (d->underlineCheckBox) {
- disconnect(d->underlineCheckBox, &QQuickCheckBox::checkStateChanged,
- this, &QQuickFontDialogImplAttached::_q_updateSample);
- }
-
- d->underlineCheckBox = underlineCheckBox;
-
- if (d->underlineCheckBox) {
- connect(d->underlineCheckBox, &QQuickCheckBox::checkStateChanged,
- this, &QQuickFontDialogImplAttached::_q_updateSample);
- }
-
- emit underlineCheckBoxChanged();
-}
-
-QQuickCheckBox *QQuickFontDialogImplAttached::strikeoutCheckBox() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->strikeoutCheckBox;
-}
-
-void QQuickFontDialogImplAttached::setStrikeoutCheckBox(QQuickCheckBox *strikeoutCheckBox)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->strikeoutCheckBox == strikeoutCheckBox)
- return;
-
- if (d->strikeoutCheckBox) {
- disconnect(d->strikeoutCheckBox, &QQuickCheckBox::checkStateChanged,
- this, &QQuickFontDialogImplAttached::_q_updateSample);
- }
-
- d->strikeoutCheckBox = strikeoutCheckBox;
-
- if (d->strikeoutCheckBox) {
- connect(d->strikeoutCheckBox, &QQuickCheckBox::checkStateChanged,
- this, &QQuickFontDialogImplAttached::_q_updateSample);
- }
-
- emit strikeoutCheckBoxChanged();
-}
-
-QQuickTextField *QQuickFontDialogImplAttached::familyEdit() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->familyEdit;
-}
-
-void QQuickFontDialogImplAttached::setFamilyEdit(QQuickTextField *familyEdit)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->familyEdit == familyEdit)
- return;
-
- d->familyEdit = familyEdit;
-
- emit familyEditChanged();
-}
-
-QQuickTextField *QQuickFontDialogImplAttached::styleEdit() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->styleEdit;
-}
-
-void QQuickFontDialogImplAttached::setStyleEdit(QQuickTextField *styleEdit)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->styleEdit == styleEdit)
- return;
-
- d->styleEdit = styleEdit;
-
- emit styleEditChanged();
-}
-
-QQuickTextField *QQuickFontDialogImplAttached::sizeEdit() const
-{
- Q_D(const QQuickFontDialogImplAttached);
- return d->sizeEdit;
-}
-
-void QQuickFontDialogImplAttached::setSizeEdit(QQuickTextField *sizeEdit)
-{
- Q_D(QQuickFontDialogImplAttached);
-
- if (d->sizeEdit == sizeEdit)
- return;
-
- if (d->sizeEdit) {
- disconnect(d->sizeEdit, &QQuickTextField::textChanged,
- this, &QQuickFontDialogImplAttached::_q_sizeEdited);
- }
-
- d->sizeEdit = sizeEdit;
-
- if (d->sizeEdit) {
- connect(d->sizeEdit, &QQuickTextField::textChanged,
- this, &QQuickFontDialogImplAttached::_q_sizeEdited);
- }
-
- emit sizeEditChanged();
-}
-
-/*!
- \internal
-
- Updates the model for the family list view, and attempt
- to reselect the previously selected font family.
-
- Calls updateStyles()
- */
-void QQuickFontDialogImplAttached::updateFamilies()
-{
- enum match_t { MATCH_NONE = 0, MATCH_LAST_RESORT = 1, MATCH_APP = 2, MATCH_FAMILY = 3 };
-
- const QFontDialogOptions::FontDialogOptions scalableMask(
- QFontDialogOptions::ScalableFonts | QFontDialogOptions::NonScalableFonts);
-
- const QFontDialogOptions::FontDialogOptions spacingMask(QFontDialogOptions::ProportionalFonts
- | QFontDialogOptions::MonospacedFonts);
-
- const auto p = qobject_cast<QQuickFontDialogImpl *>(parent());
-
- const auto options = p->options()->options();
-
- QStringList familyNames;
- const auto families = QFontDatabase::families(m_writingSystem);
- for (const auto &family : families) {
- if (QFontDatabase::isPrivateFamily(family))
- continue;
-
- if ((options & scalableMask) && (options & scalableMask) != scalableMask) {
- if (bool(options & QFontDialogOptions::ScalableFonts)
- != QFontDatabase::isSmoothlyScalable(family))
- continue;
- }
-
- if ((options & spacingMask) && (options & scalableMask) != spacingMask) {
- if (bool(options & QFontDialogOptions::MonospacedFonts)
- != QFontDatabase::isFixedPitch(family))
- continue;
- }
-
- familyNames << family;
- }
-
- auto listView = familyListView();
-
- // Index will be set to -1 on empty model, and 0 for non empty models.
- // Will overwrite selectedFamily and selectedStyle
- listView->setModel(familyNames);
-
- QString foundryName1, familyName1, foundryName2, familyName2;
- int bestFamilyMatch = -1;
- match_t bestFamilyType = MATCH_NONE;
- const QFont f;
-
- QFontDatabasePrivate::parseFontName(m_selectedFamily, foundryName1, familyName1);
-
- int i = 0;
- for (auto it = familyNames.constBegin(); it != familyNames.constEnd(); ++it, ++i) {
- QFontDatabasePrivate::parseFontName(*it, foundryName2, familyName2);
-
- if (familyName1 == familyName2) {
- bestFamilyType = MATCH_FAMILY;
- if (foundryName1 == foundryName2) {
- bestFamilyMatch = i;
- break;
- }
- if (bestFamilyMatch < MATCH_FAMILY) {
- bestFamilyMatch = i;
- }
- }
-
- match_t type = MATCH_NONE;
- if (bestFamilyType <= MATCH_NONE && familyName2 == QStringLiteral("helvetica"))
- type = MATCH_LAST_RESORT;
- if (bestFamilyType <= MATCH_LAST_RESORT && familyName2 == f.families().constFirst())
- type = MATCH_APP;
- if (type != MATCH_NONE) {
- bestFamilyType = type;
- bestFamilyMatch = i;
- }
- }
-
- if (!familyNames.isEmpty() && bestFamilyType != MATCH_NONE) {
- listView->setCurrentIndex(bestFamilyMatch);
- } else {
- listView->setCurrentIndex(-1);
- }
-
- updateStyles();
-}
-
-/*!
- \internal
-
- Updates the model for the style list view, and
- attempt to reselect the style that was previously selected.
-
- Calls updateSizes()
- */
-void QQuickFontDialogImplAttached::updateStyles()
-{
- const QString family = familyListView()->currentIndex() >= 0 ? m_selectedFamily : QString();
- const QStringList styles = QFontDatabase::styles(family);
-
- auto listView = styleListView();
-
- m_isUpdatingStyles = true;
-
- listView->setModel(styles);
-
- if (styles.isEmpty()) {
- styleEdit()->clear();
- m_smoothlyScalable = false;
- } else {
- int newIndex = 0;
-
- if (!m_selectedStyle.isEmpty()) {
- bool redo = true, found = false;
- QString cstyle = m_selectedStyle;
- do {
- for (int i = 0; i < styles.count(); ++i) {
- if (cstyle.toLower() == styles.at(i).toLower()) {
- newIndex = i;
- found = true;
- break;
- }
- }
-
- if (!found && redo) {
- redo = false;
-
- if (cstyle.contains(QLatin1String("Italic"))) {
- cstyle.replace(QLatin1String("Italic"), QLatin1String("Oblique"));
- continue;
- } else if (cstyle.contains(QLatin1String("Oblique"))) {
- cstyle.replace(QLatin1String("Oblique"), QLatin1String("Italic"));
- continue;
- } else if (cstyle.contains(QLatin1String("Regular"))) {
- cstyle.replace(QLatin1String("Regular"), QLatin1String("Normal"));
- continue;
- } else if (cstyle.contains(QLatin1String("Normal"))) {
- cstyle.replace(QLatin1String("Normal"), QLatin1String("Regular"));
- continue;
- }
- }
-
- } while (!found && redo);
- }
-
- listView->setCurrentIndex(newIndex);
-
- m_selectedStyle = styles.at(newIndex);
- styleEdit()->setText(m_selectedStyle);
-
- m_smoothlyScalable = QFontDatabase::isSmoothlyScalable(m_selectedFamily, m_selectedStyle);
- }
-
- m_isUpdatingStyles = false;
-
- updateSizes();
-}
-
-/*!
- \internal
-
- Updates the model for the size list view,
- and attempts to reselect the size that was previously selected
- */
-void QQuickFontDialogImplAttached::updateSizes()
-{
- if (!m_selectedFamily.isEmpty()) {
- const QList<int> sizes = QFontDatabase::pointSizes(m_selectedFamily, m_selectedStyle);
-
- QStringList str_sizes;
-
- str_sizes.reserve(sizes.size());
-
- int idx = 0, current = -1;
- for (QList<int>::const_iterator it = sizes.constBegin(); it != sizes.constEnd(); it++) {
- str_sizes.append(QString::number(*it));
- if (current == -1 && m_selectedSize == *it) {
- current = idx;
- }
- ++idx;
- }
-
- auto listView = sizeListView();
-
- listView->setModel(str_sizes);
- if (current != -1)
- listView->setCurrentIndex(current);
-
- sizeEdit()->setText(!m_smoothlyScalable && listView->currentIndex() > 0
- ? str_sizes.at(listView->currentIndex())
- : QString::number(m_selectedSize));
- } else {
- qCWarning(lcAttachedProperty) << "Warning! selectedFamily is empty";
- sizeEdit()->clear();
- }
-
- _q_updateSample();
-}
-
-void QQuickFontDialogImplAttached::_q_updateSample()
-{
- const int pSize = sizeEdit()->text().toInt();
-
- QFont newFont = QFontDatabase::font(m_selectedFamily, m_selectedStyle, pSize);
-
- newFont.setUnderline(underlineCheckBox()->isChecked());
- newFont.setStrikeOut(strikeoutCheckBox()->isChecked());
-
- if (!m_selectedFamily.isEmpty()) {
- sampleEdit()->setFont(newFont);
- }
-}
-
-void QQuickFontDialogImplAttached::_q_writingSystemChanged(int index)
-{
- m_writingSystem = QFontDatabase::WritingSystem(index);
- sampleEdit()->setText(QFontDatabase::writingSystemSample(m_writingSystem));
-
- updateFamilies();
-}
-
-void QQuickFontDialogImplAttached::searchListView(const QString &s, QQuickListView *listView)
-{
- const QStringList model = listView->model().toStringList();
-
- bool redo = false;
-
- do {
- m_search.append(s);
-
- for (int i = 0; i < model.count(); ++i) {
- if (model.at(i).startsWith(m_search, Qt::CaseInsensitive)) {
- listView->setCurrentIndex(i);
- return;
- }
- }
-
- clearSearch();
-
- redo = !redo;
- } while (redo);
-}
-
-void QQuickFontDialogImplAttached::clearSearch()
-{
- m_search.clear();
-}
-
-void QQuickFontDialogImplAttached::_q_familyChanged()
-{
- const int index = familyListView()->currentIndex();
-
- if (index < 0) {
- familyEdit()->clear();
- return;
- }
-
- m_selectedFamily = familyListView()->model().toStringList().at(index);
- familyEdit()->setText(m_selectedFamily);
-
- updateStyles();
-}
-
-void QQuickFontDialogImplAttached::_q_styleChanged()
-{
- if (m_isUpdatingStyles)
- return;
-
- const int index = styleListView()->currentIndex();
-
- if (index < 0) {
- qCWarning(lcAttachedProperty) << "currentIndex changed to -1";
- return;
- }
-
- m_selectedStyle = styleListView()->model().toStringList().at(index);
- styleEdit()->setText(m_selectedStyle);
-
- updateSizes();
-}
-
-void QQuickFontDialogImplAttached::_q_sizeEdited()
-{
- const int size = sizeEdit()->text().toInt();
-
- if (size == m_selectedSize)
- return;
-
- m_selectedSize = size;
-
- if (sizeListView()->count()) {
- auto model = sizeListView()->model().toStringList();
-
- int i;
- for (i = 0; i < model.count() - 1; ++i) {
- if (model.at(i).toInt() >= size)
- break;
- }
-
- QSignalBlocker blocker(sizeListView());
- if (model.at(i).toInt() == size)
- sizeListView()->setCurrentIndex(i);
- else
- sizeListView()->setCurrentIndex(-1);
- }
-
- _q_updateSample();
-}
-
-void QQuickFontDialogImplAttached::_q_sizeChanged()
-{
- const int index = sizeListView()->currentIndex();
-
- if (index < 0) {
- qCWarning(lcAttachedProperty) << "currentIndex changed to -1";
- return;
- }
-
- const QString s = sizeListView()->model().toStringList().at(index);
- m_selectedSize = s.toInt();
-
- sizeEdit()->setText(s);
-
- _q_updateSample();
-}
-
-void QQuickFontDialogImplAttachedPrivate::currentFontChanged(const QFont &font)
-{
-
- auto fontDialogImpl = qobject_cast<QQuickFontDialogImpl *>(parent);
-
- if (!fontDialogImpl) {
- return;
- }
-
- fontDialogImpl->setCurrentFont(font);
-
- if (fontDialogImpl->options()->testOption(QFontDialogOptions::NoButtons))
- emit fontDialogImpl->fontSelected(font);
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p.h
deleted file mode 100644
index 98567353..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFONTDIALOGIMPL_P_H
-#define QQUICKFONTDIALOGIMPL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qfontdatabase.h>
-#include <QtQuick/private/qquicklistview_p.h>
-#include <QtQuick/private/qquicktextedit_p.h>
-#include <QtQuickTemplates2/private/qquicktextfield_p.h>
-#include <QtQuickTemplates2/private/qquickcombobox_p.h>
-#include <QtQuickTemplates2/private/qquickcheckbox_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-#include "qtquickdialogs2quickimplglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickDialogButtonBox;
-
-class QQuickFontDialogImplAttached;
-class QQuickFontDialogImplAttachedPrivate;
-class QQuickFontDialogImplPrivate;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFontDialogImpl : public QQuickDialog
-{
- Q_OBJECT
- Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged FINAL)
- QML_NAMED_ELEMENT(FontDialogImpl)
- QML_ATTACHED(QQuickFontDialogImplAttached)
- QML_ADDED_IN_VERSION(6, 2)
-
-public:
- explicit QQuickFontDialogImpl(QObject *parent = nullptr);
-
- static QQuickFontDialogImplAttached *qmlAttachedProperties(QObject *object);
-
- QSharedPointer<QFontDialogOptions> options() const;
- void setOptions(const QSharedPointer<QFontDialogOptions> &options);
-
- QFont currentFont() const;
- void setCurrentFont(const QFont &font);
-
- void updateListViews();
-
-Q_SIGNALS:
- void optionsChanged();
- void currentFontChanged(const QFont &font);
- void fontSelected(const QFont &font);
-
-private:
- void keyReleaseEvent(QKeyEvent *event) override;
- void focusOutEvent(QFocusEvent *event) override;
-
- Q_DISABLE_COPY(QQuickFontDialogImpl)
- Q_DECLARE_PRIVATE(QQuickFontDialogImpl)
-};
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickFontDialogImplAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQuickListView *familyListView READ familyListView WRITE setFamilyListView
- NOTIFY familyListViewChanged)
- Q_PROPERTY(QQuickListView *styleListView READ styleListView WRITE setStyleListView
- NOTIFY styleListViewChanged)
- Q_PROPERTY(QQuickListView *sizeListView READ sizeListView WRITE setSizeListView
- NOTIFY sizeListViewChanged)
- Q_PROPERTY(QQuickTextEdit *sampleEdit READ sampleEdit WRITE setSampleEdit
- NOTIFY sampleEditChanged)
- Q_PROPERTY(QQuickDialogButtonBox *buttonBox READ buttonBox WRITE setButtonBox
- NOTIFY buttonBoxChanged)
- Q_PROPERTY(QQuickComboBox *writingSystemComboBox READ writingSystemComboBox
- WRITE setWritingSystemComboBox NOTIFY writingSystemComboBoxChanged)
- Q_PROPERTY(QQuickCheckBox *underlineCheckBox READ underlineCheckBox WRITE setUnderlineCheckBox
- NOTIFY underlineCheckBoxChanged)
- Q_PROPERTY(QQuickCheckBox *strikeoutCheckBox READ strikeoutCheckBox WRITE setStrikeoutCheckBox
- NOTIFY strikeoutCheckBoxChanged)
-
- Q_PROPERTY(QQuickTextField *familyEdit READ familyEdit WRITE setFamilyEdit
- NOTIFY familyEditChanged)
- Q_PROPERTY(QQuickTextField *styleEdit READ styleEdit WRITE setStyleEdit NOTIFY styleEditChanged)
- Q_PROPERTY(QQuickTextField *sizeEdit READ sizeEdit WRITE setSizeEdit NOTIFY sizeEditChanged)
-
- Q_MOC_INCLUDE(<QtQuickTemplates2 / private / qquickdialogbuttonbox_p.h>)
-
-public:
- explicit QQuickFontDialogImplAttached(QObject *parent = nullptr);
-
- QQuickListView *familyListView() const;
- void setFamilyListView(QQuickListView *familyListView);
-
- QQuickListView *styleListView() const;
- void setStyleListView(QQuickListView *styleListView);
-
- QQuickListView *sizeListView() const;
- void setSizeListView(QQuickListView *sizeListView);
-
- QQuickTextEdit *sampleEdit() const;
- void setSampleEdit(QQuickTextEdit *sampleEdit);
-
- QQuickDialogButtonBox *buttonBox() const;
- void setButtonBox(QQuickDialogButtonBox *buttonBox);
-
- QQuickComboBox *writingSystemComboBox() const;
- void setWritingSystemComboBox(QQuickComboBox *writingSystemComboBox);
-
- QQuickCheckBox *underlineCheckBox() const;
- void setUnderlineCheckBox(QQuickCheckBox *underlineCheckBox);
-
- QQuickCheckBox *strikeoutCheckBox() const;
- void setStrikeoutCheckBox(QQuickCheckBox *strikethroughCheckBox);
-
- QQuickTextField *familyEdit() const;
- void setFamilyEdit(QQuickTextField *familyEdit);
-
- QQuickTextField *styleEdit() const;
- void setStyleEdit(QQuickTextField *styleEdit);
-
- QQuickTextField *sizeEdit() const;
- void setSizeEdit(QQuickTextField *sizeEdit);
-
-Q_SIGNALS:
- void buttonBoxChanged();
- void familyListViewChanged();
- void styleListViewChanged();
- void sizeListViewChanged();
- void sampleEditChanged();
- void writingSystemComboBoxChanged();
- void underlineCheckBoxChanged();
- void strikeoutCheckBoxChanged();
- void familyEditChanged();
- void styleEditChanged();
- void sizeEditChanged();
-
-public:
- void searchFamily(const QString &s) { searchListView(s, familyListView()); }
- void searchStyle(const QString &s) { searchListView(s, styleListView()); }
- void clearSearch();
-
- void updateFamilies();
-
-private:
- void updateStyles();
- void updateSizes();
-
- void _q_familyChanged();
- void _q_styleChanged();
- void _q_sizeEdited();
- void _q_sizeChanged();
- void _q_updateSample();
-
- void _q_writingSystemChanged(int index);
-
- void searchListView(const QString &s, QQuickListView *listView);
-
- QFontDatabase::WritingSystem m_writingSystem;
- QString m_selectedFamily;
- QString m_selectedStyle;
- QString m_search;
- int m_selectedSize;
- bool m_smoothlyScalable;
- bool m_isUpdatingStyles;
-
- Q_DISABLE_COPY(QQuickFontDialogImplAttached)
- Q_DECLARE_PRIVATE(QQuickFontDialogImplAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QQuickFontDialogImpl)
-
-#endif // QQUICKFONTDIALOGIMPL_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p_p.h
deleted file mode 100644
index 8de3480d..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfontdialogimpl_p_p.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFONTDIALOGIMPL_P_P_H
-#define QQUICKFONTDIALOGIMPL_P_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQuickTemplates2/private/qquickcombobox_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p_p.h>
-#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>
-
-#include "qquickfontdialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFontDialogImplPrivate : public QQuickDialogPrivate
-{
- Q_DECLARE_PUBLIC(QQuickFontDialogImpl)
-public:
- QQuickFontDialogImplPrivate();
-
- static QQuickFontDialogImplPrivate *get(QQuickFontDialogImpl *dialog)
- {
- return dialog->d_func();
- }
-
- QQuickFontDialogImplAttached *attachedOrWarn();
-
- void updateEnabled();
-
- void handleAccept() override;
- void handleClick(QQuickAbstractButton *button) override;
-
- QSharedPointer<QFontDialogOptions> options;
-
- QFont currentFont;
-};
-
-class QQuickFontDialogImplAttachedPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QQuickFontDialogImplAttached)
-
- void currentFontChanged(const QFont &font);
-
-public:
- QPointer<QQuickDialogButtonBox> buttonBox;
- QPointer<QQuickListView> familyListView;
- QPointer<QQuickListView> styleListView;
- QPointer<QQuickListView> sizeListView;
- QPointer<QQuickTextEdit> sampleEdit;
- QPointer<QQuickComboBox> writingSystemComboBox;
- QPointer<QQuickCheckBox> underlineCheckBox;
- QPointer<QQuickCheckBox> strikeoutCheckBox;
- QPointer<QQuickTextField> familyEdit;
- QPointer<QQuickTextField> styleEdit;
- QPointer<QQuickTextField> sizeEdit;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFONTDIALOGIMPL_P_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog.cpp
deleted file mode 100644
index deccd9bb..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickplatformfiledialog_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/qwindow.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
-#include <QtQuickTemplates2/private/qquickpopupanchors_p.h>
-
-#include "qquickfiledialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcQuickPlatformFileDialog, "qt.quick.dialogs.quickplatformfiledialog")
-
-/*!
- \class QQuickPlatformFileDialog
- \internal
-
- An interface that QQuickFileDialog can use to access the non-native Qt Quick FileDialog.
-
- Both this and the native implementations are created in QQuickAbstractDialog::create().
-*/
-QQuickPlatformFileDialog::QQuickPlatformFileDialog(QObject *parent)
-{
- qCDebug(lcQuickPlatformFileDialog) << "creating non-native Qt Quick FileDialog with parent" << parent;
-
- // Set a parent so that we get deleted if we can't be shown for whatever reason.
- // Our eventual parent should be the window, though.
- setParent(parent);
-
- auto qmlContext = ::qmlContext(parent);
- if (!qmlContext) {
- qmlWarning(parent) << "No QQmlContext for QQuickPlatformFileDialog; can't create non-native FileDialog implementation";
- return;
- }
-
- const auto dialogQmlUrl = QUrl(QStringLiteral("qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/qml/FileDialog.qml"));
- QQmlComponent fileDialogComponent(qmlContext->engine(), dialogQmlUrl, parent);
- if (!fileDialogComponent.isReady()) {
- qmlWarning(parent) << "Failed to load non-native FileDialog implementation:\n" << fileDialogComponent.errorString();
- return;
- }
- m_dialog = qobject_cast<QQuickFileDialogImpl*>(fileDialogComponent.create());
- if (!m_dialog) {
- qmlWarning(parent) << "Failed to create an instance of the non-native FileDialog:\n" << fileDialogComponent.errorString();
- return;
- }
- // Give it a parent until it's parented to the window in show().
- m_dialog->setParent(this);
-
- connect(m_dialog, &QQuickDialog::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog, &QQuickDialog::rejected, this, &QPlatformDialogHelper::reject);
-
- connect(m_dialog, &QQuickFileDialogImpl::fileSelected, this, &QQuickPlatformFileDialog::fileSelected);
- // TODO: add support for multiple file selection (QTBUG-92585)
-// connect(m_dialog, &QQuickFileDialogImpl::filesSelected, [this](const QList<QString> &files) {
-// QList<QUrl> urls;
-// urls.reserve(files.count());
-// for (const QString &file : files)
-// urls += QUrl::fromLocalFile(file);
-// emit filesSelected(urls);
-// });
- connect(m_dialog, &QQuickFileDialogImpl::currentFileChanged, this, &QQuickPlatformFileDialog::currentChanged);
- connect(m_dialog, &QQuickFileDialogImpl::currentFolderChanged, this, &QQuickPlatformFileDialog::directoryEntered);
- connect(m_dialog, &QQuickFileDialogImpl::filterSelected, this, &QQuickPlatformFileDialog::filterSelected);
-
- // We would do this in QQuickFileDialogImpl, but we need to ensure that folderChanged()
- // is connected to directoryEntered() before setting it to ensure that the QQuickFileDialog is notified.
- if (m_dialog->currentFolder().isEmpty())
- m_dialog->setCurrentFolder(QUrl::fromLocalFile(QDir().absolutePath()));
-}
-
-bool QQuickPlatformFileDialog::isValid() const
-{
- return m_dialog;
-}
-
-bool QQuickPlatformFileDialog::defaultNameFilterDisables() const
-{
- return false;
-}
-
-void QQuickPlatformFileDialog::setDirectory(const QUrl &directory)
-{
- if (!m_dialog)
- return;
-
- m_dialog->setCurrentFolder(directory);
-}
-
-QUrl QQuickPlatformFileDialog::directory() const
-{
- if (!m_dialog)
- return {};
-
- return m_dialog->currentFolder();
-}
-
-void QQuickPlatformFileDialog::selectFile(const QUrl &file)
-{
- if (!m_dialog)
- return;
-
- m_dialog->setSelectedFile(file);
-}
-
-QList<QUrl> QQuickPlatformFileDialog::selectedFiles() const
-{
- // TODO: support for multiple selected files
- return { m_dialog->currentFile() };
-}
-
-void QQuickPlatformFileDialog::setFilter()
-{
-}
-
-void QQuickPlatformFileDialog::selectNameFilter(const QString &filter)
-{
- // There is a bit of a problem with order here - QQuickFileDialog::onShow()
- // is called before our show(), but it needs to set the selected filter
- // (which we can't do in our show() because we don't know about QQuickFileDialog).
- // So, delay setting the filter until we're shown. This shouldn't be an issue
- // in practice, since it doesn't make sense for the filter to programmatically
- // change while the dialog is visible.
- m_pendingNameFilter = filter;
-}
-
-QString QQuickPlatformFileDialog::selectedNameFilter() const
-{
- return m_dialog->selectedNameFilter()->name();
-}
-
-void QQuickPlatformFileDialog::exec()
-{
- qCWarning(lcQuickPlatformFileDialog) << "exec() is not supported for the Qt Quick FileDialog fallback";
-}
-
-bool QQuickPlatformFileDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
-{
- qCDebug(lcQuickPlatformFileDialog) << "show called with flags" << flags <<
- "modality" << modality << "parent" << parent;
- if (!m_dialog)
- return false;
-
- if (!parent)
- return false;
-
- auto quickWindow = qobject_cast<QQuickWindow*>(parent);
- if (!quickWindow) {
- qmlInfo(this->parent()) << "Parent window (" << parent << ") of non-native dialog is not a QQuickWindow";
- return false;
- }
- m_dialog->setParent(parent);
- m_dialog->resetParentItem();
-
- auto popupPrivate = QQuickPopupPrivate::get(m_dialog);
- popupPrivate->getAnchors()->setCenterIn(m_dialog->parentItem());
-
- QSharedPointer<QFileDialogOptions> options = QPlatformFileDialogHelper::options();
- m_dialog->setTitle(options->windowTitle());
- m_dialog->setOptions(options);
- m_dialog->selectNameFilter(m_pendingNameFilter);
- m_pendingNameFilter.clear();
- m_dialog->setAcceptLabel(options->isLabelExplicitlySet(QFileDialogOptions::Accept)
- ? options->labelText(QFileDialogOptions::Accept) : QString());
- m_dialog->setRejectLabel(options->isLabelExplicitlySet(QFileDialogOptions::Reject)
- ? options->labelText(QFileDialogOptions::Reject) : QString());
-
- m_dialog->open();
- return true;
-}
-
-void QQuickPlatformFileDialog::hide()
-{
- if (!m_dialog)
- return;
-
- m_dialog->close();
-}
-
-QQuickFileDialogImpl *QQuickPlatformFileDialog::dialog() const
-{
- return m_dialog;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog_p.h
deleted file mode 100644
index 883b7ed9..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfiledialog_p.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMFILEDIALOG_P_H
-#define QQUICKPLATFORMFILEDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-#include "qtquickdialogs2quickimplglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFileDialogImpl;
-class QWindow;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickPlatformFileDialog : public QPlatformFileDialogHelper
-{
- Q_OBJECT
-
-public:
- explicit QQuickPlatformFileDialog(QObject *parent);
- ~QQuickPlatformFileDialog() = default;
-
- bool isValid() const;
- bool defaultNameFilterDisables() const override;
- void setDirectory(const QUrl &directory) override;
- QUrl directory() const override;
- void selectFile(const QUrl &file) override;
- QList<QUrl> selectedFiles() const override;
- void setFilter() override;
- void selectNameFilter(const QString &filter) override;
- QString selectedNameFilter() const override;
-
- void exec() override;
- bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) override;
- void hide() override;
-
- QQuickFileDialogImpl *dialog() const;
-
-private:
- QQuickFileDialogImpl *m_dialog = nullptr;
- QString m_pendingNameFilter;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPLATFORMFILEDIALOG_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog.cpp
deleted file mode 100644
index 9ae2c29a..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickplatformfontdialog_p.h"
-
-#include <QtCore/qloggingcategory.h>
-#include <QtGui/qwindow.h>
-#include <QtQml/qqmlcontext.h>
-#include <QtQml/qqmlinfo.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p_p.h>
-#include <QtQuickTemplates2/private/qquickpopupanchors_p.h>
-
-#include "qquickfontdialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcQuickPlatformFontDialog, "qt.quick.dialogs.quickplatformfontdialog")
-
-/*!
- \class QQuickPlatformFontDialog
- \internal
-
- An interface that QQuickFontDialog can use to access the non-native Qt Quick FontDialog.
-
- Both this and the native implementations are created in QQuickAbstractDialog::create().
-
-*/
-QQuickPlatformFontDialog::QQuickPlatformFontDialog(QObject *parent)
-{
- qCDebug(lcQuickPlatformFontDialog)
- << "creating non-native Qt Quick FontDialog with parent" << parent;
-
- // Set a parent so that we get deleted if we can't be shown for whatever reason.
- // Our eventual parent should be the window, though.
- setParent(parent);
-
- auto qmlContext = ::qmlContext(parent);
- if (!qmlContext) {
- qmlWarning(parent) << "No QQmlContext for QQuickPlatformFontDialog; can't create "
- "non-native FontDialog implementation";
- return;
- }
-
- const auto dialogQmlUrl = QUrl(QStringLiteral(
- "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/qml/FontDialog.qml"));
-
- QQmlComponent fontDialogComponent(qmlContext->engine(), dialogQmlUrl, parent);
- if (!fontDialogComponent.isReady()) {
- qmlWarning(parent) << "Failed to load non-native FontDialog implementation:\n"
- << fontDialogComponent.errorString();
- return;
- }
-
- m_dialog = qobject_cast<QQuickFontDialogImpl *>(fontDialogComponent.create());
-
- if (!m_dialog) {
- qmlWarning(parent) << "Failed to create an instance of the non-native FontDialog:\n"
- << fontDialogComponent.errorString();
- return;
- }
-
- m_dialog->setParent(this);
-
- connect(m_dialog, &QQuickDialog::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog, &QQuickDialog::rejected, this, &QPlatformDialogHelper::reject);
-
- connect(m_dialog, &QQuickFontDialogImpl::currentFontChanged,
- this, &QQuickPlatformFontDialog::currentFontChanged);
- connect(m_dialog, &QQuickFontDialogImpl::fontSelected, this, &QQuickPlatformFontDialog::fontSelected);
-}
-
-bool QQuickPlatformFontDialog::isValid() const
-{
- return m_dialog;
-}
-
-void QQuickPlatformFontDialog::setCurrentFont(const QFont &font)
-{
- if (m_dialog)
- m_dialog->setCurrentFont(font);
-}
-
-QFont QQuickPlatformFontDialog::currentFont() const
-{
- return m_dialog ? m_dialog->currentFont() : QFont();
-}
-
-void QQuickPlatformFontDialog::exec()
-{
- qCWarning(lcQuickPlatformFontDialog)
- << "exec() is not supported for the Qt Quick FontDialog fallback";
-}
-
-bool QQuickPlatformFontDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality,
- QWindow *parent)
-{
- qCDebug(lcQuickPlatformFontDialog)
- << "show called with flags" << flags << "modality" << modality << "parent" << parent;
-
- if (!isValid())
- return false;
-
- if (!parent)
- return false;
-
- auto quickWindow = qobject_cast<QQuickWindow *>(parent);
- if (!quickWindow) {
- qmlInfo(this->parent()) << "Parent window (" << parent
- << ") of non-native dialog is not a QQuickWindow";
- return false;
- }
- m_dialog->setParent(parent);
- m_dialog->resetParentItem();
-
- auto popupPrivate = QQuickPopupPrivate::get(m_dialog);
- popupPrivate->getAnchors()->setCenterIn(m_dialog->parentItem());
-
- QSharedPointer<QFontDialogOptions> options = QPlatformFontDialogHelper::options();
- m_dialog->setTitle(options->windowTitle());
- m_dialog->setOptions(options);
- m_dialog->updateListViews();
-
- m_dialog->open();
- return true;
-}
-
-void QQuickPlatformFontDialog::hide()
-{
- if (isValid())
- m_dialog->close();
-}
-
-QQuickFontDialogImpl *QQuickPlatformFontDialog::dialog() const
-{
- return m_dialog;
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog_p.h
deleted file mode 100644
index a5009fac..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfontdialog_p.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKPLATFORMFONTDIALOG_P_H
-#define QQUICKPLATFORMFONTDIALOG_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-#include "qtquickdialogs2quickimplglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFontDialogImpl;
-class QWindow;
-
-class Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT QQuickPlatformFontDialog
- : public QPlatformFontDialogHelper
-{
- Q_OBJECT
-
-public:
- explicit QQuickPlatformFontDialog(QObject *parent);
- ~QQuickPlatformFontDialog() = default;
-
- bool isValid() const;
-
- virtual void setCurrentFont(const QFont &font) override;
- virtual QFont currentFont() const override;
-
- void exec() override;
- bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) override;
- void hide() override;
-
- QQuickFontDialogImpl *dialog() const;
-
-private:
- QQuickFontDialogImpl *m_dialog = nullptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKPLATFORMFONTDIALOG_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplforeign_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplforeign_p.h
deleted file mode 100644
index 4564786f..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplforeign_p.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QTQUICKDIALOGS2QUICKIMPLFOREIGN_P_H
-#define QTQUICKDIALOGS2QUICKIMPLFOREIGN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqml.h>
-#include <QtQuickDialogs2Utils/private/qquickfilenamefilter_p.h>
-#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
-#include <QtQuickTemplates2/private/qquickcontrol_p.h>
-#include <QtQuickTemplates2/private/qquickdialog_p.h>
-#include <QtQuickTemplates2/private/qquickicon_p.h>
-#include <QtQuickTemplates2/private/qquickpopup_p.h>
-
-QT_BEGIN_NAMESPACE
-
-struct QQuickFileNameFilterForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickFileNameFilter)
- QML_ADDED_IN_VERSION(6, 2)
-};
-
-// TODO: remove these ones when not needed (QTBUG-88179)
-
-// verticalPadding, etc.
-struct QQuickControlForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickControl)
- QML_ADDED_IN_VERSION(2, 0)
-};
-
-struct QQuickAbstractButtonForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickAbstractButton)
- QML_ADDED_IN_VERSION(2, 0)
-};
-
-struct QQuickIconForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickIcon)
- QML_ADDED_IN_VERSION(6, 2)
-};
-
-// For leftInset, etc.
-struct QQuickPopupForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickPopup)
- QML_ADDED_IN_VERSION(2, 0)
-};
-
-struct QQuickDialogForeign
-{
- Q_GADGET
- QML_ANONYMOUS
- QML_FOREIGN(QQuickDialog)
- QML_ADDED_IN_VERSION(2, 1)
-};
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKDIALOGS2QUICKIMPLFOREIGN_P_H
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplglobal_p.h b/src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplglobal_p.h
deleted file mode 100644
index 38b5a01b..00000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qtquickdialogs2quickimplglobal_p.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QTQUICKDIALOGS2QUICKIMPLGLOBAL_P_H
-#define QTQUICKDIALOGS2QUICKIMPLGLOBAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-#include <QtQml/private/qqmlglobal_p.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_QUICKDIALOGS2QUICKIMPL_LIB)
-# define Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT Q_DECL_EXPORT
-# else
-# define Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_QUICKDIALOGS2QUICKIMPL_PRIVATE_EXPORT
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKDIALOGS2QUICKIMPLGLOBAL_P_H
diff --git a/src/quickdialogs2/quickdialogs2utils/CMakeLists.txt b/src/quickdialogs2/quickdialogs2utils/CMakeLists.txt
deleted file mode 100644
index 0242ffcf..00000000
--- a/src/quickdialogs2/quickdialogs2utils/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-# This library exists because QuickDialogs2 and QuickDialogs2QuickImpl
-# both need QQuickNameFilter. QQuickNameFilter was originally in
-# QuickDialogs2. Since QuickDialogs2 already links to
-# QuickDialogs2QuickImpl, making the latter link to the former (to get
-# access to QQuickNameFilter) would result in a circular dependency,
-# so we have this library as a result.
-
-qt_internal_add_module(QuickDialogs2Utils
- SOURCES
- qquickfilenamefilter.cpp
- qquickfilenamefilter_p.h
- qtquickdialogs2utilsglobal_p.h
- DEFINES
- QT_BUILD_QUICKDIALOGS2UTILS_LIB
- QT_NO_CAST_FROM_ASCII
- QT_NO_CAST_TO_ASCII
- INCLUDE_DIRECTORIES
- ${CMAKE_CURRENT_SOURCE_DIR}
- LIBRARIES
- Qt::GuiPrivate
- PUBLIC_LIBRARIES
- Qt::Core
-)
diff --git a/src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter.cpp b/src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter.cpp
deleted file mode 100644
index bada00d1..00000000
--- a/src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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 "qquickfilenamefilter_p.h"
-
-#include <QtCore/qloggingcategory.h>
-
-QT_BEGIN_NAMESPACE
-
-Q_LOGGING_CATEGORY(lcFileNameFilter, "qt.quick.dialogs.qquickfilenamefilter")
-
-QQuickFileNameFilter::QQuickFileNameFilter(QObject *parent)
- : QObject(parent), m_index(-1)
-{
-}
-
-int QQuickFileNameFilter::index() const
-{
- return m_index;
-}
-
-void QQuickFileNameFilter::setIndex(int index)
-{
- if (m_index == index)
- return;
-
- m_index = index;
- emit indexChanged(index);
-}
-
-QString QQuickFileNameFilter::name() const
-{
- return m_name;
-}
-
-QStringList QQuickFileNameFilter::extensions() const
-{
- return m_extensions;
-}
-
-QStringList QQuickFileNameFilter::globs() const
-{
- return m_globs;
-}
-
-QSharedPointer<QFileDialogOptions> QQuickFileNameFilter::options() const
-{
- return m_options;
-}
-
-void QQuickFileNameFilter::setOptions(const QSharedPointer<QFileDialogOptions> &options)
-{
- m_options = options;
-}
-
-static QString extractName(const QString &filter)
-{
- return filter.left(filter.indexOf(QLatin1Char('(')) - 1);
-}
-
-static QString extractExtension(QStringView filter)
-{
- return filter.mid(filter.indexOf(QLatin1Char('.')) + 1).toString();
-}
-
-static void extractExtensionsAndGlobs(QStringView filter, QStringList &extensions, QStringList &globs)
-{
- extensions.clear();
- globs.clear();
-
- const int from = filter.indexOf(QLatin1Char('('));
- const int to = filter.lastIndexOf(QLatin1Char(')')) - 1;
- if (from >= 0 && from < to) {
- const QStringView ref = filter.mid(from + 1, to - from);
- const QList<QStringView> exts = ref.split(QLatin1Char(' '), Qt::SkipEmptyParts);
- // For example, given the filter "HTML files (*.html *.htm)",
- // "ref" would be "*.html" and "*.htm".
- for (const QStringView &ref : exts) {
- extensions += extractExtension(ref);
- globs += ref.toString();
- }
- }
-}
-
-void QQuickFileNameFilter::update(const QString &filter)
-{
- const QStringList filters = nameFilters();
-
- const int oldIndex = m_index;
- const QString oldName = m_name;
- const QStringList oldExtensions = m_extensions;
- const QStringList oldGlobs = m_globs;
-
- m_index = filters.indexOf(filter);
- m_name = extractName(filter);
- extractExtensionsAndGlobs(filter, m_extensions, m_globs);
-
- if (oldIndex != m_index)
- emit indexChanged(m_index);
- if (oldName != m_name)
- emit nameChanged(m_name);
- if (oldExtensions != m_extensions)
- emit extensionsChanged(m_extensions);
- if (oldGlobs != m_globs)
- emit globsChanged(m_globs);
-
- qCDebug(lcFileNameFilter).nospace() << "update called on " << this << " of " << parent()
- << " with filter " << filter << " (current filters are " << filters << "):"
- << "\n old index=" << oldIndex << "new index=" << m_index
- << "\n old name=" << oldName << "new name=" << m_name
- << "\n old extensions=" << oldExtensions << "new extensions=" << m_extensions
- << "\n old glob=s" << oldGlobs << "new globs=" << m_globs;
-}
-
-QStringList QQuickFileNameFilter::nameFilters() const
-{
- return m_options ? m_options->nameFilters() : QStringList();
-}
-
-QString QQuickFileNameFilter::nameFilter(int index) const
-{
- return m_options ? m_options->nameFilters().value(index) : QString();
-}
-
-QT_END_NAMESPACE
diff --git a/src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter_p.h b/src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter_p.h
deleted file mode 100644
index 586da869..00000000
--- a/src/quickdialogs2/quickdialogs2utils/qquickfilenamefilter_p.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKFILENAMEFILTER_P_H
-#define QQUICKFILENAMEFILTER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qsharedpointer.h>
-#include <QtCore/qstringlist.h>
-#include <QtGui/qpa/qplatformdialoghelper.h>
-
-#include "qtquickdialogs2utilsglobal_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class Q_QUICKDIALOGS2UTILS_PRIVATE_EXPORT QQuickFileNameFilter : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int index READ index WRITE setIndex NOTIFY indexChanged FINAL)
- Q_PROPERTY(QString name READ name NOTIFY nameChanged FINAL)
- Q_PROPERTY(QStringList extensions READ extensions NOTIFY extensionsChanged FINAL)
- Q_PROPERTY(QStringList globs READ globs NOTIFY globsChanged FINAL)
-
-public:
- explicit QQuickFileNameFilter(QObject *parent = nullptr);
-
- int index() const;
- void setIndex(int index);
-
- QString name() const;
- QStringList extensions() const;
- QStringList globs() const;
-
- QSharedPointer<QFileDialogOptions> options() const;
- void setOptions(const QSharedPointer<QFileDialogOptions> &options);
-
- void update(const QString &filter);
-
-Q_SIGNALS:
- void indexChanged(int index);
- void nameChanged(const QString &name);
- void extensionsChanged(const QStringList &extensions);
- void globsChanged(const QStringList &globs);
-
-private:
- QStringList nameFilters() const;
- QString nameFilter(int index) const;
-
- int m_index;
- QString m_name;
- QStringList m_extensions;
- QStringList m_globs;
- QSharedPointer<QFileDialogOptions> m_options;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKFILENAMEFILTER_P_H
diff --git a/src/quickdialogs2/quickdialogs2utils/qtquickdialogs2utilsglobal_p.h b/src/quickdialogs2/quickdialogs2utils/qtquickdialogs2utilsglobal_p.h
deleted file mode 100644
index 52f7a397..00000000
--- a/src/quickdialogs2/quickdialogs2utils/qtquickdialogs2utilsglobal_p.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Quick Dialogs 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$
-**
-****************************************************************************/
-
-#ifndef QTQUICKDIALOGS2UTILSGLOBAL_P_H
-#define QTQUICKDIALOGS2UTILSGLOBAL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_QUICKDIALOGS2UTILS_LIB)
-# define Q_QUICKDIALOGS2UTILS_PRIVATE_EXPORT Q_DECL_EXPORT
-# else
-# define Q_QUICKDIALOGS2UTILS_PRIVATE_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_QUICKDIALOGS2UTILS_PRIVATE_EXPORT
-#endif
-
-QT_END_NAMESPACE
-
-#endif // QTQUICKDIALOGS2UTILSUTILSGLOBAL_P_H