54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#ifndef FILEMANAGEWIDGET_H
|
|
#define FILEMANAGEWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QListWidget>
|
|
|
|
namespace Ui {
|
|
class FileManageWidget;
|
|
}
|
|
|
|
class FileManageWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit FileManageWidget(QWidget *parent = 0);
|
|
~FileManageWidget();
|
|
|
|
enum FilterType {
|
|
JobFile,
|
|
Image,
|
|
Font,
|
|
All
|
|
};
|
|
|
|
protected:
|
|
virtual bool eventFilter(QObject *watched, QEvent *event) override;
|
|
|
|
private slots:
|
|
void onFilterCBoxSelectChanged(int i);
|
|
void onExportBtnClicked();
|
|
void onImportBtnClicked();
|
|
void onSelectAllBtnClicked();
|
|
void onCancelAllBtnClicked();
|
|
void onDelSelectedBtnClicked();
|
|
void updateUDiskDevList();
|
|
|
|
private:
|
|
|
|
int updateFileListView(QListWidget* listView);
|
|
|
|
void copyFiles(QListWidget* from, QListWidget* to);
|
|
|
|
Ui::FileManageWidget *ui;
|
|
|
|
int m_currFilterType;
|
|
QListWidget* m_focusedListView = nullptr;
|
|
|
|
// 用于文件显示列表中,存放每个文件名对应的绝对路径所用的数据键
|
|
static constexpr int AbsPathRole = Qt::UserRole + 1;
|
|
};
|
|
|
|
#endif // FILEMANAGEWIDGET_H
|