diff --git a/Device/IO/ImportSettings.h b/Device/IO/ImportSettings.h index 33ae5a14c76748bc81a0aa6bb824efda2d6a9baa..35081e98bdbecbea8f3e09fa3b4592a4d5349a7b 100644 --- a/Device/IO/ImportSettings.h +++ b/Device/IO/ImportSettings.h @@ -17,6 +17,8 @@ #include <string> +enum QUnit { over_nm, over_angstrom }; + //! This parameterization can be set interactively by GUI users. //! Therefore, exceptionally, indices are counting from 1, not from 0. @@ -29,7 +31,7 @@ struct ImportSettings1D { size_t col_sR; //!< column number of sigma R, or 0 size_t col_dQ; //!< column number of delta Q, or 0 size_t col_lambda; //!< column number of wavelength, or 0 - + QUnit qUnit {over_nm}; // bool operator!=(const ImportSettings& other) const; // QByteArray serialize() const; // void deserialize(const QByteArray& data); diff --git a/GUI/View/Import/Legacy1dDialog.cpp b/GUI/View/Import/Legacy1dDialog.cpp index 9bd5d51af23e3fc10358f5a29d5d7c8c188b5437..a26865edf669db62d6a47bf710fed0f203266d7f 100644 --- a/GUI/View/Import/Legacy1dDialog.cpp +++ b/GUI/View/Import/Legacy1dDialog.cpp @@ -13,7 +13,6 @@ // ************************************************************************************************ #include "GUI/View/Import/Legacy1dDialog.h" -#include "Device/IO/ImportSettings.h" #include <QCheckBox> #include <QComboBox> #include <QFormLayout> @@ -26,6 +25,8 @@ #include <QVBoxLayout> #include <QtGui> +ImportSettings1D Legacy1dDialog::Msettings = legacy1D_3cols; + Legacy1dDialog::Legacy1dDialog() : m_allowFactors(false) { @@ -57,34 +58,46 @@ Legacy1dDialog::Legacy1dDialog() auto form211 = new QFormLayout; w21->setLayout(form211); - m_separatorCombo = new QComboBox; - form211->addRow("Separator:", m_separatorCombo); - m_separatorCombo->addItem("TAB"); - m_separatorCombo->addItem("SPACE"); - m_separatorCombo->addItem(","); - m_separatorCombo->addItem(";"); - m_linesToSkipEdit = new QLineEdit; - m_linesToSkipEdit->setPlaceholderText("Example: 1-5, 12"); form211->addRow("Ignore line numbers:", m_linesToSkipEdit); + if (Msettings.linesToSkip.empty()) + m_linesToSkipEdit->setPlaceholderText("Example: 1-5, 12"); + else + m_linesToSkipEdit->setText(QString::fromStdString(Msettings.linesToSkip)); + connect(m_linesToSkipEdit, &QLineEdit::textEdited, + [&p = Msettings](const QString& text) { p.linesToSkip = text.toStdString(); }); m_headerPrefixEdit = new QLineEdit; - m_headerPrefixEdit->setPlaceholderText("#,//"); form211->addRow("Ignore lines starting with:", m_headerPrefixEdit); + if (Msettings.headerPrefix.empty()) + m_headerPrefixEdit->setPlaceholderText("#,//"); + else + m_headerPrefixEdit->setText(QString::fromStdString(Msettings.headerPrefix)); + connect(m_headerPrefixEdit, &QLineEdit::textEdited, + [&p = Msettings](const QString& text) { p.headerPrefix = text.toStdString(); }); + + m_separatorCombo = new QComboBox; + form211->addRow("Separator:", m_separatorCombo); + m_separatorCombo->addItem("SPACE"); + m_separatorCombo->addItem("TAB"); + m_separatorCombo->addItem(","); + m_separatorCombo->addItem(";"); + m_separatorCombo->setCurrentText(QString::fromStdString(Msettings.separator)); + connect(m_separatorCombo, &QComboBox::currentTextChanged, + [&p = Msettings](const QString& text) { p.separator = text.toStdString(); }); m_qUnitCombo = new QComboBox; form211->addRow("Q given in units of:", m_qUnitCombo); m_qUnitCombo->addItem("1/nm"); m_qUnitCombo->addItem("1/Ã…"); + m_qUnitCombo->setCurrentIndex((int)Msettings.qUnit); + connect(m_qUnitCombo, &QComboBox::currentIndexChanged, + [&p = Msettings](int i) { p.qUnit = (QUnit)i; }); auto buttonline = new QHBoxLayout; vbox->addLayout(buttonline); - auto cancelButton = new QPushButton("Cancel"); - buttonline->addWidget(cancelButton); - connect(cancelButton, &QPushButton::clicked, this, &Legacy1dDialog::reject); - - auto okButton = new QPushButton("Save"); + auto okButton = new QPushButton("OK"); buttonline->addWidget(okButton); okButton->setDefault(true); connect(okButton, &QPushButton::clicked, this, &Legacy1dDialog::accept); diff --git a/GUI/View/Import/Legacy1dDialog.h b/GUI/View/Import/Legacy1dDialog.h index 178555292a32846d841bd2793e23470e8450cd53..22caea41f13ac57f1ee09cf569709c72c38bfb59 100644 --- a/GUI/View/Import/Legacy1dDialog.h +++ b/GUI/View/Import/Legacy1dDialog.h @@ -15,6 +15,7 @@ #ifndef BORNAGAIN_GUI_VIEW_IMPORT_LEGACY1DDIALOG_H #define BORNAGAIN_GUI_VIEW_IMPORT_LEGACY1DDIALOG_H +#include "Device/IO/ImportSettings.h" #include <QDialog> //! Properties widget for the QREDataLoader @@ -56,6 +57,8 @@ private: static const int columnColumn = 3; static const int factorLabelColumn = 4; static const int factorColumn = factorLabelColumn + 1; + + static ImportSettings1D Msettings; }; #endif // BORNAGAIN_GUI_VIEW_IMPORT_LEGACY1DDIALOG_H