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 }
11 
12 class FileOperations;
13 class LocalLibrary;
14 class QStringList;
15 
17  public QObject
18 {
19  Q_OBJECT
21 
22  signals:
23  void sigLibrariesChanged();
24  void sigImportDialogRequested(const QString& targetPath);
25  void sigFileOperationStarted();
26  void sigFileOperationFinished();
27 
28  private:
29  FileOperations* createFileOperation();
30 
31  public:
32  DirectorySelectionHandler(QObject* parent = nullptr);
34 
35  void playNext(const QStringList& paths);
36  void createPlaylist(const QStringList& paths, bool createNewPlaylist);
37  void appendTracks(const QStringList& paths);
38  void prepareTracksForPlaylist(const QStringList& paths, bool createNewPlaylist);
39 
40  void requestImport(LibraryId libId, const QStringList& paths, const QString& targetDirectory);
41 
42  void setLibraryId(LibraryId libId);
43  LibraryId libraryId() const;
44 
45  void createNewLibrary(const QString& name, const QString& path);
46 
47  Library::Info libraryInfo() const;
48  LocalLibrary* libraryInstance() const;
49 
50  void setSearchText(const QString& text);
51 
52  void copyPaths(const QStringList& paths, const QString& target);
53  void movePaths(const QStringList& paths, const QString& target);
54  void renamePath(const QString& path, const QString& newName);
55  void renameByExpression(const QString& path, const QString& expression);
56  void deletePaths(const QStringList& paths);
57 
58  private slots:
59  void librariesChanged();
60 };
61 
62 #endif // DIRECTORYSELECTIONHANDLER_H
DirectorySelectionHandler
Definition: DirectorySelectionHandler.h:18
Library
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31
LocalLibrary
Definition: LocalLibrary.h:37
Library::Info
The Info class.
Definition: LibraryInfo.h:37
FileOperations
Definition: FileOperations.h:31