Sayonara Player
DirectorySelectionHandler.h
1 #ifndef DIRECTORYSELECTIONHANDLER_H
2 #define DIRECTORYSELECTIONHANDLER_H
3 
4 #include "Utils/Pimpl.h"
5 #include <QObject>
6 
7 namespace Library
8 {
9  class Info;
10  class Manager;
11 }
12 
13 class FileOperations;
14 class LocalLibrary;
15 class QStringList;
16 
18  public QObject
19 {
20  Q_OBJECT
22 
23  signals:
24  void sigLibrariesChanged();
25  void sigImportDialogRequested(const QString& targetPath);
26  void sigFileOperationStarted();
27  void sigFileOperationFinished();
28 
29  private:
30  FileOperations* createFileOperation();
31 
32  public:
33  DirectorySelectionHandler(Library::Manager* libraryManager, QObject* parent = nullptr);
35 
36  void playNext(const QStringList& paths);
37  void createPlaylist(const QStringList& paths, bool createNewPlaylist);
38  void appendTracks(const QStringList& paths);
39  void prepareTracksForPlaylist(const QStringList& paths, bool createNewPlaylist);
40 
41  void requestImport(LibraryId libId, const QStringList& paths, const QString& targetDirectory);
42 
43  void setLibraryId(LibraryId libId);
44  LibraryId libraryId() const;
45 
46  void createNewLibrary(const QString& name, const QString& path);
47 
48  Library::Info libraryInfo() const;
49  LocalLibrary* libraryInstance() const;
50 
51  void setSearchText(const QString& text);
52 
53  void copyPaths(const QStringList& paths, const QString& target);
54  void movePaths(const QStringList& paths, const QString& target);
55  void renamePath(const QString& path, const QString& newName);
56  void renameByExpression(const QString& path, const QString& expression);
57  void deletePaths(const QStringList& paths);
58 
59  private slots:
60  void librariesChanged();
61 };
62 
63 #endif // DIRECTORYSELECTIONHANDLER_H
Definition: DirectorySelectionHandler.h:19
Definition: FileOperations.h:32
The Info class.
Definition: LibraryInfo.h:38
Definition: LibraryManager.h:40
Definition: LocalLibrary.h:38
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31