-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFileManager.h
More file actions
75 lines (63 loc) · 1.73 KB
/
FileManager.h
File metadata and controls
75 lines (63 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef FILEMANAGER_H
#define FILEMANAGER_H
#include "ui_FileManager.h"
#include <QtWidgets/QMainWindow>
#include <QMessageBox>
#include <QKeyEvent>
#include "FileModel.h"
#include "DirTreeModel.h"
#include "FileModelDelegate.h"
#include "DirTreeDelegate.h"
#include <QSplitter>
#include <QMenu>
#include <QFile>
#include <QFileDialog>
#include <QTreeView>
#include "FilePreviewWidget.h"
#include <QStatusBar>
#include <QDesktopServices>
QT_BEGIN_NAMESPACE
namespace Ui
{
class FileManager;
}
QT_END_NAMESPACE
class FileManager : public QMainWindow
{
Q_OBJECT
public:
FileManager(QWidget *parent = nullptr);
~FileManager();
void pathChanged(const QString &newPath);
protected:
Ui::FileManager *ui;
FilePreviewWidget *previewWidget;
FileModel *fileModel;
DirTreeModel *treeModel;
private:
bool loaded = false;
void expandToIndex(QTreeView *tree, const QModelIndex &index)
{
QModelIndex parent = index;
while (parent.isValid())
{
tree->expand(parent);
parent = parent.parent();
}
}
void expandSideTreeToPath(QString path);
void enableActions(bool enable);
void initSideBar();
protected slots:
void on_pathLineEdit_returnPressed();
void on_listView_doubleClicked(const QModelIndex &index);
void on_listView_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
void on_listView_customContextMenuRequested(const QPoint &pos);
void on_treeView_clicked(const QModelIndex &index);
void on_deleteButton_clicked();
void on_moveButton_clicked();
void on_copyButton_clicked();
void on_refreshButton_clicked();
void keyPressEvent(QKeyEvent *event) override;
};
#endif // FILEMANAGER_H