19#include <QtWidgets/private/qtwidgetsglobal_p.h>
22#include <qstandarditemmodel.h>
23#include <qstyleditemdelegate.h>
30class QFileSystemModel;
36 void initStyleOption(QStyleOptionViewItem *option,
40class Q_AUTOTEST_EXPORT
QUrlModel :
public QStandardItemModel
46 UrlRole = Qt::UserRole + 1,
47 EnabledRole = Qt::UserRole + 2
50 QUrlModel(QObject *parent =
nullptr);
53 QStringList mimeTypes()
const override;
54 QMimeData *mimeData(
const QModelIndexList &indexes)
const override;
55#if QT_CONFIG(draganddrop)
56 bool canDrop(QDragEnterEvent *event);
57 bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent) override;
59 Qt::ItemFlags flags(
const QModelIndex &index)
const override;
60 bool setData(
const QModelIndex &index,
const QVariant &value,
int role=Qt::EditRole) override;
62 void setUrls(
const QList<QUrl> &list);
63 void addUrls(
const QList<QUrl> &urls,
int row = -1,
bool move =
true);
64 QList<QUrl> urls()
const;
65 void setFileSystemModel(QFileSystemModel *model);
69 void dataChanged(
const QModelIndex &topLeft,
const QModelIndex &bottomRight);
73 void setUrl(
const QModelIndex &index,
const QUrl &url,
const QModelIndex &dirIndex);
74 void changed(
const QString &path);
75 void addIndexToWatch(
const QString &path,
const QModelIndex &index);
76 QFileSystemModel *fileSystemModel;
81 friend class QTypeInfo<WatchItem>;
83 QList<WatchItem> watching;
84 QList<QUrl> invalidUrls;
85 std::array<QMetaObject::Connection, 3> modelConnections;
87Q_DECLARE_TYPEINFO(QUrlModel::WatchItem, Q_RELOCATABLE_TYPE);
89class Q_AUTOTEST_EXPORT
QSidebar :
public QListView
94 void goToUrl(
const QUrl &url);
97 QSidebar(QWidget *parent =
nullptr);
98 void setModelAndUrls(QFileSystemModel *model,
const QList<QUrl> &newUrls);
101 QSize sizeHint()
const override;
103 void setUrls(
const QList<QUrl> &list) { urlModel->setUrls(list); }
104 void addUrls(
const QList<QUrl> &list,
int row) { urlModel->addUrls(list, row); }
105 QList<QUrl> urls()
const {
return urlModel->urls(); }
107 void selectUrl(
const QUrl &url);
110 bool event(QEvent * e) override;
111 void focusInEvent(QFocusEvent *event) override;
112#if QT_CONFIG(draganddrop)
113 void dragEnterEvent(QDragEnterEvent *event) override;
117 void clicked(
const QModelIndex &index);
119 void showContextMenu(
const QPoint &position);
The QComboBox widget combines a button with a dropdown list.
QFileDialogComboBox(QWidget *parent=nullptr)
QStringList history() const
void setHistory(const QStringList &paths)
void setFileDialogPrivate(QFileDialogPrivate *d_pointer)
void showPopup() override
Displays the list of items in the combobox.
void paintEvent(QPaintEvent *) override
\reimp
void keyPressEvent(QKeyEvent *e) override
FIXME: this is a hack to avoid propagating key press events to the dialog and from there to the "Ok" ...
void setFileDialogPrivate(QFileDialogPrivate *d_pointer)
QFileDialogLineEdit(QWidget *parent=nullptr)
void setFileDialogPrivate(QFileDialogPrivate *d_pointer)
QSize sizeHint() const override
QFileDialogListView(QWidget *parent=nullptr)
void keyPressEvent(QKeyEvent *e) override
void keyPressEvent(QKeyEvent *e) override
QSize sizeHint() const override
QFileDialogTreeView(QWidget *parent)
void setFileDialogPrivate(QFileDialogPrivate *d_pointer)
The QFileDialog class provides a dialog that allows users to select files or directories.
The QListView class provides a list or icon view onto a model.
The QTreeView class provides a default model/view implementation of a tree view.
QT_REQUIRE_CONFIG(animation)
static QUrl _qt_get_directory(const QUrl &url, const QFileInfo &local)
static void _qt_init_lastVisited()
QStringList qt_strip_filters(const QStringList &filters)
QStringList qt_make_filter_list(const QString &filter)
static QString fileFromPath(const QString &rootPath, QString path)
static bool isCaseSensitiveFileSystem(const QString &path)
QT_REQUIRE_CONFIG(filedialog)
QT_REQUIRE_CONFIG(thread)
QT_REQUIRE_CONFIG(treeview)
QFileDialogArgs(const QUrl &url={})