22#include <QUndoCommand>
24#include <QFileSystemModel>
32class QAbstractItemView;
33class QItemSelectionModel;
35class PlaylistIconView;
38class QSortFilterProxyModel;
40class FilesDock :
public QDockWidget
45 explicit FilesDock(QWidget *parent = 0);
52 int getCacheMediaType(
const QString &key);
53 void setCacheMediaType(
const QString &key,
int mediaType);
56 void clipOpened(QString);
57 void selectionChanged();
60 void onOpenActionTriggered();
61 void changeDirectory(
const QString &path);
64 void viewCustomContextMenuRequested(
const QPoint &pos);
65 void onMediaTypeClicked();
66 void onOpenOtherAdd();
67 void onOpenOtherRemove();
69 void on_locationsCombo_activated(
int index);
71 void on_addLocationButton_clicked();
73 void on_removeLocationButton_clicked();
76 void keyPressEvent(QKeyEvent *event);
77 void keyReleaseEvent(QKeyEvent *event);
81 void emitDataChanged(
const QVector<int> &roles);
82 void updateViewMode();
83 void onUpdateThumbnailsActionTriggered();
84 void onSelectAllActionTriggered();
85 void incrementIndex(
int step);
86 void addOpenWithMenu(QMenu *menu);
87 QString firstSelectedFilePath();
88 QString firstSelectedMediaType();
91 QAbstractItemView *m_view;
92 PlaylistIconView *m_iconsView;
93 std::unique_ptr<QFileSystemModel> m_dirsModel;
94 FilesModel *m_filesModel;
95 QItemSelectionModel *m_selectionModel;
97 FilesProxyModel *m_filesProxyModel;
98 QHash<QString, CacheItem> m_cache;