#include "help_common.h"
#include <configmanager.h>
#include <wx/intl.h>

using std::make_pair;

int HelpCommon::m_DefaultHelpIndex = -1;

void HelpCommon::LoadHelpFilesVector(HelpCommon::HelpFilesVector &vect)
{
  vect.clear();
  long cookie;
  wxString entry;
  wxConfigBase *conf = ConfigManager::Get();
  wxString oldPath = conf->GetPath();
  conf->SetPath(_T("/help_plugin"));
  bool cont = conf->GetFirstEntry(entry, cookie);

  while (cont)
  {
    if (entry == _T("default"))
    {
      m_DefaultHelpIndex = conf->Read(entry, -1);
    }
    else
    {
      wxString file = conf->Read(entry, wxEmptyString);

      if (!file.IsEmpty())
      {
        vect.push_back(make_pair(entry, file));
      }
    }

    cont = conf->GetNextEntry(entry, cookie);
  }

  conf->SetPath(oldPath);
}

void HelpCommon::SaveHelpFilesVector(HelpCommon::HelpFilesVector &vect)
{
  wxConfigBase *conf = ConfigManager::Get();
  conf->DeleteGroup(_T("/help_plugin"));
  wxString oldPath = conf->GetPath();
  conf->SetPath(_T("/help_plugin"));
  HelpFilesVector::iterator it;

  for (it = vect.begin(); it != vect.end(); ++it)
  {
    wxString file = it->second;

    if (!file.IsEmpty())
    {
      conf->Write(it->first, file);
    }
  }

  conf->Write(_T("default"), m_DefaultHelpIndex);
  conf->SetPath(oldPath);
}


syntax highlighted by Code2HTML, v. 0.9.1