Files
VX5_KRO_GearPump/fileManage/FileManageWidget.h
T
2026-07-02 14:32:38 +08:00

63 lines
1.3 KiB
C++

#ifndef FILEMANAGEWIDGET_H
#define FILEMANAGEWIDGET_H
#include <QWidget>
#include <QListWidget>
#include <QTimer>
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 onUDiskCheckTimeout();
void refreshButtonsStatus();
private:
bool checkUDiskPresent();
bool ensureUDiskDocDir();
int refreshFileList(QListWidget* listView);
void onUDiskStateChanged();
void copyFiles(QListWidget* from, QListWidget* to);
Ui::FileManageWidget *ui;
int m_currFilterType;
QListWidget* m_focusedListView = nullptr;
static constexpr int AbsPathRole = Qt::UserRole + 1;
QTimer* m_udiskCheckTimer = nullptr;
bool m_hasUDisk = false;
void applyStyleSheet(); // 应用样式表
};
#endif // FILEMANAGEWIDGET_H