aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2022-11-18 15:15:16 +0800
committerMitch Curtis <mitch.curtis@qt.io>2022-12-01 10:26:20 +0800
commit4bd87b903b355b53e3105ba1ae7c154c4e55cdaf (patch)
treecc2edb597f0d5871302eb86e9dda78217384a5aa /src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp
parent786e1748d4469c135a922a221024f3f9c421c0de (diff)
Remove "2" from Qt Quick Controls directories
Qt Quick Controls 2 was named that way because it was a follow-up to Qt Quick Controls 1.x. Now that Qt Quick Controls 1 is no longer supported, we don't need to have "2" in the name. Work on this was already started for the documentation in 1abdfe5d5a052f2298b7bf657513dfa7e0c66a56. By doing this renaming a few weeks before feature freeze, it won't affect the release but still results in as little time possible spent manually fixing conflicts in cherry-picks from non-LTS releases as a result of the renaming. This patch does the following: - Renames directories. - Adapts CMakeLists.txt and other files to account for the new paths. A follow-up patch will handle documentation. It does not touch library names or other user-facing stuff, as that will have to be done in Qt 7. Task-number: QTBUG-95413 Change-Id: I170d8db19033ee71e495ff0c5c1a517a41ed7634 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp')
-rw-r--r--src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp152
1 files changed, 0 insertions, 152 deletions
diff --git a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp b/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp
deleted file mode 100644
index 71b1fccbc5..0000000000
--- a/src/quickdialogs2/quickdialogs2quickimpl/qquickfiledialogdelegate.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (C) 2021 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-
-#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"
-#include "qquickfolderdialogimpl_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QQuickFileDialogDelegatePrivate : public QQuickItemDelegatePrivate
-{
-public:
- Q_DECLARE_PUBLIC(QQuickFileDialogDelegate)
-
- void highlightFile();
- void chooseFile();
-
- bool acceptKeyClick(Qt::Key key) const override;
-
- QQuickDialog *dialog = nullptr;
- QQuickFileDialogImpl *fileDialog = nullptr;
- QQuickFolderDialogImpl *folderDialog = 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);
- if (fileDialog)
- fileDialog->setSelectedFile(file);
- else if (folderDialog)
- folderDialog->setSelectedFolder(file);
- }
-}
-
-void QQuickFileDialogDelegatePrivate::chooseFile()
-{
- const QFileInfo fileInfo(QQmlFile::urlToLocalFileOrQrc(file));
- if (fileInfo.isDir()) {
- // If it's a directory, navigate to it.
- if (fileDialog)
- fileDialog->setCurrentFolder(file);
- else
- folderDialog->setCurrentFolder(file);
- } else {
- Q_ASSERT(fileDialog);
- // 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);
-}
-
-QQuickDialog *QQuickFileDialogDelegate::dialog() const
-{
- Q_D(const QQuickFileDialogDelegate);
- return d->dialog;
-}
-
-void QQuickFileDialogDelegate::setDialog(QQuickDialog *dialog)
-{
- Q_D(QQuickFileDialogDelegate);
- if (dialog == d->dialog)
- return;
-
- d->dialog = dialog;
- d->fileDialog = qobject_cast<QQuickFileDialogImpl*>(dialog);
- d->folderDialog = qobject_cast<QQuickFolderDialogImpl*>(dialog);
- emit dialogChanged();
-}
-
-QUrl QQuickFileDialogDelegate::file() const
-{
- Q_D(const QQuickFileDialogDelegate);
- return d->file;
-}
-
-void QQuickFileDialogDelegate::setFile(const QUrl &file)
-{
- Q_D(QQuickFileDialogDelegate);
- QUrl adjustedFile = file;
-#ifdef Q_OS_WIN32
- // Work around QTBUG-99105 (FolderListModel uses lowercase drive letter).
- QString path = adjustedFile.path();
- const int driveColonIndex = path.indexOf(QLatin1Char(':'));
- if (driveColonIndex == 2) {
- path.replace(1, 1, path.at(1).toUpper());
- adjustedFile.setPath(path);
- }
-#endif
- if (adjustedFile == d->file)
- return;
-
- d->file = adjustedFile;
- 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"