21#ifndef DIRECTORYTREEVIEW_H
22#define DIRECTORYTREEVIEW_H
24#include "DirectoryModel.h"
25#include "Gui/InfoDialog/InfoDialogContainer.h"
27#include "Gui/Utils/SearchableWidget/SearchableView.h"
28#include "Gui/Utils/Widgets/WidgetTemplate.h"
29#include "Gui/Utils/Widgets/Dragable.h"
30#include "Utils/Pimpl.h"
33#include <QModelIndexList>
41 class LibraryContextMenu;
68 void sigDeleteClicked();
69 void sigPlayClicked();
70 void sigPlayNewTabClicked();
71 void sigPlayNextClicked();
72 void sigAppendClicked();
73 void sigDirectoryLoaded(
const QModelIndex& index);
74 void sigCurrentIndexChanged(
const QModelIndex& index);
76 void sigEnterPressed();
77 void sigImportRequested(LibraryId libraryId,
const QStringList& tracks,
const QString& targetDirectory);
79 void sigCopyRequested(
const QStringList& paths,
const QString& target);
80 void sigMoveRequested(
const QStringList& paths,
const QString& target);
81 void sigRenameRequested(
const QString& path,
const QString& target);
83 void sigCopyToLibraryRequested(LibraryId libraryId);
84 void sigMoveToLibraryRequested(LibraryId libraryId);
87 explicit TreeView(QWidget* parent =
nullptr);
92 QString directoryName(
const QModelIndex& index);
94 QModelIndexList selectedRows()
const;
95 QStringList selectedPaths()
const;
97 void setFilterTerm(
const QString& filter);
100 void setBusy(
bool b);
103 enum class DropAction
110 void initContextMenu();
111 DropAction showDropMenu(
const QPoint& pos);
112 void handleSayonaraDrop(
const Gui::CustomMimeData* mimedata,
const QString& targetDirectory);
115 void createDirectoryClicked();
116 void renameDirectoryClicked();
117 void viewInFileManagerClicked();
118 void dragTimerTimeout();
121 void skinChanged()
override;
123 void keyPressEvent(QKeyEvent* event)
override;
124 void contextMenuEvent(QContextMenuEvent* event)
override;
126 void dragEnterEvent(QDragEnterEvent* event)
override;
127 void dragLeaveEvent(QDragLeaveEvent* event)
override;
128 void dragMoveEvent(QDragMoveEvent* event)
override;
129 void dropEvent(QDropEvent* event)
override;
131 void selectionChanged(
const QItemSelection& selected,
const QItemSelection& deselected)
override;
134 MD::Interpretation metadataInterpretation()
const override;
136 bool hasMetadata()
const override;
137 QStringList pathlist()
const override;
138 QWidget* getParentWidget()
override;
The DirectoryTreeView class.
Definition: DirectoryTreeView.h:61
Definition: CustomMimeData.h:33
The Dragable class.
Definition: Dragable.h:62
Definition: InfoDialogContainer.h:61
Definition: LibraryManager.h:36
The Info class.
Definition: LibraryInfo.h:38