@@ -69,6 +69,7 @@
|
||||
#include "lyrics/chartlyricsprovider.h"
|
||||
|
||||
#include "scrobbler/audioscrobbler.h"
|
||||
#include "scrobbler/lastfmimport.h"
|
||||
|
||||
#include "internet/internetservices.h"
|
||||
|
||||
@@ -160,6 +161,7 @@ class ApplicationImpl {
|
||||
return internet_services;
|
||||
}),
|
||||
scrobbler_([=]() { return new AudioScrobbler(app, app); }),
|
||||
lastfm_import_([=]() { return new LastFMImport(app); }),
|
||||
|
||||
#ifdef HAVE_MOODBAR
|
||||
moodbar_loader_([=]() { return new MoodbarLoader(app, app); }),
|
||||
@@ -187,6 +189,7 @@ class ApplicationImpl {
|
||||
Lazy<LyricsProviders> lyrics_providers_;
|
||||
Lazy<InternetServices> internet_services_;
|
||||
Lazy<AudioScrobbler> scrobbler_;
|
||||
Lazy<LastFMImport> lastfm_import_;
|
||||
#ifdef HAVE_MOODBAR
|
||||
Lazy<MoodbarLoader> moodbar_loader_;
|
||||
Lazy<MoodbarController> moodbar_controller_;
|
||||
@@ -315,6 +318,7 @@ PlaylistBackend *Application::playlist_backend() const { return p_->playlist_bac
|
||||
PlaylistManager *Application::playlist_manager() const { return p_->playlist_manager_.get(); }
|
||||
InternetServices *Application::internet_services() const { return p_->internet_services_.get(); }
|
||||
AudioScrobbler *Application::scrobbler() const { return p_->scrobbler_.get(); }
|
||||
LastFMImport *Application::lastfm_import() const { return p_->lastfm_import_.get(); }
|
||||
#ifdef HAVE_MOODBAR
|
||||
MoodbarController *Application::moodbar_controller() const { return p_->moodbar_controller_.get(); }
|
||||
MoodbarLoader *Application::moodbar_loader() const { return p_->moodbar_loader_.get(); }
|
||||
|
||||
@@ -56,6 +56,7 @@ class CurrentAlbumCoverLoader;
|
||||
class CoverProviders;
|
||||
class LyricsProviders;
|
||||
class AudioScrobbler;
|
||||
class LastFMImport;
|
||||
class InternetServices;
|
||||
#ifdef HAVE_MOODBAR
|
||||
class MoodbarController;
|
||||
@@ -93,6 +94,7 @@ class Application : public QObject {
|
||||
LyricsProviders *lyrics_providers() const;
|
||||
|
||||
AudioScrobbler *scrobbler() const;
|
||||
LastFMImport *lastfm_import() const;
|
||||
|
||||
InternetServices *internet_services() const;
|
||||
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
#include "dialogs/edittagdialog.h"
|
||||
#include "dialogs/addstreamdialog.h"
|
||||
#include "dialogs/deleteconfirmationdialog.h"
|
||||
#include "dialogs/lastfmimportdialog.h"
|
||||
#include "organize/organizedialog.h"
|
||||
#include "widgets/fancytabwidget.h"
|
||||
#include "widgets/playingwidget.h"
|
||||
@@ -169,6 +170,7 @@
|
||||
#include "internet/internetsearchview.h"
|
||||
|
||||
#include "scrobbler/audioscrobbler.h"
|
||||
#include "scrobbler/lastfmimport.h"
|
||||
|
||||
#if defined(HAVE_GSTREAMER) && defined(HAVE_CHROMAPRINT)
|
||||
# include "musicbrainz/tagfetcher.h"
|
||||
@@ -257,6 +259,7 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
|
||||
#ifdef HAVE_TIDAL
|
||||
tidal_view_(new InternetTabsView(app_, app->internet_services()->ServiceBySource(Song::Source_Tidal), TidalSettingsPage::kSettingsGroup, SettingsDialog::Page_Tidal, this)),
|
||||
#endif
|
||||
lastfm_import_dialog_(new LastFMImportDialog(app_->lastfm_import(), this)),
|
||||
collection_show_all_(nullptr),
|
||||
collection_show_duplicates_(nullptr),
|
||||
collection_show_untagged_(nullptr),
|
||||
@@ -417,6 +420,7 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
|
||||
ui_->action_update_collection->setIcon(IconLoader::Load("view-refresh"));
|
||||
ui_->action_full_collection_scan->setIcon(IconLoader::Load("view-refresh"));
|
||||
ui_->action_settings->setIcon(IconLoader::Load("configure"));
|
||||
ui_->action_import_data_from_last_fm->setIcon(IconLoader::Load("scrobble"));
|
||||
|
||||
// Scrobble
|
||||
|
||||
@@ -457,6 +461,7 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
|
||||
connect(ui_->action_auto_complete_tags, SIGNAL(triggered()), SLOT(AutoCompleteTags()));
|
||||
#endif
|
||||
connect(ui_->action_settings, SIGNAL(triggered()), SLOT(OpenSettingsDialog()));
|
||||
connect(ui_->action_import_data_from_last_fm, SIGNAL(triggered()), lastfm_import_dialog_, SLOT(show()));
|
||||
connect(ui_->action_toggle_show_sidebar, SIGNAL(toggled(bool)), SLOT(ToggleSidebar(bool)));
|
||||
connect(ui_->action_about_strawberry, SIGNAL(triggered()), SLOT(ShowAboutDialog()));
|
||||
connect(ui_->action_about_qt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
|
||||
@@ -822,6 +827,12 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
|
||||
LoveButtonVisibilityChanged(app_->scrobbler()->LoveButton());
|
||||
ScrobblingEnabledChanged(app_->scrobbler()->IsEnabled());
|
||||
|
||||
// Last.fm ImportData
|
||||
connect(app_->lastfm_import(), SIGNAL(Finished()), lastfm_import_dialog_, SLOT(Finished()));
|
||||
connect(app_->lastfm_import(), SIGNAL(FinishedWithError(QString)), lastfm_import_dialog_, SLOT(FinishedWithError(QString)));
|
||||
connect(app_->lastfm_import(), SIGNAL(UpdateTotal(int, int)), lastfm_import_dialog_, SLOT(UpdateTotal(int, int)));
|
||||
connect(app_->lastfm_import(), SIGNAL(UpdateProgress(int, int)), lastfm_import_dialog_, SLOT(UpdateProgress(int, int)));
|
||||
|
||||
// Load settings
|
||||
qLog(Debug) << "Loading settings";
|
||||
settings_.beginGroup(kSettingsGroup);
|
||||
|
||||
@@ -96,6 +96,7 @@ class InternetTabsView;
|
||||
class Windows7ThumbBar;
|
||||
#endif
|
||||
class AddStreamDialog;
|
||||
class LastFMImportDialog;
|
||||
|
||||
class MainWindow : public QMainWindow, public PlatformInterface {
|
||||
Q_OBJECT
|
||||
@@ -324,6 +325,8 @@ class MainWindow : public QMainWindow, public PlatformInterface {
|
||||
InternetSongsView *subsonic_view_;
|
||||
InternetTabsView *tidal_view_;
|
||||
|
||||
LastFMImportDialog *lastfm_import_dialog_;
|
||||
|
||||
QAction *collection_show_all_;
|
||||
QAction *collection_show_duplicates_;
|
||||
QAction *collection_show_untagged_;
|
||||
|
||||
@@ -511,6 +511,7 @@
|
||||
<addaction name="action_abort_collection_scan"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_settings"/>
|
||||
<addaction name="action_import_data_from_last_fm"/>
|
||||
<addaction name="action_console"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_toggle_show_sidebar"/>
|
||||
@@ -844,6 +845,11 @@
|
||||
<string>Show sidebar</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_import_data_from_last_fm">
|
||||
<property name="text">
|
||||
<string>Import data from last.fm...</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<customwidgets>
|
||||
|
||||
Reference in New Issue
Block a user