| 420 | } |
| 421 | |
| 422 | void SettingsDialog::on_pushButtonSave_clicked() |
| 423 | { |
| 424 | // --- Save the settings --- |
| 425 | QSettings settings; |
| 426 | |
| 427 | // "General" tab |
| 428 | settings.setValue("WatchFiles", ui.checkBoxWatchFiles->isChecked()); |
| 429 | settings.setValue("AskToSaveOnExit", ui.checkBoxAskToSave->isChecked()); |
| 430 | settings.setValue("ContinuePlaybackOnSequenceSelection", |
| 431 | ui.checkBoxContinuePlaybackNewSelection->isChecked()); |
| 432 | settings.setValue("SavePositionAndZoomPerItem", ui.checkBoxSavePositionPerItem->isChecked()); |
| 433 | // UI |
| 434 | settings.setValue("Theme", ui.comboBoxTheme->currentText()); |
| 435 | settings.setValue("SplitViewLineStyle", ui.comboBoxSplitLineStyle->currentText()); |
| 436 | settings.setValue("MouseMode", ui.comboBoxMouseMode->currentText()); |
| 437 | settings.setValue("View/BackgroundColor", ui.viewBackgroundColor->getPlainColor()); |
| 438 | settings.setValue("View/GridColor", ui.viewGridLineColor->getPlainColor()); |
| 439 | settings.setValue("Plot/BackgroundColor", ui.plotBackgroundColor->getPlainColor()); |
| 440 | settings.setValue("ShowPlaybackControlFullScreen", |
| 441 | ui.checkBoxPlaybackControlFullScreen->isChecked()); |
| 442 | settings.setValue("ShowFilePathInSplitMode", ui.checkBoxShowFilePathSplitMode->isChecked()); |
| 443 | settings.setValue("ShowPixelValuesHex", ui.checkBoxPixelValuesHex->isChecked()); |
| 444 | // Update settings |
| 445 | settings.beginGroup("updates"); |
| 446 | settings.setValue("checkForUpdates", ui.groupBoxUpdates->isChecked()); |
| 447 | if (UPDATE_FEATURE_ENABLE) |
| 448 | { |
| 449 | QString updateBehavior = "ask"; |
| 450 | if (ui.comboBoxUpdateSettings->currentIndex() == 0) |
| 451 | updateBehavior = "auto"; |
| 452 | settings.setValue("updateBehavior", updateBehavior); |
| 453 | } |
| 454 | settings.endGroup(); |
| 455 | |
| 456 | // "Caching" tab |
| 457 | settings.beginGroup("VideoCache"); |
| 458 | settings.setValue("Enabled", ui.groupBoxCaching->isChecked()); |
| 459 | settings.setValue("ThresholdValue", ui.sliderThreshold->value()); |
| 460 | settings.setValue("ThresholdValueMB", getCacheSizeInMB()); |
| 461 | settings.setValue("SetNrThreads", ui.checkBoxNrThreads->isChecked()); |
| 462 | settings.setValue("NrThreads", ui.spinBoxNrThreads->value()); |
| 463 | settings.setValue("PlaybackPauseCaching", ui.checkBoxPausPlaybackForCaching->isChecked()); |
| 464 | settings.setValue("PlaybackCachingEnabled", ui.checkBoxEnablePlaybackCaching->isChecked()); |
| 465 | settings.setValue("PlaybackCachingThreadLimit", ui.spinBoxThreadLimit->value()); |
| 466 | settings.endGroup(); |
| 467 | |
| 468 | // "Decoders" tab |
| 469 | settings.beginGroup("Decoders"); |
| 470 | settings.setValue("SearchPath", ui.lineEditDecoderPath->text()); |
| 471 | settings.setValue("DefaultDecoderHEVC", ui.comboBoxDefaultHEVC->currentText()); |
| 472 | settings.setValue("DefaultDecoderVVC", ui.comboBoxDefaultVVC->currentText()); |
| 473 | settings.setValue("DefaultDecoderAV1", ui.comboBoxDefaultAV1->currentText()); |
| 474 | // Raw coded video files |
| 475 | settings.setValue("libde265File", ui.lineEditLibde265File->text()); |
| 476 | settings.setValue("libHMFile", ui.lineEditLibHMFile->text()); |
| 477 | settings.setValue("libDav1dFile", ui.lineEditLibDav1d->text()); |
| 478 | settings.setValue("libVTMFile", ui.lineEditLibVTMFile->text()); |
| 479 | settings.setValue("libVVDecFile", ui.lineEditLibVVDecFile->text()); |
nothing calls this directly
no test coverage detected