settings.cc (1746B)
1 // Copyright (c) the JPEG XL Project Authors. All rights reserved. 2 // 3 // Use of this source code is governed by a BSD-style 4 // license that can be found in the LICENSE file. 5 6 #include "tools/comparison_viewer/settings.h" 7 8 namespace jpegxl { 9 namespace tools { 10 11 SettingsDialog::SettingsDialog(QWidget* const parent) 12 : QDialog(parent), settings_("JPEG XL project", "Comparison tool") { 13 ui_.setupUi(this); 14 15 settings_.beginGroup("rendering"); 16 renderingSettings_.fadingMSecs = settings_.value("fadingMSecs", 300).toInt(); 17 settings_.beginGroup("gray"); 18 renderingSettings_.gray = settings_.value("enabled", false).toBool(); 19 renderingSettings_.grayMSecs = settings_.value("delayMSecs", 300).toInt(); 20 settings_.endGroup(); 21 settings_.endGroup(); 22 23 settingsToUi(); 24 } 25 26 SplitImageRenderingSettings SettingsDialog::renderingSettings() const { 27 return renderingSettings_; 28 } 29 30 void SettingsDialog::on_SettingsDialog_accepted() { 31 renderingSettings_.fadingMSecs = ui_.fadingTime->value(); 32 renderingSettings_.gray = ui_.grayGroup->isChecked(); 33 renderingSettings_.grayMSecs = ui_.grayTime->value(); 34 35 settings_.beginGroup("rendering"); 36 settings_.setValue("fadingMSecs", renderingSettings_.fadingMSecs); 37 settings_.beginGroup("gray"); 38 settings_.setValue("enabled", renderingSettings_.gray); 39 settings_.setValue("delayMSecs", renderingSettings_.grayMSecs); 40 settings_.endGroup(); 41 settings_.endGroup(); 42 } 43 44 void SettingsDialog::on_SettingsDialog_rejected() { settingsToUi(); } 45 46 void SettingsDialog::settingsToUi() { 47 ui_.fadingTime->setValue(renderingSettings_.fadingMSecs); 48 ui_.grayGroup->setChecked(renderingSettings_.gray); 49 ui_.grayTime->setValue(renderingSettings_.grayMSecs); 50 } 51 52 } // namespace tools 53 } // namespace jpegxl