diff --git a/FSL/src/configregions.cpp b/FSL/src/configregions.cpp index dfce436479d86544e285efc9241d1d43dcb3d7f9..7c9bd42a5244b26c1ca8e4c292ea6d6dc4f62c04 100644 --- a/FSL/src/configregions.cpp +++ b/FSL/src/configregions.cpp @@ -18,7 +18,7 @@ ConfigRegions::ConfigRegions(QWidget *parent) : positron_cut_validator = new QDoubleValidator(-100000.0,100000.0,8); gamma_cut_validator = new QDoubleValidator(-100000.0,100000.0,8); - QLocale loc(QLocale::C); + loc= QLocale::C; loc.setNumberOptions(QLocale::RejectGroupSeparator); electron_cut_validator->setLocale(loc); @@ -48,10 +48,10 @@ void ConfigRegions::add_region_config() region_name = (ui->lE_reg_name->text()).toStdString(); frootLV_names = (ui->lE_froot->text()).toStdString(); - electron_cut = (ui->lE_electron->text()).toDouble(); - proton_cut = (ui->lE_proton->text()).toDouble(); - positron_cut = (ui->lE_positron->text()).toDouble(); - gamma_cut = (ui->lE_gamma->text()).toDouble(); + electron_cut = loc.toDouble(ui->lE_electron->text(), &loc_bool); + proton_cut = loc.toDouble(ui->lE_proton->text(), &loc_bool); + positron_cut = loc.toDouble(ui->lE_positron->text(), &loc_bool); + gamma_cut = loc.toDouble(ui->lE_gamma->text(), &loc_bool); diff --git a/FSL/src/configregions.h b/FSL/src/configregions.h index 860f0d40d616ebe542e3f157bb473cae3fe3419b..76ca0b6a33736f1cb01454f85c2fd351537ff431 100644 --- a/FSL/src/configregions.h +++ b/FSL/src/configregions.h @@ -3,7 +3,7 @@ #include <QDialog> #include <QDoubleValidator> - +#include <QLocale> namespace Ui { class ConfigRegions; @@ -23,6 +23,8 @@ public: double positron_cut; double gamma_cut; void add_region_config(); + QLocale loc; + bool loc_bool; signals: void send_config(std::string region_name, std::string frootLV_names diff --git a/FSL/src/fsl_mainwindow.cpp b/FSL/src/fsl_mainwindow.cpp index 84d39e434bf3e4ab820748055423b61fa3a6bf95..6712eb0ee6d52292678a1325b1f7b0c06520c48a 100644 --- a/FSL/src/fsl_mainwindow.cpp +++ b/FSL/src/fsl_mainwindow.cpp @@ -129,7 +129,7 @@ FSLMainWindow::FSLMainWindow(QWidget *parent) p_z_validator = new QDoubleValidator(-100000.0,100000.0,8); mag_field_validator = new QDoubleValidator(-100000.0,100000.0,8); - QLocale lo(QLocale::C); + lo = QLocale::C; lo.setNumberOptions(QLocale::RejectGroupSeparator); p_x_validator->setLocale(lo); @@ -420,10 +420,10 @@ void FSLMainWindow::configure_regions() std::vector<std::string> froot_names = this->parse_froot_string(((ui->regions_table->model() ->index(row,1)).data().toString()).toStdString()); - double ele_cut = (ui->regions_table->model()->index(row,2)).data().toDouble(); - double prot_cut = (ui->regions_table->model()->index(row,3)).data().toDouble(); - double posit_cut = (ui->regions_table->model()->index(row,4)).data().toDouble(); - double gam_cut = (ui->regions_table->model()->index(row,5)).data().toDouble(); + double ele_cut = lo.toDouble((ui->regions_table->model()->index(row,2)).data().toString(), &locale_bool); + double prot_cut = lo.toDouble((ui->regions_table->model()->index(row,3)).data().toString(), &locale_bool); + double posit_cut = lo.toDouble((ui->regions_table->model()->index(row,4)).data().toString(), &locale_bool); + double gam_cut = lo.toDouble((ui->regions_table->model()->index(row,5)).data().toString(), &locale_bool); Region region_from_list = {reg_name, froot_names, ele_cut,prot_cut,posit_cut,gam_cut}; regions.push_back(region_from_list); @@ -688,9 +688,9 @@ void FSLMainWindow::assign_magnetic_field_map() //Function to configure particle energy and direction void FSLMainWindow::configure_energy_direction() { - p_x = ui->lE_px->text().toDouble(); - p_y = ui->lE_py->text().toDouble(); - p_z = ui->lE_pz->text().toDouble(); + p_x = lo.toDouble(ui->lE_px->text(), &locale_bool); + p_y = lo.toDouble(ui->lE_py->text(), &locale_bool); + p_z = lo.toDouble(ui->lE_pz->text(), &locale_bool); double p = sqrt(pow(p_x,2)+pow(p_y,2)+pow(p_z,2)); x_dir = std::to_string(p_x/p); diff --git a/FSL/src/fsl_mainwindow.h b/FSL/src/fsl_mainwindow.h index cc0b284ef226b2e29bb4ffa37fd8787d3e177afd..3b12f85b735cc6c12bb07a45913dcd1539574a4a 100644 --- a/FSL/src/fsl_mainwindow.h +++ b/FSL/src/fsl_mainwindow.h @@ -5,6 +5,7 @@ #include <nlohmann/json.hpp> #include <QStringListModel> #include <QProcess> +#include <QLocale> #include <QStandardItemModel> #include <QDoubleValidator> #include "configregions.h" @@ -52,6 +53,8 @@ public: //Parameters associated with the main tab + QLocale lo; + bool locale_bool; nlohmann::json j; QProcess fullSimLight_process; QProcess gmex_process;