41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#ifndef FILESYSTEMWIDGET_H
|
|
#define FILESYSTEMWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QFileSystemModel>
|
|
#include <QListView>
|
|
#include <QTreeView>
|
|
|
|
class FilesystemWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
QListView *m_listView;
|
|
QAbstractItemModel *m_model;
|
|
public:
|
|
explicit FilesystemWidget(QAbstractItemModel *model, QWidget *parent = nullptr);
|
|
private slots:
|
|
void selectFile(int row);
|
|
void fileClicked(const QModelIndex &index, const QModelIndex &);
|
|
signals:
|
|
void fileSelected(int row);
|
|
};
|
|
|
|
class Filetree : public QTreeView
|
|
{
|
|
Q_OBJECT
|
|
QFileSystemModel *m_fileSystemModel;
|
|
QString m_rootDir;
|
|
public:
|
|
explicit Filetree(QWidget *parent = nullptr);
|
|
~Filetree() override;
|
|
void contextMenuEvent(QContextMenuEvent *event) override;
|
|
void mouseDoubleClickEvent(QMouseEvent *event) override;
|
|
signals:
|
|
void fileSelected(const QString &path);
|
|
void copyFiles(const QString &path);
|
|
void moveFiles(const QString &path);
|
|
void indexDirectory(const QString &path);
|
|
};
|
|
|
|
#endif // FILESYSTEMWIDGET_H
|