MCPcopy Create free account
hub / github.com/IENT/YUView / closeEvent

Method closeEvent

YUViewLib/src/ui/Mainwindow.cpp:486–527  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

484}
485
486void 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
529void MainWindow::openRecentFile()
530{

Callers

nothing calls this directly

Calls 4

pausePlaybackMethod · 0.80
getIsSavedMethod · 0.80
savePlaylistToFileMethod · 0.80
deletePlaylistItemsMethod · 0.80

Tested by

no test coverage detected