66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
|
|
#include "AddLightFileDlg.h"
|
||
|
|
|
||
|
|
#include <QMessageBox>
|
||
|
|
#include <QFileInfo>
|
||
|
|
|
||
|
|
#include "ui_AddLightFileDlg.h"
|
||
|
|
|
||
|
|
AddLightFileDlg::AddLightFileDlg(QWidget* parent)
|
||
|
|
: BaseAddFileDlg(FileEntryType::Light, parent)
|
||
|
|
, ui(new Ui::AddLightFileDlg) {
|
||
|
|
|
||
|
|
ui->setupUi(this);
|
||
|
|
SetTitle(getDialogTitle());
|
||
|
|
}
|
||
|
|
|
||
|
|
AddLightFileDlg::~AddLightFileDlg() {
|
||
|
|
delete ui;
|
||
|
|
}
|
||
|
|
|
||
|
|
bool AddLightFileDlg::validateSpecificParams() {
|
||
|
|
LightParams params = getLightParams();
|
||
|
|
|
||
|
|
if (params.delimiter.isEmpty()) {
|
||
|
|
QMessageBox::warning(this, QStringLiteral("Warning"),
|
||
|
|
QStringLiteral("Please specify a delimiter for light data."));
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
QString AddLightFileDlg::getFileFilter() const {
|
||
|
|
return QStringLiteral("Light Spectrum Files (*.txt *.csv *.dat *.spe *.asc);;All Files (*.*)");
|
||
|
|
}
|
||
|
|
|
||
|
|
QString AddLightFileDlg::getDialogTitle() const {
|
||
|
|
return QStringLiteral("Add Light Spectrum File");
|
||
|
|
}
|
||
|
|
|
||
|
|
void AddLightFileDlg::onDelimiterChanged() {
|
||
|
|
// Handle delimiter change if needed
|
||
|
|
}
|
||
|
|
|
||
|
|
void AddLightFileDlg::onHeaderToggled(bool hasHeader) {
|
||
|
|
// Handle header toggle if needed
|
||
|
|
}
|
||
|
|
|
||
|
|
AddLightFileDlg::LightParams AddLightFileDlg::getLightParams() const {
|
||
|
|
LightParams params;
|
||
|
|
params.wavelengthColumn = ui->wavelengthColumnSpinBox->value();
|
||
|
|
params.intensityColumn = ui->intensityColumnSpinBox->value();
|
||
|
|
|
||
|
|
// Get delimiter from combo box
|
||
|
|
int index = ui->separatorComboBox->currentIndex();
|
||
|
|
switch (index) {
|
||
|
|
case 0: params.delimiter = ","; break;
|
||
|
|
case 1: params.delimiter = "\t"; break;
|
||
|
|
case 2: params.delimiter = " "; break;
|
||
|
|
case 3: params.delimiter = ";"; break;
|
||
|
|
default: params.delimiter = ","; break;
|
||
|
|
}
|
||
|
|
|
||
|
|
params.hasHeader = ui->hasHeaderCheckBox->isChecked();
|
||
|
|
params.description = ui->descriptionEdit->toPlainText().trimmed();
|
||
|
|
return params;
|
||
|
|
}
|