diff --git a/src/core/mainwindow.cpp b/src/core/mainwindow.cpp index bd2b3e0da..10f96660f 100644 --- a/src/core/mainwindow.cpp +++ b/src/core/mainwindow.cpp @@ -220,9 +220,11 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSD *osd, co was_maximized_(true), saved_playback_position_(0), saved_playback_state_(Engine::Empty), + playing_widget_(true), doubleclick_addmode_(AddBehaviour_Append), doubleclick_playmode_(PlayBehaviour_Never), - menu_playmode_(PlayBehaviour_Never) { + menu_playmode_(PlayBehaviour_Never) + { qLog(Debug) << "Starting"; @@ -820,6 +822,8 @@ void MainWindow::ReloadSettings() { #endif settings.beginGroup(BehaviourSettingsPage::kSettingsGroup); + playing_widget_ = settings.value("playing_widget", true).toBool(); + if (playing_widget_ != ui_->widget_playing->IsEnabled()) TabSwitched(); doubleclick_addmode_ = AddBehaviour(settings.value("doubleclick_addmode", AddBehaviour_Append).toInt()); doubleclick_playmode_ = PlayBehaviour(settings.value("doubleclick_playmode", PlayBehaviour_IfStopped).toInt()); doubleclick_playlist_addmode_ = PlaylistAddBehaviour(settings.value("doubleclick_playlist_addmode", PlaylistAddBehaviour_Play).toInt()); @@ -1013,10 +1017,12 @@ void MainWindow::resizeEvent(QResizeEvent *event) { void MainWindow::TabSwitched() { - if (ui_->tabs->tabBar()->tabData(ui_->tabs->currentIndex()).toString().toLower() == "context") - ui_->widget_playing->SetDisabled(); - else + if (playing_widget_ && ui_->tabs->tabBar()->tabData(ui_->tabs->currentIndex()).toString().toLower() != "context") { ui_->widget_playing->SetEnabled(); + } + else { + ui_->widget_playing->SetDisabled(); + } if (!initialised_) return; diff --git a/src/core/mainwindow.h b/src/core/mainwindow.h index 640a3018e..e97d6735c 100644 --- a/src/core/mainwindow.h +++ b/src/core/mainwindow.h @@ -371,6 +371,7 @@ signals: bool was_maximized_; int saved_playback_position_; Engine::State saved_playback_state_; + bool playing_widget_; AddBehaviour doubleclick_addmode_; PlayBehaviour doubleclick_playmode_; PlaylistAddBehaviour doubleclick_playlist_addmode_; diff --git a/src/settings/behavioursettingspage.cpp b/src/settings/behavioursettingspage.cpp index a7f93c62a..d13a66a2a 100644 --- a/src/settings/behavioursettingspage.cpp +++ b/src/settings/behavioursettingspage.cpp @@ -148,6 +148,8 @@ void BehaviourSettingsPage::Load() { } #endif + ui_->checkbox_playingwidget->setChecked(s.value("playing_widget", true).toBool()); + MainWindow::StartupBehaviour behaviour = MainWindow::StartupBehaviour(s.value("startupbehaviour", MainWindow::Startup_Remember).toInt()); switch (behaviour) { case MainWindow::Startup_AlwaysHide: ui_->radiobutton_alwayshide->setChecked(true); break; @@ -191,6 +193,7 @@ void BehaviourSettingsPage::Save() { s.setValue("scrolltrayicon", ui_->checkbox_scrolltrayicon->isChecked()); s.setValue("keeprunning", ui_->checkbox_keeprunning->isChecked()); s.setValue("resumeplayback", ui_->checkbox_resumeplayback->isChecked()); + s.setValue("playing_widget", ui_->checkbox_playingwidget->isChecked()); s.setValue("startupbehaviour", int(behaviour)); s.setValue("doubleclick_addmode", doubleclick_addmode); s.setValue("doubleclick_playmode", doubleclick_playmode); diff --git a/src/settings/behavioursettingspage.ui b/src/settings/behavioursettingspage.ui index dc2dcbfee..311f41889 100644 --- a/src/settings/behavioursettingspage.ui +++ b/src/settings/behavioursettingspage.ui @@ -54,6 +54,13 @@ + + + + Show playing widget + + + diff --git a/src/widgets/playingwidget.cpp b/src/widgets/playingwidget.cpp index 8be32f57e..a39a957da 100644 --- a/src/widgets/playingwidget.cpp +++ b/src/widgets/playingwidget.cpp @@ -156,6 +156,10 @@ void PlayingWidget::SetApplication(Application *app, AlbumCoverChoiceController } +void PlayingWidget::SetEnabled(bool enabled) { + if (enabled) SetEnabled(); + else SetDisabled(); +} void PlayingWidget::SetEnabled() { enabled_ = true; diff --git a/src/widgets/playingwidget.h b/src/widgets/playingwidget.h index eb003b9c3..d915fcbe0 100644 --- a/src/widgets/playingwidget.h +++ b/src/widgets/playingwidget.h @@ -67,6 +67,8 @@ class PlayingWidget : public QWidget { ~PlayingWidget(); void SetApplication(Application *app, AlbumCoverChoiceController *album_cover_choice_controller); + bool IsEnabled() { return enabled_; } + void SetEnabled(bool enabled); void SetEnabled(); void SetDisabled(); void set_ideal_height(int height);