diff --git a/src/settings.cpp b/src/settings.cpp
index 3526c87..b214297 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -1,237 +1,234 @@
 /*
     SPDX-FileCopyrightText: 2014-2023 Anne Jan Brouwer <brouwer@annejan.com>
     SPDX-FileCopyrightText: 2018 Lukas Vogel <lukedirtwalker@gmail.com>
     SPDX-FileCopyrightText: 2018 Claudio Maradonna <penguyman@stronzi.org>
     SPDX-FileCopyrightText: 2022 Tobias Leupold <tl@l3u.de>
     SPDX-FileCopyrightText: 2023 g10 Code GmbH
     SPDX-FileContributor: Sune Stolborg Vuorela <sune@vuorela.dk>
 
     SPDX-License-Identifier: GPL-3.0-or-later
 */
 #include "settings.h"
 
 #include <QCoreApplication>
 #include <QDir>
 #include <QFile>
 #include <QString>
 
 /*!
     \class SettingsConstants
     \brief Table for the naming of configuration items
 */
 namespace SettingsConstants
 {
-const QString version = QStringLiteral("version");
-const QString useAutoclear = QStringLiteral("useAutoclear");
-const QString autoclearSeconds = QStringLiteral("autoclearSeconds");
-const QString useAutoclearPanel = QStringLiteral("useAutoclearPanel");
-const QString autoclearPanelSeconds = QStringLiteral("autoclearPanelSeconds");
-const QString displayAsIs = QStringLiteral("displayAsIs");
-const QString noLineWrapping = QStringLiteral("noLineWrapping");
-const QString passStore = QStringLiteral("passStore");
-const QString profile = QStringLiteral("profile");
-const QString groupProfiles = QStringLiteral("profiles");
-const QString avoidCapitals = QStringLiteral("avoidCapitals");
-const QString avoidNumbers = QStringLiteral("avoidNumbers");
-const QString passwordLength = QStringLiteral("passwordLength");
-const QString passwordCharsselection = QStringLiteral("passwordCharsselection");
-const QString passTemplate = QStringLiteral("passTemplate");
-const QString useTemplate = QStringLiteral("useTemplate");
-const QString templateAllFields = QStringLiteral("templateAllFields");
+constexpr QLatin1StringView version("version");
+constexpr QLatin1StringView useAutoclear("useAutoclear");
+constexpr QLatin1StringView autoclearSeconds("autoclearSeconds");
+constexpr QLatin1StringView useAutoclearPanel("useAutoclearPanel");
+constexpr QLatin1StringView autoclearPanelSeconds("autoclearPanelSeconds");
+constexpr QLatin1StringView displayAsIs("displayAsIs");
+constexpr QLatin1StringView noLineWrapping("noLineWrapping");
+constexpr QLatin1StringView passStore("passStore");
+constexpr QLatin1StringView profile("profile");
+constexpr QLatin1StringView passwordLength("passwordLength");
+constexpr QLatin1StringView passwordCharsselection("passwordCharsselection");
+constexpr QLatin1StringView passTemplate("passTemplate");
+constexpr QLatin1StringView useTemplate("useTemplate");
+constexpr QLatin1StringView templateAllFields("templateAllFields");
 };
 
 bool Settings::initialized = false;
 
 Settings *Settings::m_instance = nullptr;
 Settings *Settings::getInstance()
 {
     if (!Settings::initialized) {
         QString portable_ini = QCoreApplication::applicationDirPath() + QStringLiteral("/gnupgpass.ini");
         if (QFile(portable_ini).exists()) {
             m_instance = new Settings(portable_ini, QSettings::IniFormat);
         } else {
             m_instance = new Settings();
         }
 
         initialized = true;
     }
 
     return m_instance;
 }
 
 PasswordConfiguration Settings::getPasswordConfiguration()
 {
     PasswordConfiguration config;
 
     config.length = getInstance()->value(SettingsConstants::passwordLength, 0).toInt();
     config.selected = static_cast<PasswordConfiguration::characterSet>(getInstance()->value(SettingsConstants::passwordCharsselection, 0).toInt());
 
     return config;
 }
 
 void Settings::setPasswordConfiguration(const PasswordConfiguration &config)
 {
     getInstance()->setValue(SettingsConstants::passwordLength, config.length);
     getInstance()->setValue(SettingsConstants::passwordCharsselection, config.selected);
 }
 
 QHash<QString, QString> Settings::getProfiles()
 {
     getInstance()->beginGroup(SettingsConstants::profile);
 
     const QStringList childrenKeys = getInstance()->childKeys();
     QHash<QString, QString> profiles;
     for (const QString &key : childrenKeys) {
         profiles.insert(key, getInstance()->value(key).toString());
     }
 
     getInstance()->endGroup();
 
     return profiles;
 }
 
 void Settings::setProfiles(const QHash<QString, QString> &profiles)
 {
     getInstance()->remove(SettingsConstants::profile);
     getInstance()->beginGroup(SettingsConstants::profile);
 
     QHash<QString, QString>::const_iterator i = profiles.begin();
     for (; i != profiles.end(); ++i) {
         getInstance()->setValue(i.key(), i.value());
     }
 
     getInstance()->endGroup();
 }
 
 QString Settings::getVersion(const QString &defaultValue)
 {
     return getInstance()->value(SettingsConstants::version, defaultValue).toString();
 }
 void Settings::setVersion(const QString &version)
 {
     getInstance()->setValue(SettingsConstants::version, version);
 }
 
 bool Settings::isUseAutoclear(const bool &defaultValue)
 {
     return getInstance()->value(SettingsConstants::useAutoclear, defaultValue).toBool();
 }
 void Settings::setUseAutoclear(const bool &useAutoclear)
 {
     getInstance()->setValue(SettingsConstants::useAutoclear, useAutoclear);
 }
 
 int Settings::getAutoclearSeconds(const int &defaultValue)
 {
     return getInstance()->value(SettingsConstants::autoclearSeconds, defaultValue).toInt();
 }
 void Settings::setAutoclearSeconds(const int &autoClearSeconds)
 {
     getInstance()->setValue(SettingsConstants::autoclearSeconds, autoClearSeconds);
 }
 
 bool Settings::isUseAutoclearPanel(const bool &defaultValue)
 {
     return getInstance()->value(SettingsConstants::useAutoclearPanel, defaultValue).toBool();
 }
 void Settings::setUseAutoclearPanel(const bool &useAutoclearPanel)
 {
     getInstance()->setValue(SettingsConstants::useAutoclearPanel, useAutoclearPanel);
 }
 
 int Settings::getAutoclearPanelSeconds(const int &defaultValue)
 {
     return getInstance()->value(SettingsConstants::autoclearPanelSeconds, defaultValue).toInt();
 }
 void Settings::setAutoclearPanelSeconds(const int &autoClearPanelSeconds)
 {
     getInstance()->setValue(SettingsConstants::autoclearPanelSeconds, autoClearPanelSeconds);
 }
 
 bool Settings::isDisplayAsIs(const bool &defaultValue)
 {
     return getInstance()->value(SettingsConstants::displayAsIs, defaultValue).toBool();
 }
 void Settings::setDisplayAsIs(const bool &displayAsIs)
 {
     getInstance()->setValue(SettingsConstants::displayAsIs, displayAsIs);
 }
 
 bool Settings::isNoLineWrapping(const bool &defaultValue)
 {
     return getInstance()->value(SettingsConstants::noLineWrapping, defaultValue).toBool();
 }
 void Settings::setNoLineWrapping(const bool &noLineWrapping)
 {
     getInstance()->setValue(SettingsConstants::noLineWrapping, noLineWrapping);
 }
 
 QString Settings::getPassStore(const QString &defaultValue)
 {
     QString returnValue = getInstance()->value(SettingsConstants::passStore, defaultValue).toString();
 
     // Normalize the path string
     returnValue = QDir(returnValue).absolutePath();
 
     // ensure directory exists if never used pass or misconfigured.
     // otherwise process->setWorkingDirectory(passStore); will fail on execution.
     if (!QDir(returnValue).exists()) {
         QDir().mkdir(returnValue);
     }
 
     // ensure path ends in /
     if (!returnValue.endsWith(QLatin1Char('/'))) {
         returnValue += QLatin1Char('/');
     }
 
     return returnValue;
 }
 void Settings::setPassStore(const QString &passStore)
 {
     getInstance()->setValue(SettingsConstants::passStore, passStore);
 }
 
 QString Settings::getProfile(const QString &defaultValue)
 {
     return getInstance()->value(SettingsConstants::profile, defaultValue).toString();
 }
 void Settings::setProfile(const QString &profile)
 {
     getInstance()->setValue(SettingsConstants::profile, profile);
 }
 
 void Settings::setPasswordLength(const int &passwordLength)
 {
     getInstance()->setValue(SettingsConstants::passwordLength, passwordLength);
 }
 void Settings::setPasswordCharsselection(const int &passwordCharsselection)
 {
     getInstance()->setValue(SettingsConstants::passwordCharsselection, passwordCharsselection);
 }
 
 QString Settings::getPassTemplate(const QString &defaultValue)
 {
     return getInstance()->value(SettingsConstants::passTemplate, defaultValue).toString();
 }
 void Settings::setPassTemplate(const QString &passTemplate)
 {
     getInstance()->setValue(SettingsConstants::passTemplate, passTemplate);
 }
 
 bool Settings::isUseTemplate(const bool &defaultValue)
 {
     return getInstance()->value(SettingsConstants::useTemplate, defaultValue).toBool();
 }
 void Settings::setUseTemplate(const bool &useTemplate)
 {
     getInstance()->setValue(SettingsConstants::useTemplate, useTemplate);
 }
 
 bool Settings::isTemplateAllFields(const bool &defaultValue)
 {
     return getInstance()->value(SettingsConstants::templateAllFields, defaultValue).toBool();
 }
 void Settings::setTemplateAllFields(const bool &templateAllFields)
 {
     getInstance()->setValue(SettingsConstants::templateAllFields, templateAllFields);
 }