internet/core: Move context_menu_ to base class
Every internet service class has a context_menu_ member. Moving this to the base class will allow the consolidation of common menu functionality.
This commit is contained in:
parent
8b2f7f08ae
commit
5ebd6d1e6b
|
@ -88,7 +88,6 @@ class CloudFileService : public InternetService {
|
||||||
LibraryModel* library_model_;
|
LibraryModel* library_model_;
|
||||||
QSortFilterProxyModel* library_sort_model_;
|
QSortFilterProxyModel* library_sort_model_;
|
||||||
|
|
||||||
std::unique_ptr<QMenu> context_menu_;
|
|
||||||
std::unique_ptr<AlbumCoverManager> cover_manager_;
|
std::unique_ptr<AlbumCoverManager> cover_manager_;
|
||||||
PlaylistManager* playlist_manager_;
|
PlaylistManager* playlist_manager_;
|
||||||
TaskManager* task_manager_;
|
TaskManager* task_manager_;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
|
#include <QMenu>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
|
@ -138,6 +139,7 @@ class InternetService : public QObject {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Application* app_;
|
Application* app_;
|
||||||
|
std::unique_ptr<QMenu> context_menu_;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
InternetModel* model_;
|
InternetModel* model_;
|
||||||
|
|
|
@ -101,7 +101,6 @@ class DigitallyImportedServiceBase : public InternetService {
|
||||||
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
|
|
||||||
std::unique_ptr<QMenu> context_menu_;
|
|
||||||
QStandardItem* context_item_;
|
QStandardItem* context_item_;
|
||||||
|
|
||||||
CachedList<DigitallyImportedClient::Channel> saved_channels_;
|
CachedList<DigitallyImportedClient::Channel> saved_channels_;
|
||||||
|
|
|
@ -55,7 +55,6 @@ const char* IcecastService::kHomepage = "http://dir.xiph.org/";
|
||||||
IcecastService::IcecastService(Application* app, InternetModel* parent)
|
IcecastService::IcecastService(Application* app, InternetModel* parent)
|
||||||
: InternetService(kServiceName, app, parent, parent),
|
: InternetService(kServiceName, app, parent, parent),
|
||||||
network_(new NetworkAccessManager(this)),
|
network_(new NetworkAccessManager(this)),
|
||||||
context_menu_(nullptr),
|
|
||||||
backend_(new IcecastBackend),
|
backend_(new IcecastBackend),
|
||||||
model_(nullptr),
|
model_(nullptr),
|
||||||
filter_(new IcecastFilterWidget(0)) {
|
filter_(new IcecastFilterWidget(0)) {
|
||||||
|
@ -298,7 +297,7 @@ void IcecastService::ShowContextMenu(const QPoint& global_pos) {
|
||||||
void IcecastService::EnsureMenuCreated() {
|
void IcecastService::EnsureMenuCreated() {
|
||||||
if (context_menu_) return;
|
if (context_menu_) return;
|
||||||
|
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
|
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
context_menu_->addAction(IconLoader::Load("download", IconLoader::Base),
|
context_menu_->addAction(IconLoader::Load("download", IconLoader::Base),
|
||||||
|
|
|
@ -73,7 +73,6 @@ class IcecastService : public InternetService {
|
||||||
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
NetworkAccessManager* network_;
|
NetworkAccessManager* network_;
|
||||||
QMenu* context_menu_;
|
|
||||||
|
|
||||||
std::shared_ptr<IcecastBackend> backend_;
|
std::shared_ptr<IcecastBackend> backend_;
|
||||||
IcecastModel* model_;
|
IcecastModel* model_;
|
||||||
|
|
|
@ -58,7 +58,6 @@ IntergalacticFMServiceBase::IntergalacticFMServiceBase(
|
||||||
url_scheme_(name.toLower().remove(' ')),
|
url_scheme_(name.toLower().remove(' ')),
|
||||||
url_handler_(new IntergalacticFMUrlHandler(app, this, this)),
|
url_handler_(new IntergalacticFMUrlHandler(app, this, this)),
|
||||||
root_(nullptr),
|
root_(nullptr),
|
||||||
context_menu_(nullptr),
|
|
||||||
network_(new NetworkAccessManager(this)),
|
network_(new NetworkAccessManager(this)),
|
||||||
streams_(name, "streams", kStreamsCacheDurationSecs),
|
streams_(name, "streams", kStreamsCacheDurationSecs),
|
||||||
name_(name),
|
name_(name),
|
||||||
|
@ -73,9 +72,7 @@ IntergalacticFMServiceBase::IntergalacticFMServiceBase(
|
||||||
new IntergalacticFMSearchProvider(this, app_, this));
|
new IntergalacticFMSearchProvider(this, app_, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
IntergalacticFMServiceBase::~IntergalacticFMServiceBase() {
|
IntergalacticFMServiceBase::~IntergalacticFMServiceBase() {}
|
||||||
delete context_menu_;
|
|
||||||
}
|
|
||||||
|
|
||||||
QStandardItem* IntergalacticFMServiceBase::CreateRootItem() {
|
QStandardItem* IntergalacticFMServiceBase::CreateRootItem() {
|
||||||
root_ = new QStandardItem(icon_, name_);
|
root_ = new QStandardItem(icon_, name_);
|
||||||
|
@ -96,7 +93,7 @@ void IntergalacticFMServiceBase::LazyPopulate(QStandardItem* item) {
|
||||||
|
|
||||||
void IntergalacticFMServiceBase::ShowContextMenu(const QPoint& global_pos) {
|
void IntergalacticFMServiceBase::ShowContextMenu(const QPoint& global_pos) {
|
||||||
if (!context_menu_) {
|
if (!context_menu_) {
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
context_menu_->addAction(IconLoader::Load("download", IconLoader::Base),
|
context_menu_->addAction(IconLoader::Load("download", IconLoader::Base),
|
||||||
tr("Open %1 in browser").arg(homepage_url_.host()),
|
tr("Open %1 in browser").arg(homepage_url_.host()),
|
||||||
|
|
|
@ -91,7 +91,6 @@ class IntergalacticFMServiceBase : public InternetService {
|
||||||
IntergalacticFMUrlHandler* url_handler_;
|
IntergalacticFMUrlHandler* url_handler_;
|
||||||
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
QMenu* context_menu_;
|
|
||||||
|
|
||||||
QNetworkAccessManager* network_;
|
QNetworkAccessManager* network_;
|
||||||
|
|
||||||
|
|
|
@ -37,16 +37,14 @@ const char* SavedRadio::kServiceName = "SavedRadio";
|
||||||
const char* SavedRadio::kSettingsGroup = "SavedRadio";
|
const char* SavedRadio::kSettingsGroup = "SavedRadio";
|
||||||
|
|
||||||
SavedRadio::SavedRadio(Application* app, InternetModel* parent)
|
SavedRadio::SavedRadio(Application* app, InternetModel* parent)
|
||||||
: InternetService(kServiceName, app, parent, parent),
|
: InternetService(kServiceName, app, parent, parent), root_(nullptr) {
|
||||||
context_menu_(nullptr),
|
|
||||||
root_(nullptr) {
|
|
||||||
LoadStreams();
|
LoadStreams();
|
||||||
|
|
||||||
app_->global_search()->AddProvider(
|
app_->global_search()->AddProvider(
|
||||||
new SavedRadioSearchProvider(this, app_, this));
|
new SavedRadioSearchProvider(this, app_, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
SavedRadio::~SavedRadio() { delete context_menu_; }
|
SavedRadio::~SavedRadio() {}
|
||||||
|
|
||||||
QStandardItem* SavedRadio::CreateRootItem() {
|
QStandardItem* SavedRadio::CreateRootItem() {
|
||||||
root_ = new QStandardItem(
|
root_ = new QStandardItem(
|
||||||
|
@ -104,7 +102,7 @@ void SavedRadio::SaveStreams() {
|
||||||
|
|
||||||
void SavedRadio::ShowContextMenu(const QPoint& global_pos) {
|
void SavedRadio::ShowContextMenu(const QPoint& global_pos) {
|
||||||
if (!context_menu_) {
|
if (!context_menu_) {
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
remove_action_ = context_menu_->addAction(
|
remove_action_ = context_menu_->addAction(
|
||||||
IconLoader::Load("list-remove", IconLoader::Base), tr("Remove"), this,
|
IconLoader::Load("list-remove", IconLoader::Base), tr("Remove"), this,
|
||||||
|
|
|
@ -81,7 +81,6 @@ class SavedRadio : public InternetService {
|
||||||
void AddStreamToList(const Stream& stream, QStandardItem* parent);
|
void AddStreamToList(const Stream& stream, QStandardItem* parent);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QMenu* context_menu_;
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
|
|
||||||
QAction* remove_action_;
|
QAction* remove_action_;
|
||||||
|
|
|
@ -81,7 +81,6 @@ const int JamendoService::kApproxDatabaseSize = 450000;
|
||||||
JamendoService::JamendoService(Application* app, InternetModel* parent)
|
JamendoService::JamendoService(Application* app, InternetModel* parent)
|
||||||
: InternetService(kServiceName, app, parent, parent),
|
: InternetService(kServiceName, app, parent, parent),
|
||||||
network_(new NetworkAccessManager(this)),
|
network_(new NetworkAccessManager(this)),
|
||||||
context_menu_(nullptr),
|
|
||||||
library_backend_(nullptr),
|
library_backend_(nullptr),
|
||||||
library_filter_(nullptr),
|
library_filter_(nullptr),
|
||||||
library_model_(nullptr),
|
library_model_(nullptr),
|
||||||
|
@ -176,7 +175,7 @@ void JamendoService::UpdateTotalSongCount(int count) {
|
||||||
void JamendoService::DownloadDirectory() {
|
void JamendoService::DownloadDirectory() {
|
||||||
// don't ask if we're refreshing the database
|
// don't ask if we're refreshing the database
|
||||||
if (total_song_count_ == 0) {
|
if (total_song_count_ == 0) {
|
||||||
if (QMessageBox::question(context_menu_, tr("Jamendo database"),
|
if (QMessageBox::question(nullptr, tr("Jamendo database"),
|
||||||
tr("This action will create a database which "
|
tr("This action will create a database which "
|
||||||
"could be as big as 150 MB.\n"
|
"could be as big as 150 MB.\n"
|
||||||
"Do you want to continue anyway?"),
|
"Do you want to continue anyway?"),
|
||||||
|
@ -414,7 +413,7 @@ void JamendoService::ParseDirectoryFinished() {
|
||||||
void JamendoService::EnsureMenuCreated() {
|
void JamendoService::EnsureMenuCreated() {
|
||||||
if (library_filter_) return;
|
if (library_filter_) return;
|
||||||
|
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
album_info_ = context_menu_->addAction(
|
album_info_ = context_menu_->addAction(
|
||||||
IconLoader::Load("view-media-lyrics", IconLoader::Base),
|
IconLoader::Load("view-media-lyrics", IconLoader::Base),
|
||||||
|
|
|
@ -104,8 +104,6 @@ class JamendoService : public InternetService {
|
||||||
private:
|
private:
|
||||||
NetworkAccessManager* network_;
|
NetworkAccessManager* network_;
|
||||||
|
|
||||||
QMenu* context_menu_;
|
|
||||||
|
|
||||||
QAction* album_info_;
|
QAction* album_info_;
|
||||||
QAction* download_album_;
|
QAction* download_album_;
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,6 @@ const char* MagnatuneService::kDownloadUrl =
|
||||||
MagnatuneService::MagnatuneService(Application* app, InternetModel* parent)
|
MagnatuneService::MagnatuneService(Application* app, InternetModel* parent)
|
||||||
: InternetService(kServiceName, app, parent, parent),
|
: InternetService(kServiceName, app, parent, parent),
|
||||||
url_handler_(new MagnatuneUrlHandler(this, this)),
|
url_handler_(new MagnatuneUrlHandler(this, this)),
|
||||||
context_menu_(nullptr),
|
|
||||||
root_(nullptr),
|
root_(nullptr),
|
||||||
library_backend_(nullptr),
|
library_backend_(nullptr),
|
||||||
library_model_(nullptr),
|
library_model_(nullptr),
|
||||||
|
@ -107,7 +106,7 @@ MagnatuneService::MagnatuneService(Application* app, InternetModel* parent)
|
||||||
IconLoader::Load("magnatune", IconLoader::Provider), true, app_, this));
|
IconLoader::Load("magnatune", IconLoader::Provider), true, app_, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
MagnatuneService::~MagnatuneService() { delete context_menu_; }
|
MagnatuneService::~MagnatuneService() {}
|
||||||
|
|
||||||
void MagnatuneService::ReloadSettings() {
|
void MagnatuneService::ReloadSettings() {
|
||||||
QSettings s;
|
QSettings s;
|
||||||
|
@ -272,7 +271,7 @@ QString MagnatuneService::ReadElementText(QXmlStreamReader& reader) {
|
||||||
void MagnatuneService::EnsureMenuCreated() {
|
void MagnatuneService::EnsureMenuCreated() {
|
||||||
if (context_menu_) return;
|
if (context_menu_) return;
|
||||||
|
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
|
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
download_ = context_menu_->addAction(
|
download_ = context_menu_->addAction(
|
||||||
|
|
|
@ -109,7 +109,6 @@ class MagnatuneService : public InternetService {
|
||||||
private:
|
private:
|
||||||
MagnatuneUrlHandler* url_handler_;
|
MagnatuneUrlHandler* url_handler_;
|
||||||
|
|
||||||
QMenu* context_menu_;
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
|
|
||||||
QAction* download_;
|
QAction* download_;
|
||||||
|
|
|
@ -66,7 +66,6 @@ PodcastService::PodcastService(Application* app, InternetModel* parent)
|
||||||
backend_(app->podcast_backend()),
|
backend_(app->podcast_backend()),
|
||||||
model_(new PodcastServiceModel(this)),
|
model_(new PodcastServiceModel(this)),
|
||||||
proxy_(new PodcastSortProxyModel(this)),
|
proxy_(new PodcastSortProxyModel(this)),
|
||||||
context_menu_(nullptr),
|
|
||||||
root_(nullptr),
|
root_(nullptr),
|
||||||
organise_dialog_(new OrganiseDialog(app_->task_manager())) {
|
organise_dialog_(new OrganiseDialog(app_->task_manager())) {
|
||||||
icon_loader_->SetModel(model_);
|
icon_loader_->SetModel(model_);
|
||||||
|
@ -416,7 +415,7 @@ QStandardItem* PodcastService::CreatePodcastEpisodeItem(
|
||||||
|
|
||||||
void PodcastService::ShowContextMenu(const QPoint& global_pos) {
|
void PodcastService::ShowContextMenu(const QPoint& global_pos) {
|
||||||
if (!context_menu_) {
|
if (!context_menu_) {
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addAction(IconLoader::Load("list-add", IconLoader::Base),
|
context_menu_->addAction(IconLoader::Load("list-add", IconLoader::Base),
|
||||||
tr("Add podcast..."), this, SLOT(AddPodcast()));
|
tr("Add podcast..."), this, SLOT(AddPodcast()));
|
||||||
context_menu_->addAction(IconLoader::Load("view-refresh", IconLoader::Base),
|
context_menu_->addAction(IconLoader::Load("view-refresh", IconLoader::Base),
|
||||||
|
|
|
@ -146,7 +146,6 @@ class PodcastService : public InternetService {
|
||||||
QStandardItemModel* model_;
|
QStandardItemModel* model_;
|
||||||
QSortFilterProxyModel* proxy_;
|
QSortFilterProxyModel* proxy_;
|
||||||
|
|
||||||
QMenu* context_menu_;
|
|
||||||
QAction* update_selected_action_;
|
QAction* update_selected_action_;
|
||||||
QAction* remove_selected_action_;
|
QAction* remove_selected_action_;
|
||||||
QAction* download_selected_action_;
|
QAction* download_selected_action_;
|
||||||
|
|
|
@ -136,7 +136,6 @@ RadioBrowserService::RadioBrowserService(Application* app,
|
||||||
InternetModel* parent)
|
InternetModel* parent)
|
||||||
: InternetService(kServiceName, app, parent, parent),
|
: InternetService(kServiceName, app, parent, parent),
|
||||||
root_(nullptr),
|
root_(nullptr),
|
||||||
context_menu_(nullptr),
|
|
||||||
station_menu_(nullptr),
|
station_menu_(nullptr),
|
||||||
add_to_saved_radio_action_(nullptr),
|
add_to_saved_radio_action_(nullptr),
|
||||||
network_(new NetworkAccessManager(this)),
|
network_(new NetworkAccessManager(this)),
|
||||||
|
@ -437,4 +436,4 @@ void RadioBrowserService::AddToSavedRadio(bool checked) {
|
||||||
Song station = item->data(InternetModel::Role_SongMetadata).value<Song>();
|
Song station = item->data(InternetModel::Role_SongMetadata).value<Song>();
|
||||||
InternetModel::Service<SavedRadio>()->Add(station.url(), station.artist(),
|
InternetModel::Service<SavedRadio>()->Add(station.url(), station.artist(),
|
||||||
QUrl(station.art_automatic()));
|
QUrl(station.art_automatic()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,6 @@ class RadioBrowserService : public InternetService {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
std::unique_ptr<QMenu> context_menu_;
|
|
||||||
std::unique_ptr<QMenu> station_menu_;
|
std::unique_ptr<QMenu> station_menu_;
|
||||||
std::unique_ptr<QAction> add_to_saved_radio_action_;
|
std::unique_ptr<QAction> add_to_saved_radio_action_;
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,6 @@ SomaFMServiceBase::SomaFMServiceBase(Application* app, InternetModel* parent,
|
||||||
url_scheme_(name.toLower().remove(' ')),
|
url_scheme_(name.toLower().remove(' ')),
|
||||||
url_handler_(new SomaFMUrlHandler(app, this, this)),
|
url_handler_(new SomaFMUrlHandler(app, this, this)),
|
||||||
root_(nullptr),
|
root_(nullptr),
|
||||||
context_menu_(nullptr),
|
|
||||||
network_(new NetworkAccessManager(this)),
|
network_(new NetworkAccessManager(this)),
|
||||||
streams_(name, "streams", kStreamsCacheDurationSecs),
|
streams_(name, "streams", kStreamsCacheDurationSecs),
|
||||||
name_(name),
|
name_(name),
|
||||||
|
@ -75,7 +74,7 @@ SomaFMServiceBase::SomaFMServiceBase(Application* app, InternetModel* parent,
|
||||||
new SomaFMSearchProvider(this, app_, this));
|
new SomaFMSearchProvider(this, app_, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
SomaFMServiceBase::~SomaFMServiceBase() { delete context_menu_; }
|
SomaFMServiceBase::~SomaFMServiceBase() {}
|
||||||
|
|
||||||
QStandardItem* SomaFMServiceBase::CreateRootItem() {
|
QStandardItem* SomaFMServiceBase::CreateRootItem() {
|
||||||
root_ = new QStandardItem(icon_, name_);
|
root_ = new QStandardItem(icon_, name_);
|
||||||
|
@ -96,7 +95,7 @@ void SomaFMServiceBase::LazyPopulate(QStandardItem* item) {
|
||||||
|
|
||||||
void SomaFMServiceBase::ShowContextMenu(const QPoint& global_pos) {
|
void SomaFMServiceBase::ShowContextMenu(const QPoint& global_pos) {
|
||||||
if (!context_menu_) {
|
if (!context_menu_) {
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
context_menu_->addAction(IconLoader::Load("download", IconLoader::Base),
|
context_menu_->addAction(IconLoader::Load("download", IconLoader::Base),
|
||||||
tr("Open %1 in browser").arg(homepage_url_.host()),
|
tr("Open %1 in browser").arg(homepage_url_.host()),
|
||||||
|
|
|
@ -91,7 +91,6 @@ class SomaFMServiceBase : public InternetService {
|
||||||
SomaFMUrlHandler* url_handler_;
|
SomaFMUrlHandler* url_handler_;
|
||||||
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
QMenu* context_menu_;
|
|
||||||
|
|
||||||
QNetworkAccessManager* network_;
|
QNetworkAccessManager* network_;
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,6 @@ SpotifyService::SpotifyService(Application* app, InternetModel* parent)
|
||||||
inbox_(nullptr),
|
inbox_(nullptr),
|
||||||
toplist_(nullptr),
|
toplist_(nullptr),
|
||||||
login_task_id_(0),
|
login_task_id_(0),
|
||||||
context_menu_(nullptr),
|
|
||||||
playlist_context_menu_(nullptr),
|
playlist_context_menu_(nullptr),
|
||||||
song_context_menu_(nullptr),
|
song_context_menu_(nullptr),
|
||||||
playlist_sync_action_(nullptr),
|
playlist_sync_action_(nullptr),
|
||||||
|
@ -661,7 +660,7 @@ QWidget* SpotifyService::HeaderWidget() const {
|
||||||
void SpotifyService::EnsureMenuCreated() {
|
void SpotifyService::EnsureMenuCreated() {
|
||||||
if (context_menu_) return;
|
if (context_menu_) return;
|
||||||
|
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addAction(GetNewShowConfigAction());
|
context_menu_->addAction(GetNewShowConfigAction());
|
||||||
|
|
||||||
playlist_context_menu_ = new QMenu;
|
playlist_context_menu_ = new QMenu;
|
||||||
|
|
|
@ -168,7 +168,6 @@ class SpotifyService : public InternetService {
|
||||||
int login_task_id_;
|
int login_task_id_;
|
||||||
QString pending_search_;
|
QString pending_search_;
|
||||||
|
|
||||||
QMenu* context_menu_;
|
|
||||||
QMenu* playlist_context_menu_;
|
QMenu* playlist_context_menu_;
|
||||||
QMenu* song_context_menu_;
|
QMenu* song_context_menu_;
|
||||||
QAction* playlist_sync_action_;
|
QAction* playlist_sync_action_;
|
||||||
|
|
|
@ -67,7 +67,6 @@ SubsonicService::SubsonicService(Application* app, InternetModel* parent)
|
||||||
url_handler_(new SubsonicUrlHandler(this, this)),
|
url_handler_(new SubsonicUrlHandler(this, this)),
|
||||||
scanner_(new SubsonicLibraryScanner(this, this)),
|
scanner_(new SubsonicLibraryScanner(this, this)),
|
||||||
load_database_task_id_(0),
|
load_database_task_id_(0),
|
||||||
context_menu_(nullptr),
|
|
||||||
root_(nullptr),
|
root_(nullptr),
|
||||||
library_backend_(nullptr),
|
library_backend_(nullptr),
|
||||||
library_model_(nullptr),
|
library_model_(nullptr),
|
||||||
|
@ -137,7 +136,7 @@ SubsonicService::SubsonicService(Application* app, InternetModel* parent)
|
||||||
connect(this, SIGNAL(LoginStateChanged(SubsonicService::LoginState)),
|
connect(this, SIGNAL(LoginStateChanged(SubsonicService::LoginState)),
|
||||||
SLOT(OnLoginStateChanged(SubsonicService::LoginState)));
|
SLOT(OnLoginStateChanged(SubsonicService::LoginState)));
|
||||||
|
|
||||||
context_menu_ = new QMenu;
|
context_menu_.reset(new QMenu);
|
||||||
context_menu_->addActions(GetPlaylistActions());
|
context_menu_->addActions(GetPlaylistActions());
|
||||||
context_menu_->addSeparator();
|
context_menu_->addSeparator();
|
||||||
context_menu_->addAction(IconLoader::Load("view-refresh", IconLoader::Base),
|
context_menu_->addAction(IconLoader::Load("view-refresh", IconLoader::Base),
|
||||||
|
|
|
@ -143,7 +143,6 @@ class SubsonicService : public InternetService {
|
||||||
SubsonicLibraryScanner* scanner_;
|
SubsonicLibraryScanner* scanner_;
|
||||||
int load_database_task_id_;
|
int load_database_task_id_;
|
||||||
|
|
||||||
QMenu* context_menu_;
|
|
||||||
QStandardItem* root_;
|
QStandardItem* root_;
|
||||||
|
|
||||||
std::shared_ptr<LibraryBackend> library_backend_;
|
std::shared_ptr<LibraryBackend> library_backend_;
|
||||||
|
|
Loading…
Reference in New Issue