65 lines
1.7 KiB
C++
65 lines
1.7 KiB
C++
#ifndef LEFTWIDGET_H
|
|
#define LEFTWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QDockWidget>
|
|
#include <qmenu.h>
|
|
#include <qtreewidget.h>
|
|
#include <QTreeWidgetItem>
|
|
#include <QMenu>
|
|
#include <QAction>
|
|
|
|
#include "global.h"
|
|
|
|
class LeftWidget:public QDockWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
LeftWidget(QWidget *parent = nullptr);
|
|
|
|
void reloadFileName();
|
|
|
|
void reloadFileTree();
|
|
|
|
QString filePathCheck(const QString fileName,const QString folderPath);
|
|
// 确认删除文件
|
|
void confirmDelete(bool enabled);
|
|
signals:
|
|
void sigSendAnalysisFileName(const QString&);
|
|
void sigDeleteActionTriggered(const QString&);
|
|
private:
|
|
void initData();
|
|
void initFileName(QTreeWidgetItem*,const QString &folderPath);
|
|
void expandAll(QTreeWidgetItem* item);
|
|
void clearAllChildItems(QTreeWidgetItem* parentItem);
|
|
QFileInfoList scanDirRecursively(const QString &rootPath);
|
|
void buildFileTree(QTreeWidgetItem *parentItem, const QString &dirPath);
|
|
void saveExpandedState();
|
|
void restoreExpandedState();
|
|
void expandAndSelectItem(const QString &path);
|
|
bool removeDir(const QString &dirPath);
|
|
private slots:
|
|
void slotTreeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
|
void slotShowContextMenu(const QPoint &pos);
|
|
void slotDeleteActionTriggered();
|
|
void slotCreateFolderActionTriggered();
|
|
private:
|
|
QTreeWidget *_treeWidget;
|
|
|
|
QTreeWidgetItem *_analysisStateItem,
|
|
*_baseLineItem,
|
|
*_sampleDataItem;
|
|
|
|
QMenu *_contextMenu;
|
|
|
|
QAction *_deleteFileAction;
|
|
QAction *_createFolderAction;
|
|
QString _deleteFileActionFilePath;
|
|
|
|
// 保存展开状态的列表
|
|
QStringList _expandedPaths;
|
|
};
|
|
|
|
#endif // LEFTWIDGET_H
|
|
|