Share the love
This commit is contained in:
parent
68d375c43c
commit
75264f314d
|
@ -337,6 +337,7 @@ set(SOURCES
|
||||||
ui/console.cpp
|
ui/console.cpp
|
||||||
ui/coverfromurldialog.cpp
|
ui/coverfromurldialog.cpp
|
||||||
ui/edittagdialog.cpp
|
ui/edittagdialog.cpp
|
||||||
|
ui/lovedialog.cpp
|
||||||
ui/equalizer.cpp
|
ui/equalizer.cpp
|
||||||
ui/flowlayout.cpp
|
ui/flowlayout.cpp
|
||||||
ui/globalshortcutgrabber.cpp
|
ui/globalshortcutgrabber.cpp
|
||||||
|
@ -624,6 +625,7 @@ set(HEADERS
|
||||||
ui/console.h
|
ui/console.h
|
||||||
ui/coverfromurldialog.h
|
ui/coverfromurldialog.h
|
||||||
ui/edittagdialog.h
|
ui/edittagdialog.h
|
||||||
|
ui/lovedialog.h
|
||||||
ui/equalizer.h
|
ui/equalizer.h
|
||||||
ui/globalshortcutgrabber.h
|
ui/globalshortcutgrabber.h
|
||||||
ui/globalshortcutssettingspage.h
|
ui/globalshortcutssettingspage.h
|
||||||
|
@ -751,6 +753,7 @@ set(UI
|
||||||
ui/console.ui
|
ui/console.ui
|
||||||
ui/coverfromurldialog.ui
|
ui/coverfromurldialog.ui
|
||||||
ui/edittagdialog.ui
|
ui/edittagdialog.ui
|
||||||
|
ui/lovedialog.ui
|
||||||
ui/equalizer.ui
|
ui/equalizer.ui
|
||||||
ui/globalshortcutgrabber.ui
|
ui/globalshortcutgrabber.ui
|
||||||
ui/globalshortcutssettingspage.ui
|
ui/globalshortcutssettingspage.ui
|
||||||
|
|
|
@ -105,6 +105,7 @@
|
||||||
#include "ui/albumcovermanager.h"
|
#include "ui/albumcovermanager.h"
|
||||||
#include "ui/console.h"
|
#include "ui/console.h"
|
||||||
#include "ui/edittagdialog.h"
|
#include "ui/edittagdialog.h"
|
||||||
|
#include "ui/lovedialog.h"
|
||||||
#include "ui/equalizer.h"
|
#include "ui/equalizer.h"
|
||||||
#include "ui/iconloader.h"
|
#include "ui/iconloader.h"
|
||||||
#include "ui/organisedialog.h"
|
#include "ui/organisedialog.h"
|
||||||
|
@ -170,6 +171,7 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd,
|
||||||
tray_icon_(tray_icon),
|
tray_icon_(tray_icon),
|
||||||
osd_(osd),
|
osd_(osd),
|
||||||
edit_tag_dialog_(std::bind(&MainWindow::CreateEditTagDialog, this)),
|
edit_tag_dialog_(std::bind(&MainWindow::CreateEditTagDialog, this)),
|
||||||
|
love_dialog_(std::bind(&MainWindow::CreateLoveDialog, this)),
|
||||||
stream_discoverer_(std::bind(&MainWindow::CreateStreamDiscoverer, this)),
|
stream_discoverer_(std::bind(&MainWindow::CreateStreamDiscoverer, this)),
|
||||||
global_shortcuts_(new GlobalShortcuts(this)),
|
global_shortcuts_(new GlobalShortcuts(this)),
|
||||||
global_search_view_(new GlobalSearchView(app_, this)),
|
global_search_view_(new GlobalSearchView(app_, this)),
|
||||||
|
@ -1169,9 +1171,11 @@ void MainWindow::MediaPlaying() {
|
||||||
PlaylistItem::SeekDisabled);
|
PlaylistItem::SeekDisabled);
|
||||||
ui_->track_slider->SetCanSeek(can_seek);
|
ui_->track_slider->SetCanSeek(can_seek);
|
||||||
|
|
||||||
|
// We now always enable Love when playing since it works for local files
|
||||||
|
ui_->action_love->setEnabled(true);
|
||||||
|
|
||||||
#ifdef HAVE_LIBLASTFM
|
#ifdef HAVE_LIBLASTFM
|
||||||
bool enable_love = app_->scrobbler()->IsScrobblingEnabled();
|
bool enable_love = app_->scrobbler()->IsScrobblingEnabled();
|
||||||
ui_->action_love->setEnabled(enable_love);
|
|
||||||
if (tray_icon_) {
|
if (tray_icon_) {
|
||||||
tray_icon_->LastFMButtonLoveStateChanged(enable_love);
|
tray_icon_->LastFMButtonLoveStateChanged(enable_love);
|
||||||
tray_icon_->SetPlaying(enable_play_pause, enable_love);
|
tray_icon_->SetPlaying(enable_play_pause, enable_love);
|
||||||
|
@ -1582,13 +1586,28 @@ void MainWindow::ScrobbledRadioStream() {
|
||||||
ui_->action_love->setEnabled(true);
|
ui_->action_love->setEnabled(true);
|
||||||
if (tray_icon_) tray_icon_->LastFMButtonLoveStateChanged(true);
|
if (tray_icon_) tray_icon_->LastFMButtonLoveStateChanged(true);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void MainWindow::Love() {
|
void MainWindow::Love() {
|
||||||
app_->scrobbler()->Love();
|
Playlist* activePlaylist = app_->playlist_manager()->active();
|
||||||
ui_->action_love->setEnabled(false);
|
PlaylistItemPtr item = activePlaylist->current_item();
|
||||||
if (tray_icon_) tray_icon_->LastFMButtonLoveStateChanged(false);
|
if (!item) {
|
||||||
|
// Don't make a big deal about it
|
||||||
|
qLog(Warning) << "Love: nothing playing so can't love it";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item->IsLocalLibraryItem()) {
|
||||||
|
Song song = item->Metadata();
|
||||||
|
love_dialog_->SetSong(song);
|
||||||
|
love_dialog_->show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
app_->scrobbler()->Love();
|
||||||
|
ui_->action_love->setEnabled(false);
|
||||||
|
if (tray_icon_) tray_icon_->LastFMButtonLoveStateChanged(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void MainWindow::ApplyAddBehaviour(MainWindow::AddBehaviour b,
|
void MainWindow::ApplyAddBehaviour(MainWindow::AddBehaviour b,
|
||||||
MimeData* data) const {
|
MimeData* data) const {
|
||||||
|
@ -2671,6 +2690,13 @@ EditTagDialog* MainWindow::CreateEditTagDialog() {
|
||||||
return edit_tag_dialog;
|
return edit_tag_dialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LoveDialog* MainWindow::CreateLoveDialog() {
|
||||||
|
LoveDialog* dialog = new LoveDialog(app_);
|
||||||
|
connect(dialog, SIGNAL(Error(QString)),
|
||||||
|
SLOT(ShowErrorDialog(QString)));
|
||||||
|
return dialog;
|
||||||
|
}
|
||||||
|
|
||||||
StreamDiscoverer* MainWindow::CreateStreamDiscoverer() {
|
StreamDiscoverer* MainWindow::CreateStreamDiscoverer() {
|
||||||
StreamDiscoverer* discoverer = new StreamDiscoverer();
|
StreamDiscoverer* discoverer = new StreamDiscoverer();
|
||||||
connect(discoverer, SIGNAL(DataReady(StreamDetails)),
|
connect(discoverer, SIGNAL(DataReady(StreamDetails)),
|
||||||
|
|
|
@ -50,6 +50,7 @@ class DeviceManager;
|
||||||
class DeviceView;
|
class DeviceView;
|
||||||
class DeviceViewContainer;
|
class DeviceViewContainer;
|
||||||
class EditTagDialog;
|
class EditTagDialog;
|
||||||
|
class LoveDialog;
|
||||||
class Equalizer;
|
class Equalizer;
|
||||||
class ErrorDialog;
|
class ErrorDialog;
|
||||||
class FileView;
|
class FileView;
|
||||||
|
@ -263,6 +264,7 @@ signals:
|
||||||
void ShowVisualisations();
|
void ShowVisualisations();
|
||||||
SettingsDialog* CreateSettingsDialog();
|
SettingsDialog* CreateSettingsDialog();
|
||||||
EditTagDialog* CreateEditTagDialog();
|
EditTagDialog* CreateEditTagDialog();
|
||||||
|
LoveDialog* CreateLoveDialog();
|
||||||
StreamDiscoverer* CreateStreamDiscoverer();
|
StreamDiscoverer* CreateStreamDiscoverer();
|
||||||
void OpenSettingsDialog();
|
void OpenSettingsDialog();
|
||||||
void OpenSettingsDialogAtPage(SettingsDialog::Page page);
|
void OpenSettingsDialogAtPage(SettingsDialog::Page page);
|
||||||
|
@ -311,6 +313,7 @@ signals:
|
||||||
SystemTrayIcon* tray_icon_;
|
SystemTrayIcon* tray_icon_;
|
||||||
OSD* osd_;
|
OSD* osd_;
|
||||||
Lazy<EditTagDialog> edit_tag_dialog_;
|
Lazy<EditTagDialog> edit_tag_dialog_;
|
||||||
|
Lazy<LoveDialog> love_dialog_;
|
||||||
Lazy<About> about_dialog_;
|
Lazy<About> about_dialog_;
|
||||||
Lazy<StreamDiscoverer> stream_discoverer_;
|
Lazy<StreamDiscoverer> stream_discoverer_;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue