Files
tenmon/filesystemwidget.h
T
2023-03-11 10:41:26 +01:00

44 lines
1.1 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);
void contextMenuEvent(QContextMenuEvent *event) override;
private slots:
void selectFile(int row);
void fileClicked(const QModelIndex &index, const QModelIndex &);
signals:
void fileSelected(int row);
void sortChanged(QDir::SortFlag sort);
void reverseSort();
};
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