8#ifndef REMOTEDECKLIST_TREEWIDGET_H
9#define REMOTEDECKLIST_TREEWIDGET_H
16class QSortFilterProxyModel;
17class ServerInfo_DeckStorage_TreeItem;
51 [[nodiscard]] QString
getPath()
const;
76 template <
typename T> [[nodiscard]] T
getNode(
const QModelIndex &
index)
const
79 return dynamic_cast<T
>(
root);
80 return dynamic_cast<T
>(
static_cast<Node *
>(
index.internalPointer()));
98 [[nodiscard]]
int rowCount(
const QModelIndex &
parent = QModelIndex())
const override;
99 [[nodiscard]]
int columnCount(
const QModelIndex & = QModelIndex())
const override;
100 [[nodiscard]] QVariant
data(
const QModelIndex &
index,
int role)
const override;
101 [[nodiscard]] QVariant
102 headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const override;
103 [[nodiscard]] QModelIndex
index(
int row,
int column,
const QModelIndex &
parent = QModelIndex())
const override;
104 [[nodiscard]] QModelIndex
parent(
const QModelIndex &
index)
const override;
105 [[nodiscard]] Qt::ItemFlags
flags(
const QModelIndex &
index)
const override;
Definition abstract_client.h:51
Definition remote_decklist_tree_widget.h:46
void clearTree()
Definition remote_decklist_tree_widget.cpp:23
DirectoryNode(const QString &_name=QString(), DirectoryNode *_parent=nullptr)
Definition remote_decklist_tree_widget.cpp:12
QString getPath() const
Definition remote_decklist_tree_widget.cpp:30
FileNode * getNodeById(int id) const
Definition remote_decklist_tree_widget.cpp:63
~DirectoryNode() override
Definition remote_decklist_tree_widget.cpp:18
DirectoryNode * getNodeByPath(QStringList path)
Definition remote_decklist_tree_widget.cpp:42
Definition remote_decklist_tree_widget.h:56
int getId() const
Definition remote_decklist_tree_widget.h:66
int id
Definition remote_decklist_tree_widget.h:58
FileNode(const QString &_name, int _id, const QDateTime &_uploadTime, DirectoryNode *_parent=nullptr)
Definition remote_decklist_tree_widget.h:62
QDateTime uploadTime
Definition remote_decklist_tree_widget.h:59
QDateTime getUploadTime() const
Definition remote_decklist_tree_widget.h:70
Definition remote_decklist_tree_widget.h:26
QString getName() const
Definition remote_decklist_tree_widget.h:40
DirectoryNode * getParent() const
Definition remote_decklist_tree_widget.h:36
DirectoryNode * parent
Definition remote_decklist_tree_widget.h:28
QString name
Definition remote_decklist_tree_widget.h:29
Node(const QString &_name, DirectoryNode *_parent=nullptr)
Definition remote_decklist_tree_widget.h:32
Definition remote_decklist_tree_widget.h:20
int columnCount(const QModelIndex &=QModelIndex()) const override
Definition remote_decklist_tree_widget.cpp:104
~RemoteDeckList_TreeModel() override
Definition remote_decklist_tree_widget.cpp:90
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Definition remote_decklist_tree_widget.cpp:158
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Definition remote_decklist_tree_widget.cpp:182
DirectoryNode * addNamedFolderToTree(const QString &name, DirectoryNode *parent)
Definition remote_decklist_tree_widget.cpp:243
QModelIndex nodeToIndex(Node *node) const
Definition remote_decklist_tree_widget.cpp:211
QIcon dirIcon
Definition remote_decklist_tree_widget.h:87
AbstractClient * client
Definition remote_decklist_tree_widget.h:84
void addFileToTree(const ServerInfo_DeckStorage_TreeItem &file, DirectoryNode *parent)
Definition remote_decklist_tree_widget.cpp:218
void clearTree()
Definition remote_decklist_tree_widget.cpp:270
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition remote_decklist_tree_widget.cpp:202
void removeNode(Node *node)
Definition remote_decklist_tree_widget.cpp:253
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition remote_decklist_tree_widget.cpp:95
void addFolderToTree(const ServerInfo_DeckStorage_TreeItem &folder, DirectoryNode *parent)
Definition remote_decklist_tree_widget.cpp:229
QModelIndex parent(const QModelIndex &index) const override
Definition remote_decklist_tree_widget.cpp:194
QVariant data(const QModelIndex &index, int role) const override
Definition remote_decklist_tree_widget.cpp:109
void deckListFinished(const Response &r)
Definition remote_decklist_tree_widget.cpp:277
T getNode(const QModelIndex &index) const
Definition remote_decklist_tree_widget.h:76
QIcon fileIcon
Definition remote_decklist_tree_widget.h:87
void refreshTree()
Definition remote_decklist_tree_widget.cpp:262
DirectoryNode * getRoot() const
Definition remote_decklist_tree_widget.h:107
DirectoryNode * root
Definition remote_decklist_tree_widget.h:85
RemoteDeckList_TreeModel(AbstractClient *_client, QObject *parent=nullptr)
Definition remote_decklist_tree_widget.cpp:80