#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