Ticket #5008: music_exit_action.patch
File music_exit_action.patch, 4.2 KB (added by , 16 years ago) |
---|
-
mythmusic/mythmusic/playbackbox.h
173 173 bool keyboard_accelerators; 174 174 bool volume_control; 175 175 176 QString exit_action; 177 176 178 MythPopupBox *playlist_popup; 177 179 178 180 // -
mythmusic/mythmusic/playbackbox.cpp
84 84 cycle_visualizer = gContext->GetNumSetting("VisualCycleOnSongChange", 0); 85 85 show_album_art = gContext->GetNumSetting("VisualAlbumArtOnSongChange", 0); 86 86 random_visualizer = gContext->GetNumSetting("VisualRandomize", 0); 87 exit_action = gContext->GetSetting("MusicExitAction", "prompt"); 87 88 88 89 m_pushedButton = NULL; 89 90 … … 377 378 { 378 379 if (!gPlayer->isPlaying() || m_parent->IsExitingToMain()) 379 380 { 380 gPlayer->savePosition(); 381 stopAll(); 382 done(kDialogCodeAccepted); 381 if (exit_action == "play") 382 { 383 gPlayer->setListener(NULL); 384 gPlayer->setVisual(NULL); 385 done(kDialogCodeAccepted); 386 } 387 else 388 { 389 gPlayer->savePosition(); 390 stopAll(); 391 done(kDialogCodeAccepted); 392 }; 383 393 } 384 394 else 385 395 { 386 DialogBox *dialog = new DialogBox(gContext->GetMainWindow(), 387 tr("Exiting Music Player\n" 388 "Do you want to continue playing in the background?")); 389 dialog->AddButton(tr("No - Exit, Stop Playing")); 390 dialog->AddButton(tr("Yes - Exit, Continue Playing")); 391 dialog->AddButton(tr("Cancel")); 392 int res = dialog->exec(); 393 dialog->deleteLater(); 396 int res; 397 if (exit_action == "stop") 398 res = kDialogCodeButton0; 399 else if (exit_action == "play") 400 res = kDialogCodeButton1; 401 else 402 { 403 DialogBox *dialog = new DialogBox(gContext->GetMainWindow(), 404 tr("Exiting Music Player\n" 405 "Do you want to continue playing in the background?")); 406 dialog->AddButton(tr("No - Exit, Stop Playing")); 407 dialog->AddButton(tr("Yes - Exit, Continue Playing")); 408 dialog->AddButton(tr("Cancel")); 409 res = dialog->exec(); 410 dialog->deleteLater(); 411 }; 394 412 395 413 if (res == kDialogCodeButton0) 396 414 { -
mythmusic/mythmusic/globalsettings.cpp
377 377 return gc; 378 378 }; 379 379 380 static HostComboBox *ExitAction() 381 { 382 HostComboBox *gc = new HostComboBox("MusicExitAction"); 383 gc->setLabel(QObject::tr("Action on exit")); 384 gc->addSelection(QObject::tr("Prompt"), "prompt"); 385 gc->addSelection(QObject::tr("Stop Playing"), "stop"); 386 gc->addSelection(QObject::tr("Keep Playing"), "play"); 387 gc->setHelpText(QObject::tr("Specify what action to take when exiting mythmusic plugin.")); 388 return gc; 389 }; 390 380 391 static HostSlider *VisualModeDelay() 381 392 { 382 393 HostSlider *gc = new HostSlider("VisualModeDelay", 0, 100, 1); … … 637 648 playersettings->setLabel(QObject::tr("Playback Settings")); 638 649 playersettings->addChild(PlayMode()); 639 650 playersettings->addChild(ResumeMode()); 651 playersettings->addChild(ExitAction()); 640 652 playersettings->addChild(SetSearchMaxResultsReturned()); 641 653 playersettings->addChild(UseShowRatings()); 642 654 playersettings->addChild(UseShowWholeTree());