CoreTrace Qt IDE 1.0
The CoreTrace Text editor
 
Loading...
Searching...
No Matches
file_tree_view.hpp
Go to the documentation of this file.
1#ifndef FILE_TREE_VIEW_HPP
2#define FILE_TREE_VIEW_HPP
3
4#include <QTreeView>
5#include <QFileSystemModel>
6#include <QWidget>
7#include <QMenu>
8#include <QAction>
9
10class FileTreeView : public QTreeView {
11 Q_OBJECT
12
13public:
14 explicit FileTreeView(QWidget* parent = nullptr);
15 void setRootPath(const QString& path);
16
17signals:
18 void fileSelected(const QString& filePath);
19 void fileCreated(const QString& filePath);
20 void folderCreated(const QString& folderPath);
21
22protected:
23 void mouseReleaseEvent(QMouseEvent* event) override;
24 void contextMenuEvent(QContextMenuEvent* event) override;
25
26private slots:
27 void createNewFile();
28 void createNewFolder();
29 void renameItem();
30 void deleteItem();
31
32private:
33 QFileSystemModel* model;
35 QModelIndex contextMenuIndex;
36
37 QMenu* createContextMenu();
38 QString getUniqueName(const QString& basePath, const QString& name, const QString& extension = QString());
39 bool createFileOrFolder(const QString& path, bool isFile);
40};
41
42#endif // FILE_TREE_VIEW_HPP
A custom QTreeView for displaying and managing files.
Definition file_tree_view.hpp:10
void renameItem()
Renames the selected file or folder.
Definition file_tree_view.cpp:223
void deleteItem()
Deletes the selected file or folder.
Definition file_tree_view.cpp:263
QModelIndex contextMenuIndex
Definition file_tree_view.hpp:35
void setRootPath(const QString &path)
Sets the root path for the file tree view.
Definition file_tree_view.cpp:57
void mouseReleaseEvent(QMouseEvent *event) override
Handles mouse release events to detect file selection.
Definition file_tree_view.cpp:69
QFileSystemModel * model
Definition file_tree_view.hpp:33
void contextMenuEvent(QContextMenuEvent *event) override
Handles context menu events to display file/folder options.
Definition file_tree_view.cpp:97
QMenu * createContextMenu()
Definition file_tree_view.cpp:107
QString currentFilePath
Definition file_tree_view.hpp:34
QString getUniqueName(const QString &basePath, const QString &name, const QString &extension=QString())
Generates a unique name for a file or folder.
Definition file_tree_view.cpp:311
void createNewFolder()
Creates a new folder in the selected directory.
Definition file_tree_view.cpp:185
void folderCreated(const QString &folderPath)
void fileSelected(const QString &filePath)
void createNewFile()
Creates a new file in the selected directory.
Definition file_tree_view.cpp:147
bool createFileOrFolder(const QString &path, bool isFile)
Creates a file or folder at the specified path.
Definition file_tree_view.cpp:351
void fileCreated(const QString &filePath)