Note that the default location on Unix is now
~/.config/quassel-irc.org/quassel{core,client}.conf
This follows the XDG standard (Qt and, hence, Quassel honor XDG_CONFIG_HOME
as well; but not more sophisticated stuff like .config/user-dirs)
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifdef Q_WS_QWS
-#include <Qtopia>
-#endif
-
#include "settings.h"
QHash<QString, QHash<QString, QVariant> > Settings::settingsCache;
#include "settings.h"
QHash<QString, QHash<QString, QVariant> > Settings::settingsCache;
}
QStringList Settings::allLocalKeys() {
}
QStringList Settings::allLocalKeys() {
- QSettings s(org(), appName);
+ QSettings s(fileName(), format());
s.beginGroup(group);
QStringList res = s.allKeys();
s.endGroup();
s.beginGroup(group);
QStringList res = s.allKeys();
s.endGroup();
else
g = QString("%1/%2").arg(group, rootkey);
else
g = QString("%1/%2").arg(group, rootkey);
- QSettings s(org(), appName);
+ QSettings s(fileName(), format());
s.beginGroup(g);
QStringList res = s.childKeys();
s.endGroup();
s.beginGroup(g);
QStringList res = s.childKeys();
s.endGroup();
else
g = QString("%1/%2").arg(group, rootkey);
else
g = QString("%1/%2").arg(group, rootkey);
- QSettings s(org(), appName);
+ QSettings s(fileName(), format());
s.beginGroup(g);
QStringList res = s.childGroups();
s.endGroup();
s.beginGroup(g);
QStringList res = s.childGroups();
s.endGroup();
}
void Settings::setLocalValue(const QString &key, const QVariant &data) {
}
void Settings::setLocalValue(const QString &key, const QVariant &data) {
- QSettings s(org(), appName);
+ QSettings s(fileName(), format());
s.beginGroup(group);
s.setValue(key, data);
s.endGroup();
s.beginGroup(group);
s.setValue(key, data);
s.endGroup();
const QVariant &Settings::localValue(const QString &key, const QVariant &def) {
if(!isCached(group, key)) {
const QVariant &Settings::localValue(const QString &key, const QVariant &def) {
if(!isCached(group, key)) {
- QSettings s(org(), appName);
+ QSettings s(fileName(), format());
s.beginGroup(group);
setCacheValue(group, key, s.value(key, def));
s.endGroup();
s.beginGroup(group);
setCacheValue(group, key, s.value(key, def));
s.endGroup();
}
void Settings::removeLocalKey(const QString &key) {
}
void Settings::removeLocalKey(const QString &key) {
- QSettings s(org(), appName);
+ QSettings s(fileName(), format());
s.beginGroup(group);
s.remove(key);
s.endGroup();
s.beginGroup(group);
s.remove(key);
s.endGroup();
#include <QCoreApplication>
#include <QHash>
#include <QCoreApplication>
#include <QHash>
#include <QString>
#include <QVariant>
#include <QString>
#include <QVariant>
class SettingsChangeNotifier : public QObject {
Q_OBJECT
class SettingsChangeNotifier : public QObject {
Q_OBJECT
QString appName;
private:
QString appName;
private:
- inline QString org() {
-#ifdef Q_WS_MAC
- return QCoreApplication::organizationDomain();
+ inline QSettings::Format format() {
+#ifdef Q_WS_WIN
+ return QSettings::IniFormat;
- return QCoreApplication::organizationName();
+ return QSettings::NativeFormat;
+ inline QString fileName() {
+ return Quassel::configDirPath() + appName
+ + ((format() == QSettings::NativeFormat) ? QLatin1String(".conf") : QLatin1String(".ini"));
+ }
static QHash<QString, QHash<QString, QVariant> > settingsCache;
static QHash<QString, QHash<QString, SettingsChangeNotifier *> > settingsChangeNotifier;
static QHash<QString, QHash<QString, QVariant> > settingsCache;
static QHash<QString, QHash<QString, SettingsChangeNotifier *> > settingsChangeNotifier;