Sayonara Player
GUI_DirectoryView.h
1 #ifndef GUI_DIRECTORYVIEW_H
2 #define GUI_DIRECTORYVIEW_H
3 
4 #include "Gui/Utils/Widgets/Widget.h"
5 #include "Utils/Pimpl.h"
6 
7 UI_FWD(GUI_DirectoryView)
8 
9 namespace Library { class Manager; }
10 
11 class QItemSelection;
12 
14  public Gui::Widget
15 {
16  Q_OBJECT
17  PIMPL(GUI_DirectoryView)
18  UI_CLASS(GUI_DirectoryView)
19 
20  public:
21  explicit GUI_DirectoryView(QWidget* parent=nullptr);
22  ~GUI_DirectoryView() override;
23 
24  void init(Library::Manager* libraryManager, LibraryId libraryId);
25  void setFilterTerm(const QString& filter);
26 
27  private:
28  void initUi();
29 
30  private slots:
31  void load();
32 
33  void importRequested(LibraryId id, const QStringList& paths, const QString& targetDirectory);
34  void importDialogRequested(const QString& targetDirectory);
35 
36  void newDirectoryClicked();
37  void viewInFileManagerClicked();
38 
39  void dirEnterPressed();
40  void dirOpened(QModelIndex idx);
41  void dirPressed(QModelIndex idx);
42  void dirClicked(QModelIndex idx);
43  void dirAppendClicked();
44  void dirPlayClicked();
45  void dirPlayNextClicked();
46  void dirPlayInNewTabClicked();
47  void dirDeleteClicked();
48  void dirCopyRequested(const QStringList& files, const QString& target);
49  void dirMoveRequested(const QStringList& files, const QString& target);
50  void dirRenameRequested(const QString& oldName, const QString& newName);
51  void dirCopyToLibRequested(LibraryId libraryId);
52  void dirMoveToLibRequested(LibraryId libraryId);
53  void dirSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
54 
55  void fileDoubleClicked(QModelIndex idx);
56  void fileEnterPressed();
57  void filePressed(QModelIndex idx);
58  void fileAppendClicked();
59  void filePlayClicked();
60  void filePlayNextClicked();
61  void filePlayNewTabClicked();
62  void fileDeleteClicked();
63  void fileRenameRequested(const QString& oldName, const QString& newName);
64  void fileRenameByExpressionRequested(const QString& oldName, const QString& expression);
65  void fileCopyToLibraryRequested(LibraryId libraryId);
66  void fileMoveToLibraryRequested(LibraryId libraryId);
67  void fileSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
68 
69  void fileOperationStarted();
70  void fileOperationFinished();
71 
72  void splitterMoved(int pos, int index);
73  void createDirectoryClicked();
74 
75  protected:
76  void languageChanged() override;
77  void skinChanged() override;
78  void showEvent(QShowEvent* event) override;
79 };
80 
81 #endif // GUI_DIRECTORYVIEW_H
Gui::Widget
Widget with Settings connection. Also contains triggers for language_changed() and skin_changed() \nT...
Definition: Widget.h:39
Library
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31
Library::Manager
Definition: LibraryManager.h:40
GUI_DirectoryView
Definition: GUI_DirectoryView.h:15