[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.4/kdebase/workspace/plasma/desktop/shell/scripting
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2010-01-18 21:12:59
Message-ID: 1263849179.136294.4790.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1076772 by aseigo:
* ensure we have a valid KConfigGroup before using it
* allow accessing sub groups
* turn setConfigGroup into a property, which is more in line with the js api style
M +32 -9 widget.cpp
M +5 -1 widget.h
--- branches/KDE/4.4/kdebase/workspace/plasma/desktop/shell/scripting/widget.cpp #1076771:1076772
@@ -28,7 +28,7 @@
Widget::Widget(Plasma::Applet *applet, QObject *parent)
: QObject(parent),
m_applet(applet),
- m_configGroup(applet->config()),
+ m_configGroup(applet ? applet->config() : KConfigGroup()),
m_configDirty(false)
{
@@ -68,37 +68,60 @@
}
}
-void Widget::setConfigGroup(const QString &config)
+void Widget::setCurrentConfigGroup(const QStringList &groupNames)
{
if (!m_applet) {
+ m_configGroup = KConfigGroup();
+ m_configGroupPath.clear();
return;
}
m_configGroup = m_applet.data()->config();
- if (!config.isEmpty()) {
- m_configGroup = KConfigGroup(&m_configGroup, config);
+ m_configGroupPath = groupNames;
+
+ foreach (const QString &groupName, groupNames) {
+ m_configGroup = KConfigGroup(&m_configGroup, groupName);
}
}
+QStringList Widget::currentConfigGroup() const
+{
+ return m_configGroupPath;
+}
+
QStringList Widget::configKeys() const
{
- return m_configGroup.keyList();
+ if (m_configGroup.isValid()) {
+ return m_configGroup.keyList();
+ }
+
+ return QStringList();
}
QStringList Widget::configGroups() const
{
- return m_configGroup.groupList();
+ if (m_configGroup.isValid()) {
+ return m_configGroup.groupList();
+ }
+
+ return QStringList();
}
QVariant Widget::readConfig(const QString &key, const QVariant &def) const
{
- return m_configGroup.readEntry(key, def);
+ if (m_configGroup.isValid()) {
+ return m_configGroup.readEntry(key, def);
+ } else {
+ return QVariant();
+ }
}
void Widget::writeConfig(const QString &key, const QVariant &value)
{
- m_configGroup.writeEntry(key, value);
- m_configDirty = true;
+ if (m_configGroup.isValid()) {
+ m_configGroup.writeEntry(key, value);
+ m_configDirty = true;
+ }
}
Plasma::Applet *Widget::applet() const
--- branches/KDE/4.4/kdebase/workspace/plasma/desktop/shell/scripting/widget.h #1076771:1076772
@@ -39,6 +39,7 @@
Q_PROPERTY(QStringList configGroups READ configGroups)
Q_PROPERTY(int index WRITE setIndex READ index)
Q_PROPERTY(QRectF geometry WRITE setGeometry READ geometry)
+ Q_PROPERTY(QStringList currentConfigGroup WRITE setCurrentConfigGroup READ currentConfigGroup)
public:
@@ -59,9 +60,11 @@
QRectF geometry() const;
void setGeometry(const QRectF &geometry);
+ void setCurrentConfigGroup(const QStringList &groupNames);
+ QStringList currentConfigGroup() const;
+
public Q_SLOTS:
void remove();
- void setConfigGroup(const QString &config);
QVariant readConfig(const QString &key, const QVariant &def = QString()) const;
void writeConfig(const QString &key, const QVariant &value);
void showConfigurationInterface();
@@ -69,6 +72,7 @@
private:
QWeakPointer<Plasma::Applet> m_applet;
KConfigGroup m_configGroup;
+ QStringList m_configGroupPath;
bool m_configDirty;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic