From ba4320859d9cd35448d50c6e924fccb43ad47e23 Mon Sep 17 00:00:00 2001 From: Jim Broadus Date: Mon, 10 Feb 2020 17:05:47 -0800 Subject: [PATCH] Change LibraryDirectoryModel to take shared backend pointer. This is mainly for parity amongst the library model classes. --- src/library/library.cpp | 2 +- src/library/librarydirectorymodel.cpp | 10 ++++++---- src/library/librarydirectorymodel.h | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/library/library.cpp b/src/library/library.cpp index 05bf9f889..c4705dddb 100644 --- a/src/library/library.cpp +++ b/src/library/library.cpp @@ -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() diff --git a/src/library/librarydirectorymodel.cpp b/src/library/librarydirectorymodel.cpp index 572b0ad42..018772d84 100644 --- a/src/library/librarydirectorymodel.cpp +++ b/src/library/librarydirectorymodel.cpp @@ -23,14 +23,16 @@ #include "core/utilities.h" #include "ui/iconloader.h" -LibraryDirectoryModel::LibraryDirectoryModel(LibraryBackend* backend, - QObject* parent) +LibraryDirectoryModel::LibraryDirectoryModel( + std::shared_ptr 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() {} diff --git a/src/library/librarydirectorymodel.h b/src/library/librarydirectorymodel.h index 1a7dac877..3bbde3a0b 100644 --- a/src/library/librarydirectorymodel.h +++ b/src/library/librarydirectorymodel.h @@ -32,7 +32,8 @@ class LibraryDirectoryModel : public QStandardItemModel { Q_OBJECT public: - LibraryDirectoryModel(LibraryBackend* backend, QObject* parent = nullptr); + LibraryDirectoryModel(std::shared_ptr 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 backend_; QList > storage_; };