Sayonara Player
DirectorySelectionHandler.h
1#ifndef DIRECTORYSELECTIONHANDLER_H
2#define DIRECTORYSELECTIONHANDLER_H
3
4#include "Utils/Pimpl.h"
5#include <QObject>
6
7namespace Library
8{
9 class Info;
10 class Manager;
11}
12
13class FileOperations;
14class LocalLibrary;
15class 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