Add option to disable playing widget

This commit is contained in:
Jonas Kvinge 2019-03-09 17:20:07 +01:00
parent 3e658845d2
commit c0fb35f6b9
6 changed files with 27 additions and 4 deletions

View File

@ -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;

View File

@ -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_;

View File

@ -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);

View File

@ -54,6 +54,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkbox_playingwidget">
<property name="text">
<string>Show playing widget</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_1">
<property name="orientation">

View File

@ -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;

View File

@ -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);