Change LibraryDirectoryModel to take shared backend pointer.

This is mainly for parity amongst the library model classes.
This commit is contained in:
Jim Broadus 2020-02-10 17:05:47 -08:00 committed by John Maguire
parent bc99ff80a9
commit ba4320859d
3 changed files with 10 additions and 7 deletions

View File

@ -57,7 +57,7 @@ Library::Library(Application* app, QObject* parent)
using smart_playlists::SearchTerm;
model_ = new LibraryModel(backend_, app_, this);
dir_model_ = new LibraryDirectoryModel(backend_.get(), this);
dir_model_ = new LibraryDirectoryModel(backend_, this);
model_->set_show_smart_playlists(true);
model_->set_default_smart_playlists(
LibraryModel::DefaultGenerators()

View File

@ -23,14 +23,16 @@
#include "core/utilities.h"
#include "ui/iconloader.h"
LibraryDirectoryModel::LibraryDirectoryModel(LibraryBackend* backend,
QObject* parent)
LibraryDirectoryModel::LibraryDirectoryModel(
std::shared_ptr<LibraryBackend> backend, QObject* parent)
: QStandardItemModel(parent),
dir_icon_(IconLoader::Load("document-open-folder", IconLoader::Base)),
backend_(backend) {
connect(backend_, SIGNAL(DirectoryDiscovered(Directory, SubdirectoryList)),
connect(backend_.get(),
SIGNAL(DirectoryDiscovered(Directory, SubdirectoryList)),
SLOT(DirectoryDiscovered(Directory)));
connect(backend_, SIGNAL(DirectoryDeleted(int)), SLOT(DirectoryDeleted(int)));
connect(backend_.get(), SIGNAL(DirectoryDeleted(int)),
SLOT(DirectoryDeleted(int)));
}
LibraryDirectoryModel::~LibraryDirectoryModel() {}

View File

@ -32,7 +32,8 @@ class LibraryDirectoryModel : public QStandardItemModel {
Q_OBJECT
public:
LibraryDirectoryModel(LibraryBackend* backend, QObject* parent = nullptr);
LibraryDirectoryModel(std::shared_ptr<LibraryBackend> backend,
QObject* parent = nullptr);
~LibraryDirectoryModel();
// To be called by GUIs
@ -50,7 +51,7 @@ class LibraryDirectoryModel : public QStandardItemModel {
static const int kIdRole = Qt::UserRole + 1;
QIcon dir_icon_;
LibraryBackend* backend_;
std::shared_ptr<LibraryBackend> backend_;
QList<std::shared_ptr<MusicStorage> > storage_;
};