42 lines
904 B
C
42 lines
904 B
C
|
#pragma once
|
||
|
|
||
|
#include <QDragEnterEvent>
|
||
|
#include <QFrame>
|
||
|
#include <QGridLayout>
|
||
|
#include <QTreeView>
|
||
|
#include <QFileSystemModel>
|
||
|
#include <QMenu>
|
||
|
#include <QScrollArea>
|
||
|
|
||
|
class AssetBrowser : public QFrame
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
public:
|
||
|
explicit AssetBrowser(QWidget* parent = nullptr);
|
||
|
~AssetBrowser();
|
||
|
|
||
|
void Rebuild();
|
||
|
|
||
|
void dragEnterEvent(QDragEnterEvent* event) override;
|
||
|
void dropEvent(QDropEvent* event) override;
|
||
|
|
||
|
public slots:
|
||
|
void folderviewCustomContextMenu(const QPoint& point);
|
||
|
void indexClicked(const QModelIndex& list);
|
||
|
|
||
|
private:
|
||
|
QGridLayout* m_mainLayout;
|
||
|
QTreeView* m_foldertree;
|
||
|
QFileSystemModel* m_model;
|
||
|
|
||
|
QMenu* m_directoryMenu;
|
||
|
|
||
|
QScrollArea* m_assetScrollArea;
|
||
|
QFrame* m_assetContainer;
|
||
|
QVBoxLayout* m_assetLayout;
|
||
|
|
||
|
QString m_selectedDirectory;
|
||
|
QString m_contextDirectory;
|
||
|
|
||
|
QMenu* m_createAssetMenu, *m_generalAssetMenu;
|
||
|
};
|