+++ /dev/null
-#include <iostream>
-
-#include <QDebug>
-
-#include <qregexp.h>
-#include "settings.h"
-#include "file.h"
-
-/////////////////////////////////////////////////////////////////
-// SimpleSettings
-/////////////////////////////////////////////////////////////////
-SimpleSettings::SimpleSettings()
-{
- clear();
-}
-
-SimpleSettings::~SimpleSettings()
-{
-}
-
-void SimpleSettings::clear()
-{
- keylist.clear();
- valuelist.clear();
-}
-
-bool SimpleSettings::readSettings (const QString &path)
-{
- QString s;
- if (!loadStringFromDisk(path,s))
- {
- qWarning ()<<"SimpleSettings::readSettings() Couldn't read "+path;
- return false;
- }
- QStringList lines;
- lines=s.split (QRegExp("\n"));
- int i;
- QStringList::Iterator it=lines.begin();
- while (it !=lines.end() )
- {
- i=(*it).indexOf("=",0);
- keylist.append((*it).left(i));
- valuelist.append((*it).right((*it).length()-i-1));
- it++;
- }
- return true;
-}
-
-void SimpleSettings::writeSettings (const QString &path)
-{
- QString s;
- QStringList::Iterator itk=keylist.begin();
- QStringList::Iterator itv=valuelist.begin();
-
- // First search for value in settings saved in map
- while (itk !=keylist.end() )
- {
- s+=*itk+"="+*itv+"\n";
- itk++;
- itv++;
- }
- if (!saveStringToDisk(path,s))
- qWarning ()<<"SimpleSettings::writeSettings() Couldn't write "+path;
-}
-
-/*
-QString SimpleSettings::readValue (const QString &key)
-{
- QStringList::Iterator itk=keylist.begin();
- QStringList::Iterator itv=valuelist.begin();
-
- // First search for value in settings saved in map
- while (itk !=keylist.end() )
- {
- if (*itk == key)
- return *itv;
- itk++;
- itv++;
- }
- qWarning ("SimpleSettings::readValue() Couldn't find key "+key);
- return "";
-}
-*/
-
-QString SimpleSettings::value (const QString &key, const QString &def)
-{
- QStringList::Iterator itk=keylist.begin();
- QStringList::Iterator itv=valuelist.begin();
-
- // First search for value in settings saved in map
- while (itk !=keylist.end() )
- {
- if (*itk == key)
- return *itv;
- itk++;
- itv++;
- }
- return def;
-}
-
-int SimpleSettings::readNumValue (const QString &key, const int &def)
-{
- QStringList::Iterator itk=keylist.begin();
- QStringList::Iterator itv=valuelist.begin();
-
- // First search for value in settings saved in map
- while (itk !=keylist.end() )
- {
- if (*itk == key)
- {
- bool ok;
- int i=(*itv).toInt(&ok,10);
- if (ok)
- return i;
- else
- return def;
- }
- itk++;
- itv++;
- }
- return def;
-}
-
-void SimpleSettings::setValue (const QString &key, const QString &value)
-{
- QStringList::Iterator itk=keylist.begin();
- QStringList::Iterator itv=valuelist.begin();
-
- if (!key.isEmpty() )
- {
- // Search for existing Value first
- while (itk !=keylist.end() )
- {
- if (*itk == key)
- {
- if (!value.isEmpty())
- *itv=value;
- else
- *itv="";
- *itv=value;
- return;
- }
- itk++;
- itv++;
- }
-
- // If no Value exists, append a new one
- keylist.append (key);
- valuelist.append (value);
- }
-}
-
-
-
-/////////////////////////////////////////////////////////////////
-// Settings
-/////////////////////////////////////////////////////////////////
-Settings::Settings()
-{
- clear();
-}
-
-Settings::Settings(const QString & organization, const QString & application )
- :QSettings (organization, application)
-{
- clear();
-}
-
-Settings::~Settings()
-{
-}
-
-void Settings::clear()
-{
- pathlist.clear();
- keylist.clear();
- valuelist.clear();
-}
-
-void Settings::clearLocal(const QString &fpath, const QString &key)
-{
- int i=0;
- while (i<pathlist.count() )
- {
- if (fpath == pathlist.at(i) && keylist.at(i).startsWith (key))
- {
- pathlist.removeAt(i);
- keylist.removeAt(i);
- valuelist.removeAt(i);
- } else
- i++;
- }
-}
-
-QVariant Settings::localValue ( const QString &fpath, const QString & key, QVariant def)
-{
- // First search for value in settings saved in map
- int i=0;
- while (i<pathlist.count() )
- {
- if (pathlist.at(i) == fpath && keylist.at(i) == key)
- return valuelist.at(i);
- i++;
- }
-
- // Fall back to global vym settings
- return value (key,def);
-}
-
-void Settings::setLocalValue (const QString &fpath, const QString &key, QVariant value)
-{
- if (!fpath.isEmpty() && !key.isEmpty() && !value.isNull() )
- {
- // Search for existing Value first
- int i=0;
- while (i<pathlist.count())
- {
- if (pathlist.at(i) == fpath && keylist.at(i) == key)
- {
- valuelist[i]=value;
- return;
- }
- i++;
- }
-
- // If no Value exists, append a new one
- pathlist.append (fpath);
- keylist.append (key);
- valuelist.append (value);
- }
-}
-
-QString Settings::getDataXML (const QString &fpath)
-{
- QString s;
- int i=0;
- while (i<pathlist.count())
- {
- if (pathlist.at(i)==fpath)
- if (!valuelist.at(i).isNull())
- s += valueElement (
- "setting",
- getCDATA( valuelist.at(i).toString() ),
- attribut ("key",keylist.at(i))
- );
- i++;
- }
- return s;
-}
-