| 484 | } |
| 485 | |
| 486 | void MainWindow::closeEvent(QCloseEvent *event) |
| 487 | { |
| 488 | // Stop playback |
| 489 | ui.playbackController->pausePlayback(); |
| 490 | |
| 491 | QSettings settings; |
| 492 | if (!ui.playlistTreeWidget->getIsSaved() && settings.value("AskToSaveOnExit", true).toBool()) |
| 493 | { |
| 494 | QMessageBox::StandardButton resBtn = |
| 495 | QMessageBox::question(this, |
| 496 | "Quit YUView", |
| 497 | tr("You have not saved the current playlist, are you sure?\n"), |
| 498 | QMessageBox::Cancel | QMessageBox::Close | QMessageBox::Save, |
| 499 | QMessageBox::Close); |
| 500 | if (resBtn == QMessageBox::Cancel) |
| 501 | { |
| 502 | event->ignore(); |
| 503 | return; |
| 504 | } |
| 505 | else if (resBtn == QMessageBox::Save) |
| 506 | ui.playlistTreeWidget->savePlaylistToFile(); |
| 507 | } |
| 508 | |
| 509 | if (saveWindowsStateOnExit) |
| 510 | { |
| 511 | // Do not save the window state if we just cleared the settings |
| 512 | QSettings settings; |
| 513 | settings.setValue("mainWindow/geometry", saveGeometry()); |
| 514 | settings.setValue("mainWindow/windowState", saveState()); |
| 515 | settings.setValue("separateViewWindow/geometry", separateViewWindow.saveGeometry()); |
| 516 | settings.setValue("separateViewWindow/windowState", separateViewWindow.saveState()); |
| 517 | } |
| 518 | |
| 519 | // Delete all items in the playlist. This will also kill all eventual running background |
| 520 | // processes. |
| 521 | ui.playlistTreeWidget->deletePlaylistItems(true); |
| 522 | |
| 523 | event->accept(); |
| 524 | |
| 525 | if (!separateViewWindow.isHidden()) |
| 526 | separateViewWindow.close(); |
| 527 | } |
| 528 | |
| 529 | void MainWindow::openRecentFile() |
| 530 | { |
nothing calls this directly
no test coverage detected