Show the OSD when --show-osd is used even if the osd is disabled in the settings dialog. See issue #95
This commit is contained in:
parent
aaa1ef8a7f
commit
3b1188838b
|
@ -193,7 +193,7 @@ MainWindow::MainWindow(QNetworkAccessManager* network, QWidget *parent)
|
||||||
connect(player_, SIGNAL(Stopped()), osd_, SLOT(Stopped()));
|
connect(player_, SIGNAL(Stopped()), osd_, SLOT(Stopped()));
|
||||||
connect(player_, SIGNAL(VolumeChanged(int)), osd_, SLOT(VolumeChanged(int)));
|
connect(player_, SIGNAL(VolumeChanged(int)), osd_, SLOT(VolumeChanged(int)));
|
||||||
connect(player_, SIGNAL(VolumeChanged(int)), ui_.volume, SLOT(setValue(int)));
|
connect(player_, SIGNAL(VolumeChanged(int)), ui_.volume, SLOT(setValue(int)));
|
||||||
connect(player_, SIGNAL(ForceShowOSD(Song)), osd_, SLOT(SongChanged(Song)));
|
connect(player_, SIGNAL(ForceShowOSD(Song)), SLOT(ForceShowOSD(Song)));
|
||||||
connect(playlist_, SIGNAL(CurrentSongChanged(Song)), osd_, SLOT(SongChanged(Song)));
|
connect(playlist_, SIGNAL(CurrentSongChanged(Song)), osd_, SLOT(SongChanged(Song)));
|
||||||
connect(playlist_, SIGNAL(CurrentSongChanged(Song)), player_, SLOT(CurrentMetadataChanged(Song)));
|
connect(playlist_, SIGNAL(CurrentSongChanged(Song)), player_, SLOT(CurrentMetadataChanged(Song)));
|
||||||
connect(playlist_, SIGNAL(PlaylistChanged()), player_, SLOT(PlaylistChanged()));
|
connect(playlist_, SIGNAL(PlaylistChanged()), player_, SLOT(PlaylistChanged()));
|
||||||
|
@ -946,3 +946,8 @@ void MainWindow::CommandlineOptionsReceived(const CommandlineOptions &options) {
|
||||||
if (options.show_osd())
|
if (options.show_osd())
|
||||||
player_->ShowOSD();
|
player_->ShowOSD();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::ForceShowOSD(const Song &song) {
|
||||||
|
osd_->ForceShowNextNotification();
|
||||||
|
osd_->SongChanged(song);
|
||||||
|
}
|
||||||
|
|
|
@ -80,6 +80,7 @@ class MainWindow : public QMainWindow {
|
||||||
void MediaStopped();
|
void MediaStopped();
|
||||||
void MediaPaused();
|
void MediaPaused();
|
||||||
void MediaPlaying();
|
void MediaPlaying();
|
||||||
|
void ForceShowOSD(const Song& song);
|
||||||
|
|
||||||
void PlaylistRightClick(const QPoint& global_pos, const QModelIndex& index);
|
void PlaylistRightClick(const QPoint& global_pos, const QModelIndex& index);
|
||||||
void PlaylistPlay();
|
void PlaylistPlay();
|
||||||
|
|
|
@ -30,6 +30,7 @@ OSD::OSD(QSystemTrayIcon* tray_icon, QObject* parent)
|
||||||
behaviour_(Native),
|
behaviour_(Native),
|
||||||
show_on_volume_change_(false),
|
show_on_volume_change_(false),
|
||||||
show_art_(true),
|
show_art_(true),
|
||||||
|
force_show_next_(false),
|
||||||
pretty_popup_(new OSDPretty)
|
pretty_popup_(new OSDPretty)
|
||||||
{
|
{
|
||||||
ReloadSettings();
|
ReloadSettings();
|
||||||
|
@ -106,12 +107,16 @@ void OSD::ShowMessage(const QString& summary,
|
||||||
tray_icon_->showMessage(summary, message, QSystemTrayIcon::NoIcon, timeout_msec_);
|
tray_icon_->showMessage(summary, message, QSystemTrayIcon::NoIcon, timeout_msec_);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Disabled:
|
||||||
|
if (!force_show_next_)
|
||||||
|
break;
|
||||||
|
force_show_next_ = false;
|
||||||
|
// fallthrough
|
||||||
case Pretty:
|
case Pretty:
|
||||||
pretty_popup_->SetMessage(summary, message, image);
|
pretty_popup_->SetMessage(summary, message, image);
|
||||||
pretty_popup_->show();
|
pretty_popup_->show();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Disabled:
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,7 @@ class OSD : public QObject {
|
||||||
public slots:
|
public slots:
|
||||||
void ReloadSettings();
|
void ReloadSettings();
|
||||||
|
|
||||||
|
void ForceShowNextNotification() { force_show_next_ = true; }
|
||||||
void SongChanged(const Song& song);
|
void SongChanged(const Song& song);
|
||||||
void Paused();
|
void Paused();
|
||||||
void Stopped();
|
void Stopped();
|
||||||
|
@ -78,6 +79,9 @@ class OSD : public QObject {
|
||||||
const QString& icon = QString(),
|
const QString& icon = QString(),
|
||||||
const QImage& image = QImage());
|
const QImage& image = QImage());
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void CallFinished(QDBusPendingCallWatcher* watcher);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QSystemTrayIcon* tray_icon_;
|
QSystemTrayIcon* tray_icon_;
|
||||||
int timeout_msec_;
|
int timeout_msec_;
|
||||||
|
@ -85,6 +89,8 @@ class OSD : public QObject {
|
||||||
bool show_on_volume_change_;
|
bool show_on_volume_change_;
|
||||||
bool show_art_;
|
bool show_art_;
|
||||||
|
|
||||||
|
bool force_show_next_;
|
||||||
|
|
||||||
OSDPretty* pretty_popup_;
|
OSDPretty* pretty_popup_;
|
||||||
|
|
||||||
#ifdef Q_OS_DARWIN
|
#ifdef Q_OS_DARWIN
|
||||||
|
@ -97,8 +103,6 @@ class OSD : public QObject {
|
||||||
uint notification_id_;
|
uint notification_id_;
|
||||||
QDateTime last_notification_time_;
|
QDateTime last_notification_time_;
|
||||||
#endif
|
#endif
|
||||||
private slots:
|
|
||||||
void CallFinished(QDBusPendingCallWatcher* watcher);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // OSD_H
|
#endif // OSD_H
|
||||||
|
|
Loading…
Reference in New Issue