js8call/JS8_Include/SettingsGroup.h
2026-01-18 19:19:15 -06:00

29 lines
582 B
C++

#ifndef SETTINGS_GROUP_HPP_
#define SETTINGS_GROUP_HPP_
#include <QSettings>
#include <QString>
//
// Class SettingsGroup
//
// Simple RAII type class to apply a QSettings group witin a
// scope.
//
class SettingsGroup {
public:
SettingsGroup(QSettings *settings, QString const &group)
: settings_{settings} {
settings_->beginGroup(group);
}
SettingsGroup(SettingsGroup const &) = delete;
SettingsGroup &operator=(SettingsGroup const &) = delete;
~SettingsGroup() { settings_->endGroup(); }
private:
QSettings *settings_;
};
#endif