Skip to content
Snippets Groups Projects
Commit 2f7ee5d5 authored by Matthias Puchner's avatar Matthias Puchner
Browse files

add settings for default unit (angstrom/nanometer)

parent ae7af93b
No related branches found
No related tags found
1 merge request!415Unit handling in layer oriented sample editor
......@@ -25,6 +25,7 @@ const QString S_POS = "Pos";
const QString S_DEFAULT_FUNCTIONALITIES = "DefaultFunctionalities";
const QString S_SINGLE_INSTRUMENT_MODE = "SingleInstrumentMode";
const QString S_SINGLE_SAMPLE_MODE = "SingleSampleMode";
const QString S_DEFAULT_UNIT_IS_ANGSTROM = "DefaultUnitIsAngstrom";
} // namespace
bool ApplicationSettings::useNativeFileDialog() const
......@@ -86,6 +87,16 @@ void ApplicationSettings::setDefaultIsSingleSampleMode(bool b)
QSettings().setValue(S_SINGLE_SAMPLE_MODE, b);
}
bool ApplicationSettings::defaultUnitIsAngstrom() const
{
return QSettings().value(S_DEFAULT_UNIT_IS_ANGSTROM, false).toBool();
}
void ApplicationSettings::setDefaultUnitIsAngstrom(bool b) const
{
QSettings().setValue(S_DEFAULT_UNIT_IS_ANGSTROM, b);
}
void ApplicationSettings::saveWindowSizeAndPos(const QWidget* w)
{
ASSERT(!w->objectName().isEmpty());
......
......@@ -41,6 +41,9 @@ public:
bool defaultIsSingleSampleMode() const;
void setDefaultIsSingleSampleMode(bool b);
bool defaultUnitIsAngstrom() const;
void setDefaultUnitIsAngstrom(bool b) const;
void saveWindowSizeAndPos(const QWidget* w);
void loadWindowSizeAndPos(QWidget* w);
};
......
......@@ -254,6 +254,20 @@ void ActionManager::onAboutToShowSettingsMenu()
m_settingsMenu->addSeparator();
QActionGroup* unitActions = new QActionGroup(this);
const auto addUnitAction = [=](const QString& text, bool isAngstrom) {
auto action = m_settingsMenu->addAction(
text, [=]() { baApp->settings().setDefaultUnitIsAngstrom(isAngstrom); });
action->setCheckable(true);
action->setChecked(baApp->settings().defaultUnitIsAngstrom() == isAngstrom);
unitActions->addAction(action);
};
addUnitAction("Use nanometer as default unit", false);
addUnitAction("Use \303\205ngstrom as default unit", true);
m_settingsMenu->addSeparator();
QActionGroup* styleActions = new QActionGroup(this);
const auto addStyleAction = [=](const QString& text, ApplicationSettings::Style style) {
auto action = m_settingsMenu->addAction(text, [=]() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment