Refactoring

This commit is contained in:
Jonas Kvinge
2024-10-22 18:12:33 +02:00
parent dfcf715291
commit 8da2b9cd94
623 changed files with 9071 additions and 5126 deletions

View File

@@ -38,8 +38,7 @@
#include <QMenu>
#include <QtEvents>
#include "core/shared_ptr.h"
#include "core/application.h"
#include "includes/shared_ptr.h"
#include "core/iconloader.h"
#include "core/mimedata.h"
#include "collection/collectionbackend.h"
@@ -53,7 +52,6 @@ using namespace Qt::Literals::StringLiterals;
StreamingCollectionView::StreamingCollectionView(QWidget *parent)
: AutoExpandingTreeView(parent),
app_(nullptr),
collection_backend_(nullptr),
collection_model_(nullptr),
filter_(nullptr),
@@ -84,9 +82,8 @@ StreamingCollectionView::StreamingCollectionView(QWidget *parent)
}
void StreamingCollectionView::Init(Application *app, SharedPtr<CollectionBackend> collection_backend, CollectionModel *collection_model, const bool favorite) {
void StreamingCollectionView::Init(const SharedPtr<CollectionBackend> collection_backend, CollectionModel *collection_model, const bool favorite) {
app_ = app;
collection_backend_ = collection_backend;
collection_model_ = collection_model;
favorite_ = favorite;

View File

@@ -32,7 +32,7 @@
#include <QString>
#include <QPixmap>
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "core/song.h"
#include "widgets/autoexpandingtreeview.h"
@@ -44,7 +44,6 @@ class QContextMenuEvent;
class QMouseEvent;
class QPaintEvent;
class Application;
class CollectionBackend;
class CollectionModel;
class CollectionFilterWidget;
@@ -55,13 +54,12 @@ class StreamingCollectionView : public AutoExpandingTreeView {
public:
explicit StreamingCollectionView(QWidget *parent = nullptr);
void Init(Application *app, SharedPtr<CollectionBackend> collection_backend, CollectionModel *collection_model, const bool favorite = false);
void Init(const SharedPtr<CollectionBackend> collection_backend, CollectionModel *collection_model, const bool favorite = false);
// Returns Songs currently selected in the collection view.
// Please note that the selection is recursive meaning that if for example an album is selected this will return all of it's songs.
SongList GetSelectedSongs() const;
void SetApplication(Application *app);
void SetFilter(CollectionFilterWidget *filter);
// QTreeView
@@ -111,7 +109,6 @@ class StreamingCollectionView : public AutoExpandingTreeView {
void SaveContainerPath(const QModelIndex &child);
private:
Application *app_;
SharedPtr<CollectionBackend> collection_backend_;
CollectionModel *collection_model_;
CollectionFilterWidget *filter_;

View File

@@ -27,7 +27,6 @@
#include <QString>
#include "streamingcollectionview.h"
#include "ui_streamingcollectionviewcontainer.h"
class QStackedWidget;
class QPushButton;
@@ -36,6 +35,8 @@ class QProgressBar;
class QContextMenuEvent;
class CollectionFilterWidget;
#include "ui_streamingcollectionviewcontainer.h"
class StreamingCollectionViewContainer : public QWidget {
Q_OBJECT

View File

@@ -30,8 +30,8 @@
#include <QString>
#include <QSize>
#include "core/mimedata.h"
#include "core/iconloader.h"
#include "core/mimedata.h"
#include "streamsongmimedata.h"
#include "streamingservice.h"
#include "streamingsearchmodel.h"

View File

@@ -36,7 +36,7 @@
#include <QIcon>
#include <QPixmap>
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "core/song.h"
#include "collection/collectionmodel.h"
#include "streamingsearchview.h"

View File

@@ -64,11 +64,10 @@
#include <QShowEvent>
#include <QHideEvent>
#include "core/application.h"
#include "core/mimedata.h"
#include "core/iconloader.h"
#include "core/song.h"
#include "core/iconloader.h"
#include "core/settings.h"
#include "core/mimedata.h"
#include "collection/collectionfilterwidget.h"
#include "collection/collectionmodel.h"
#include "collection/groupbydialog.h"
@@ -82,7 +81,7 @@
#include "streamingsearchsortmodel.h"
#include "streamingsearchview.h"
#include "ui_streamingsearchview.h"
#include "settings/appearancesettingspage.h"
#include "constants/appearancesettings.h"
using std::make_unique;
using namespace Qt::Literals::StringLiterals;
@@ -95,7 +94,6 @@ constexpr int kArtHeight = 32;
StreamingSearchView::StreamingSearchView(QWidget *parent)
: QWidget(parent),
app_(nullptr),
service_(nullptr),
ui_(new Ui_StreamingSearchView),
context_menu_(nullptr),
@@ -149,10 +147,10 @@ StreamingSearchView::StreamingSearchView(QWidget *parent)
StreamingSearchView::~StreamingSearchView() { delete ui_; }
void StreamingSearchView::Init(Application *app, StreamingServicePtr service) {
void StreamingSearchView::Init(const StreamingServicePtr service, const SharedPtr<AlbumCoverLoader> albumcover_loader) {
app_ = app;
service_ = service;
albumcover_loader_ = albumcover_loader;
front_model_ = new StreamingSearchModel(service, this);
back_model_ = new StreamingSearchModel(service, this);
@@ -180,7 +178,7 @@ void StreamingSearchView::Init(Application *app, StreamingServicePtr service) {
QMenu *settings_menu = new QMenu(this);
settings_menu->addActions(group_by_actions_->actions());
settings_menu->addSeparator();
settings_menu->addAction(IconLoader::Load(u"configure"_s), tr("Configure %1...").arg(Song::DescriptionForSource(service_->source())), this, &StreamingSearchView::OpenSettingsDialog);
settings_menu->addAction(IconLoader::Load(u"configure"_s), tr("Configure %1...").arg(Song::DescriptionForSource(service_->source())), this, &StreamingSearchView::Configure);
ui_->settings->setMenu(settings_menu);
swap_models_timer_->setSingleShot(true);
@@ -202,8 +200,7 @@ void StreamingSearchView::Init(Application *app, StreamingServicePtr service) {
QObject::connect(&*service_, &StreamingService::SearchUpdateProgress, this, &StreamingSearchView::UpdateProgress);
QObject::connect(&*service_, &StreamingService::SearchResults, this, &StreamingSearchView::SearchDone);
QObject::connect(app_, &Application::SettingsChanged, this, &StreamingSearchView::ReloadSettings);
QObject::connect(&*app_->album_cover_loader(), &AlbumCoverLoader::AlbumCoverLoaded, this, &StreamingSearchView::AlbumCoverLoaded);
QObject::connect(&*albumcover_loader_, &AlbumCoverLoader::AlbumCoverLoaded, this, &StreamingSearchView::AlbumCoverLoaded);
QObject::connect(ui_->settings, &QToolButton::clicked, ui_->settings, &QToolButton::showMenu);
@@ -249,8 +246,8 @@ void StreamingSearchView::ReloadSettings() {
}
s.endGroup();
s.beginGroup(AppearanceSettingsPage::kSettingsGroup);
int iconsize = s.value(AppearanceSettingsPage::kIconSizeConfigureButtons, 20).toInt();
s.beginGroup(AppearanceSettings::kSettingsGroup);
int iconsize = s.value(AppearanceSettings::kIconSizeConfigureButtons, 20).toInt();
s.endGroup();
ui_->settings->setIconSize(QSize(iconsize, iconsize));
@@ -346,7 +343,7 @@ bool StreamingSearchView::ResultsContextMenuEvent(QContextMenuEvent *e) {
context_menu_->addSeparator();
context_menu_->addMenu(tr("Group by"))->addActions(group_by_actions_->actions());
context_menu_->addAction(IconLoader::Load(u"configure"_s), tr("Configure %1...").arg(Song::TextForSource(service_->source())), this, &StreamingSearchView::OpenSettingsDialog);
context_menu_->addAction(IconLoader::Load(u"configure"_s), tr("Configure %1...").arg(Song::TextForSource(service_->source())), this, &StreamingSearchView::Configure);
}
@@ -677,8 +674,8 @@ void StreamingSearchView::FocusOnFilter(QKeyEvent *e) {
}
void StreamingSearchView::OpenSettingsDialog() {
app_->OpenSettingsDialogAtPage(service_->settings_page());
void StreamingSearchView::Configure() {
Q_EMIT OpenSettingsDialog(service_->source());
}
void StreamingSearchView::GroupByClicked(QAction *action) {
@@ -857,7 +854,7 @@ void StreamingSearchView::LazyLoadAlbumCover(const QModelIndex &proxy_index) {
else {
AlbumCoverLoaderOptions cover_loader_options(AlbumCoverLoaderOptions::Option::ScaledImage | AlbumCoverLoaderOptions::Option::PadScaledImage);
cover_loader_options.desired_scaled_size = QSize(kArtHeight, kArtHeight);
quint64 loader_id = app_->album_cover_loader()->LoadImageAsync(cover_loader_options, result.metadata_);
quint64 loader_id = albumcover_loader_->LoadImageAsync(cover_loader_options, result.metadata_);
cover_loader_tasks_[loader_id] = qMakePair(source_index, result.pixmap_cache_key_);
}

View File

@@ -38,8 +38,8 @@
#include <QPixmap>
#include <QMetaType>
#include "core/scoped_ptr.h"
#include "core/shared_ptr.h"
#include "includes/scoped_ptr.h"
#include "includes/shared_ptr.h"
#include "core/song.h"
#include "collection/collectionmodel.h"
#include "covermanager/albumcoverloaderresult.h"
@@ -56,8 +56,8 @@ class QShowEvent;
class QContextMenuEvent;
class QTimerEvent;
class Application;
class MimeData;
class AlbumCoverLoader;
class GroupByDialog;
class StreamingService;
class StreamingSearchModel;
@@ -81,7 +81,7 @@ class StreamingSearchView : public QWidget {
};
using ResultList = QList<Result>;
void Init(Application *app, SharedPtr<StreamingService> service);
void Init(const SharedPtr<StreamingService> service, const SharedPtr<AlbumCoverLoader> albumcover_loader);
bool SearchFieldHasFocus() const;
void FocusSearchField();
@@ -141,6 +141,7 @@ class StreamingSearchView : public QWidget {
void AddArtistsSignal(const SongList &songs);
void AddAlbumsSignal(const SongList &songs);
void AddSongsSignal(const SongList &songs);
void OpenSettingsDialog(const Song::Source source);
private Q_SLOTS:
void SwapModels();
@@ -163,7 +164,7 @@ class StreamingSearchView : public QWidget {
void AddAlbums();
void AddSongs();
void SearchForThis();
void OpenSettingsDialog();
void Configure();
void SearchArtistsClicked(const bool checked);
void SearchAlbumsClicked(const bool checked);
@@ -177,8 +178,9 @@ class StreamingSearchView : public QWidget {
void ReloadSettings();
private:
Application *app_;
SharedPtr<StreamingService> service_;
SharedPtr<AlbumCoverLoader> albumcover_loader_;
Ui_StreamingSearchView *ui_;
ScopedPtr<GroupByDialog> group_by_dialog_;

View File

@@ -22,15 +22,10 @@
#include "streamingservice.h"
#include "core/song.h"
#include "settings/settingsdialog.h"
class Application;
StreamingService::StreamingService(const Song::Source source, const QString &name, const QString &url_scheme, const QString &settings_group, const SettingsDialog::Page settings_page, Application *app, QObject *parent)
StreamingService::StreamingService(const Song::Source source, const QString &name, const QString &url_scheme, const QString &settings_group, QObject *parent)
: QObject(parent),
app_(app),
source_(source),
name_(name),
url_scheme_(url_scheme),
settings_group_(settings_group),
settings_page_(settings_page) {}
settings_group_(settings_group) {}

View File

@@ -28,12 +28,10 @@
#include <QUrl>
#include <QIcon>
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "core/song.h"
#include "settings/settingsdialog.h"
#include "streamingsearchview.h"
class Application;
class CollectionBackend;
class CollectionModel;
class CollectionFilter;
@@ -42,7 +40,7 @@ class StreamingService : public QObject {
Q_OBJECT
public:
explicit StreamingService(const Song::Source source, const QString &name, const QString &url_scheme, const QString &settings_group, const SettingsDialog::Page settings_page, Application *app, QObject *parent = nullptr);
explicit StreamingService(const Song::Source source, const QString &name, const QString &url_scheme, const QString &settings_group, QObject *parent = nullptr);
~StreamingService() override {}
virtual void Exit() {}
@@ -51,7 +49,6 @@ class StreamingService : public QObject {
virtual QString name() const { return name_; }
virtual QString url_scheme() const { return url_scheme_; }
virtual QString settings_group() const { return settings_group_; }
virtual SettingsDialog::Page settings_page() const { return settings_page_; }
virtual bool has_initial_load_settings() const { return false; }
virtual void InitialLoadSettings() {}
virtual void ReloadSettings() {}
@@ -74,7 +71,7 @@ class StreamingService : public QObject {
virtual CollectionFilter *songs_collection_filter_model() { return nullptr; }
public Q_SLOTS:
virtual void ShowConfig() {}
virtual void Configure() {}
virtual void GetArtists() {}
virtual void GetAlbums() {}
virtual void GetSongs() {}
@@ -133,15 +130,13 @@ class StreamingService : public QObject {
void StreamURLFailure(const uint id, const QUrl &media_url, const QString &error);
void StreamURLSuccess(const uint id, const QUrl &media_url, const QUrl &stream_url, const Song::FileType filetype, const int samplerate, const int bit_depth, const qint64 duration);
protected:
Application *app_;
void OpenSettingsDialog(const Song::Source source);
private:
Song::Source source_;
QString name_;
QString url_scheme_;
QString settings_group_;
SettingsDialog::Page settings_page_;
};
using StreamingServicePtr = SharedPtr<StreamingService>;

View File

@@ -31,7 +31,7 @@
#include <QMap>
#include <QString>
#include <core/shared_ptr.h>
#include "includes/shared_ptr.h"
#include "core/song.h"
class StreamingService;

View File

@@ -30,7 +30,6 @@
#include <QPushButton>
#include <QAction>
#include "core/application.h"
#include "core/iconloader.h"
#include "collection/collectionbackend.h"
#include "collection/collectionmodel.h"
@@ -42,25 +41,23 @@
using namespace Qt::Literals::StringLiterals;
StreamingSongsView::StreamingSongsView(Application *app, StreamingServicePtr service, const QString &settings_group, const SettingsDialog::Page settings_page, QWidget *parent)
StreamingSongsView::StreamingSongsView(const StreamingServicePtr service, const QString &settings_group, QWidget *parent)
: QWidget(parent),
app_(app),
service_(service),
settings_group_(settings_group),
settings_page_(settings_page),
ui_(new Ui_StreamingCollectionViewContainer) {
ui_->setupUi(this);
ui_->stacked->setCurrentWidget(ui_->streamingcollection_page);
ui_->view->Init(app_, service_->songs_collection_backend(), service_->songs_collection_model(), false);
ui_->view->Init(service_->songs_collection_backend(), service_->songs_collection_model(), false);
ui_->view->setModel(service_->songs_collection_filter_model());
ui_->view->SetFilter(ui_->filter_widget);
ui_->filter_widget->SetSettingsGroup(settings_group);
ui_->filter_widget->Init(service_->songs_collection_model(), service_->songs_collection_filter_model());
QAction *action_configure = new QAction(IconLoader::Load(u"configure"_s), tr("Configure %1...").arg(Song::DescriptionForSource(service_->source())), this);
QObject::connect(action_configure, &QAction::triggered, this, &StreamingSongsView::OpenSettingsDialog);
QObject::connect(action_configure, &QAction::triggered, this, &StreamingSongsView::Configure);
ui_->filter_widget->AddMenuAction(action_configure);
QObject::connect(ui_->view, &StreamingCollectionView::GetSongs, this, &StreamingSongsView::GetSongs);
@@ -93,15 +90,14 @@ void StreamingSongsView::ReloadSettings() {
}
void StreamingSongsView::OpenSettingsDialog() {
app_->OpenSettingsDialogAtPage(service_->settings_page());
void StreamingSongsView::Configure() {
Q_EMIT OpenSettingsDialog(service_->source());
}
void StreamingSongsView::GetSongs() {
if (!service_->authenticated() && service_->oauth()) {
service_->ShowConfig();
Configure();
return;
}

View File

@@ -27,22 +27,21 @@
#include <QMap>
#include <QString>
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "core/song.h"
#include "settings/settingsdialog.h"
#include "ui_streamingcollectionviewcontainer.h"
class QContextMenuEvent;
class Application;
class StreamingService;
class StreamingCollectionView;
#include "ui_streamingcollectionviewcontainer.h"
class StreamingSongsView : public QWidget {
Q_OBJECT
public:
explicit StreamingSongsView(Application *app, SharedPtr<StreamingService> service, const QString &settings_group, const SettingsDialog::Page settings_page, QWidget *parent = nullptr);
explicit StreamingSongsView(const SharedPtr<StreamingService> service, const QString &settings_group, QWidget *parent = nullptr);
~StreamingSongsView() override;
void ReloadSettings();
@@ -53,16 +52,17 @@ class StreamingSongsView : public QWidget {
void FocusSearchField() { ui_->filter_widget->FocusSearchField(); }
private Q_SLOTS:
void OpenSettingsDialog();
void Configure();
void GetSongs();
void AbortGetSongs();
void SongsFinished(const SongMap &songs, const QString &error);
Q_SIGNALS:
void OpenSettingsDialog(const Song::Source source);
private:
Application *app_;
SharedPtr<StreamingService> service_;
const SharedPtr<StreamingService> service_;
QString settings_group_;
SettingsDialog::Page settings_page_;
Ui_StreamingCollectionViewContainer *ui_;
};

View File

@@ -33,7 +33,6 @@
#include <QAction>
#include <QSettings>
#include "core/application.h"
#include "core/iconloader.h"
#include "core/settings.h"
#include "collection/collectionbackend.h"
@@ -48,27 +47,25 @@
using namespace Qt::Literals::StringLiterals;
StreamingTabsView::StreamingTabsView(Application *app, StreamingServicePtr service, const QString &settings_group, const SettingsDialog::Page settings_page, QWidget *parent)
StreamingTabsView::StreamingTabsView(const StreamingServicePtr service, const SharedPtr<AlbumCoverLoader> albumcover_loader, const QString &settings_group, QWidget *parent)
: QWidget(parent),
app_(app),
service_(service),
settings_group_(settings_group),
settings_page_(settings_page),
ui_(new Ui_StreamingTabsView) {
ui_->setupUi(this);
ui_->search_view->Init(app, service);
ui_->search_view->Init(service, albumcover_loader);
QObject::connect(ui_->search_view, &StreamingSearchView::AddArtistsSignal, &*service_, &StreamingService::AddArtists);
QObject::connect(ui_->search_view, &StreamingSearchView::AddAlbumsSignal, &*service_, &StreamingService::AddAlbums);
QObject::connect(ui_->search_view, &StreamingSearchView::AddSongsSignal, &*service_, &StreamingService::AddSongs);
QAction *action_configure = new QAction(IconLoader::Load(u"configure"_s), tr("Configure %1...").arg(Song::TextForSource(service_->source())), this);
QObject::connect(action_configure, &QAction::triggered, this, &StreamingTabsView::OpenSettingsDialog);
QObject::connect(action_configure, &QAction::triggered, this, &StreamingTabsView::Configure);
if (service_->artists_collection_model()) {
ui_->artists_collection->stacked()->setCurrentWidget(ui_->artists_collection->streamingcollection_page());
ui_->artists_collection->view()->Init(app_, service_->artists_collection_backend(), service_->artists_collection_model(), true);
ui_->artists_collection->view()->Init(service_->artists_collection_backend(), service_->artists_collection_model(), true);
ui_->artists_collection->view()->setModel(service_->artists_collection_filter_model());
ui_->artists_collection->view()->SetFilter(ui_->artists_collection->filter_widget());
ui_->artists_collection->filter_widget()->SetSettingsGroup(settings_group);
@@ -100,7 +97,7 @@ StreamingTabsView::StreamingTabsView(Application *app, StreamingServicePtr servi
if (service_->albums_collection_model()) {
ui_->albums_collection->stacked()->setCurrentWidget(ui_->albums_collection->streamingcollection_page());
ui_->albums_collection->view()->Init(app_, service_->albums_collection_backend(), service_->albums_collection_model(), true);
ui_->albums_collection->view()->Init(service_->albums_collection_backend(), service_->albums_collection_model(), true);
ui_->albums_collection->view()->setModel(service_->albums_collection_filter_model());
ui_->albums_collection->view()->SetFilter(ui_->albums_collection->filter_widget());
ui_->albums_collection->filter_widget()->SetSettingsGroup(settings_group);
@@ -132,7 +129,7 @@ StreamingTabsView::StreamingTabsView(Application *app, StreamingServicePtr servi
if (service_->songs_collection_model()) {
ui_->songs_collection->stacked()->setCurrentWidget(ui_->songs_collection->streamingcollection_page());
ui_->songs_collection->view()->Init(app_, service_->songs_collection_backend(), service_->songs_collection_model(), true);
ui_->songs_collection->view()->Init(service_->songs_collection_backend(), service_->songs_collection_model(), true);
ui_->songs_collection->view()->setModel(service_->songs_collection_filter_model());
ui_->songs_collection->view()->SetFilter(ui_->songs_collection->filter_widget());
ui_->songs_collection->filter_widget()->SetSettingsGroup(settings_group);
@@ -238,7 +235,7 @@ void StreamingTabsView::FocusSearchField() {
void StreamingTabsView::GetArtists() {
if (!service_->authenticated() && service_->oauth()) {
service_->ShowConfig();
Configure();
return;
}
@@ -280,7 +277,7 @@ void StreamingTabsView::ArtistsFinished(const SongMap &songs, const QString &err
void StreamingTabsView::GetAlbums() {
if (!service_->authenticated() && service_->oauth()) {
service_->ShowConfig();
Configure();
return;
}
@@ -322,7 +319,7 @@ void StreamingTabsView::AlbumsFinished(const SongMap &songs, const QString &erro
void StreamingTabsView::GetSongs() {
if (!service_->authenticated() && service_->oauth()) {
service_->ShowConfig();
Configure();
return;
}
@@ -361,6 +358,6 @@ void StreamingTabsView::SongsFinished(const SongMap &songs, const QString &error
}
void StreamingTabsView::OpenSettingsDialog() {
app_->OpenSettingsDialogAtPage(service_->settings_page());
void StreamingTabsView::Configure() {
Q_EMIT OpenSettingsDialog(service_->source());
}

View File

@@ -27,24 +27,24 @@
#include <QMap>
#include <QString>
#include "core/shared_ptr.h"
#include "settings/settingsdialog.h"
#include "includes/shared_ptr.h"
#include "streamingcollectionviewcontainer.h"
#include "ui_streamingtabsview.h"
#include "core/song.h"
#include "ui_streamingtabsview.h"
class QContextMenuEvent;
class Application;
class StreamingService;
class StreamingCollectionView;
class StreamingSearchView;
class AlbumCoverLoader;
class StreamingTabsView : public QWidget {
Q_OBJECT
public:
explicit StreamingTabsView(Application *app, SharedPtr<StreamingService> service, const QString &settings_group, const SettingsDialog::Page settings_page, QWidget *parent = nullptr);
explicit StreamingTabsView(const SharedPtr<StreamingService> service, const SharedPtr<AlbumCoverLoader> albumcover_loader, const QString &settings_group, QWidget *parent = nullptr);
~StreamingTabsView() override;
void ReloadSettings();
@@ -58,7 +58,7 @@ class StreamingTabsView : public QWidget {
void FocusSearchField();
private Q_SLOTS:
void OpenSettingsDialog();
void Configure();
void GetArtists();
void GetAlbums();
void GetSongs();
@@ -69,11 +69,12 @@ class StreamingTabsView : public QWidget {
void AlbumsFinished(const SongMap &songs, const QString &error);
void SongsFinished(const SongMap &songs, const QString &error);
Q_SIGNALS:
void OpenSettingsDialog(const Song::Source source);
private:
Application *app_;
SharedPtr <StreamingService> service_;
const SharedPtr <StreamingService> service_;
QString settings_group_;
SettingsDialog::Page settings_page_;
Ui_StreamingTabsView *ui_;
};

View File

@@ -27,7 +27,7 @@
#include <QVariant>
#include <QUrl>
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "core/song.h"
#include "core/sqlrow.h"
#include "playlist/playlistitem.h"

View File

@@ -19,7 +19,7 @@
*
*/
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "streamsongmimedata.h"
StreamSongMimeData::StreamSongMimeData(SharedPtr<StreamingService> _service, QObject *parent) : service(_service) {

View File

@@ -22,7 +22,7 @@
#ifndef STREAMSONGMIMEDATA_H
#define STREAMSONGMIMEDATA_H
#include "core/shared_ptr.h"
#include "includes/shared_ptr.h"
#include "core/mimedata.h"
#include "core/song.h"