/***************************************************************************
- * Copyright (C) 2005-07 by the Quassel IRC Team *
+ * Copyright (C) 2005-08 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <QCoreApplication>
#include <QSettings>
#include <QStringList>
#include <QDebug>
#ifdef Q_WS_QWS
#include <Qtopia>
-#include <QCoreApplication>
#endif
#include "settings.h"
-Settings::Settings(QString g) : group(g) {
+Settings::Settings(QString g, QString applicationName)
+#ifdef Q_WS_MAC
+ : QSettings(QCoreApplication::organizationDomain(), applicationName),
+#else
+ : QSettings(QCoreApplication::organizationName(), applicationName),
+#endif
+ group(g)
+{
+
+/* we need to call the constructor immediately in order to set the path...
#ifndef Q_WS_QWS
- QSettings();
+ QSettings(QCoreApplication::organizationName(), applicationName);
#else
// FIXME sandboxDir() is not currently working correctly...
//if(Qtopia::sandboxDir().isEmpty()) QSettings();
QSettings(sandboxPath + "/etc/QuasselIRC.conf", QSettings::IniFormat);
qDebug() << sandboxPath + "/etc/QuasselIRC.conf";
} else {
- QSettings();
+ QSettings(QCoreApplication::organizationName(), applicationName);
}
#endif
+*/
}
Settings::~Settings() {
return res;
}
-QStringList Settings::localChildKeys() {
- beginGroup(group);
+QStringList Settings::localChildKeys(const QString &rootkey) {
+ QString g;
+ if(rootkey.isEmpty()) g = group;
+ else g = QString("%1/%2").arg(group, rootkey);
+ beginGroup(g);
QStringList res = childKeys();
endGroup();
return res;
}
-QStringList Settings::localChildGroups() {
- beginGroup(group);
+QStringList Settings::localChildGroups(const QString &rootkey) {
+ QString g;
+ if(rootkey.isEmpty()) g = group;
+ else g = QString("%1/%2").arg(group, rootkey);
+ beginGroup(g);
QStringList res = childGroups();
endGroup();
return res;