DSCAnalysisTool/src/ui/leftwidget.h

65 lines
1.7 KiB
C
Raw Normal View History

2025-03-10 09:35:07 +00:00
#ifndef LEFTWIDGET_H
#define LEFTWIDGET_H
#include <QWidget>
#include <QDockWidget>
2025-10-24 09:06:37 +00:00
#include <qmenu.h>
2025-03-10 09:35:07 +00:00
#include <qtreewidget.h>
#include <QTreeWidgetItem>
2025-10-24 09:06:37 +00:00
#include <QMenu>
#include <QAction>
2025-03-10 09:35:07 +00:00
2025-06-20 09:28:45 +00:00
#include "global.h"
2025-03-10 09:35:07 +00:00
class LeftWidget:public QDockWidget
{
Q_OBJECT
public:
2025-03-21 09:28:36 +00:00
LeftWidget(QWidget *parent = nullptr);
2025-04-22 08:59:26 +00:00
void reloadFileName();
2025-06-20 09:28:45 +00:00
2025-12-11 08:15:36 +00:00
void reloadFileTree();
2025-06-20 09:28:45 +00:00
QString filePathCheck(const QString fileName,const QString folderPath);
2025-12-11 08:15:36 +00:00
// 确认删除文件
void confirmDelete(bool enabled);
2025-04-22 08:59:26 +00:00
signals:
void sigSendAnalysisFileName(const QString&);
2025-12-11 08:15:36 +00:00
void sigDeleteActionTriggered(const QString&);
2025-03-10 09:35:07 +00:00
private:
void initData();
void initFileName(QTreeWidgetItem*,const QString &folderPath);
void expandAll(QTreeWidgetItem* item);
2025-04-22 08:59:26 +00:00
void clearAllChildItems(QTreeWidgetItem* parentItem);
2025-12-11 08:15:36 +00:00
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);
2025-03-19 07:19:45 +00:00
private slots:
void slotTreeWidgetItemClicked(QTreeWidgetItem *item, int column);
2025-10-24 09:06:37 +00:00
void slotShowContextMenu(const QPoint &pos);
2025-12-11 08:15:36 +00:00
void slotDeleteActionTriggered();
void slotCreateFolderActionTriggered();
2025-03-10 09:35:07 +00:00
private:
QTreeWidget *_treeWidget;
2025-09-26 08:50:48 +00:00
2025-03-10 09:35:07 +00:00
QTreeWidgetItem *_analysisStateItem,
*_baseLineItem,
*_sampleDataItem;
2025-09-26 08:50:48 +00:00
2025-10-24 09:06:37 +00:00
QMenu *_contextMenu;
2025-12-11 08:15:36 +00:00
QAction *_deleteFileAction;
QAction *_createFolderAction;
QString _deleteFileActionFilePath;
// 保存展开状态的列表
QStringList _expandedPaths;
2025-03-10 09:35:07 +00:00
};
#endif // LEFTWIDGET_H
2025-12-11 08:15:36 +00:00