#include "dialog_writesettings.h" #include "ui_dialog_writesettings.h" #include "app_cfg.h" Dialog_WriteSettings::Dialog_WriteSettings(int suffix_type, const WriteParam &writeParam, QWidget *parent) : QDialog(parent) , ui(new Ui::Dialog_WriteSettings) { ui->setupUi(this); setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); //set visible bool jpg_enable = (suffix_type == 0 || suffix_type == 7 || suffix_type == 8); bool tif_enable = (suffix_type == 6); ui->lab_tif_bw->setVisible(tif_enable); ui->cbox_tif_bw->setVisible(tif_enable); ui->lab_tif_color->setVisible(tif_enable); ui->cbox_tif_color->setVisible(tif_enable); ui->lab_spin_tif_jpgQuality->setVisible(tif_enable); ui->spin_tif_quality->setVisible(tif_enable); ui->lab_slider_jpg_low->setVisible(jpg_enable); ui->lab_slider_jpg_high->setVisible(jpg_enable); ui->slider_jpg_quality->setVisible(jpg_enable); ui->lab_spin_jpgQuality->setVisible(jpg_enable); ui->spin_jpg_quality->setVisible(jpg_enable); //set value ui->slider_jpg_quality->setValue(writeParam.m_jpegQuality); ui->spin_jpg_quality->setValue(writeParam.m_jpegQuality); ui->cbox_tif_bw->setCurrentIndex(writeParam.m_tiffCompressionBW); ui->cbox_tif_color->setCurrentIndex(writeParam.m_tiffCompression); ui->spin_tif_quality->setValue(writeParam.m_tiffQuality); //set enable ui->spin_tif_quality->setEnabled(ui->cbox_tif_color->currentIndex() == 2); ui->spin_jpg_quality->setMinimumWidth(160); ui->spin_tif_quality->setMinimumWidth(160); } Dialog_WriteSettings::~Dialog_WriteSettings() { delete ui; } WriteParam Dialog_WriteSettings::GetWriteParam() { WriteParam writeParam; writeParam.m_jpegQuality = ui->spin_jpg_quality->value(); writeParam.m_tiffCompressionBW = ui->cbox_tif_bw->currentIndex(); writeParam.m_tiffCompression = ui->cbox_tif_color->currentIndex(); writeParam.m_tiffQuality = ui->spin_tif_quality->value(); return writeParam; } void Dialog_WriteSettings::on_cbox_tif_color_currentIndexChanged(int index) { ui->spin_tif_quality->setEnabled(index == 2); } void Dialog_WriteSettings::on_slider_jpg_quality_valueChanged(int value) { ui->spin_jpg_quality->setValue(value); } void Dialog_WriteSettings::on_spin_jpg_quality_valueChanged(int arg1) { ui->slider_jpg_quality->setValue(arg1); }