File indexing completed on 2024-05-19 04:48:26
0001 #pragma once 0002 #include <MauiKit3/Core/mauilist.h> 0003 0004 class PlaylistsModel : public MauiList 0005 { 0006 Q_OBJECT 0007 Q_PROPERTY(int limit READ limit WRITE setLimit NOTIFY limitChanged) 0008 0009 public: 0010 explicit PlaylistsModel(QObject *parent = nullptr); 0011 const FMH::MODEL_LIST &items() const override; 0012 0013 int limit() const; 0014 void setLimit(int newLimit); 0015 0016 void componentComplete() override; 0017 0018 public Q_SLOTS: 0019 void insert(const QString &playlist); 0020 0021 void addTrack(const QString &playlist, const QStringList &urls); 0022 void removeTrack(const QString &playlist, const QString &url); 0023 void removePlaylist(const int &index); 0024 0025 private: 0026 FMH::MODEL_LIST list; 0027 void setList(); 0028 0029 FMH::MODEL_LIST defaultPlaylists(); 0030 FMH::MODEL_LIST tags(); 0031 FMH::MODEL packPlaylist(const QString &playlist); 0032 QString playlistArtworkPreviews(const QString &playlist); 0033 0034 int m_limit = 9999; 0035 0036 Q_SIGNALS: 0037 void sortByChanged(); 0038 void fileTagged(QUrl url, QString playlist); 0039 0040 void limitChanged(); 0041 }; 0042