code_app/app/scantool/dialog_writesettings.cpp

68 lines
2.3 KiB
C++

#include "dialog_writesettings.h"
#include "ui_dialog_writesettings.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.jpegQuality);
ui->spin_jpg_quality->setValue(writeParam.jpegQuality);
ui->cbox_tif_bw->setCurrentIndex(writeParam.tiffCompressionBW);
ui->cbox_tif_color->setCurrentIndex(writeParam.tiffCompression);
ui->spin_tif_quality->setValue(writeParam.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.jpegQuality = ui->spin_jpg_quality->value();
writeParam.tiffCompressionBW = ui->cbox_tif_bw->currentIndex();
writeParam.tiffCompression = ui->cbox_tif_color->currentIndex();
writeParam.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);
}