summaryrefslogtreecommitdiffstats
path: root/kscreensaver/kxsconfig/kxsxml.h
diff options
context:
space:
mode:
Diffstat (limited to 'kscreensaver/kxsconfig/kxsxml.h')
-rw-r--r--kscreensaver/kxsconfig/kxsxml.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/kscreensaver/kxsconfig/kxsxml.h b/kscreensaver/kxsconfig/kxsxml.h
new file mode 100644
index 00000000..922ad93e
--- /dev/null
+++ b/kscreensaver/kxsconfig/kxsxml.h
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 2002
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation;
+// version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef KXSXML_H
+#define KXSXML_H
+
+#include "kxsconfig.h"
+#include <qxml.h>
+#include <qptrstack.h>
+
+class KXSXmlHandler;
+
+class KXSXml
+{
+public:
+ KXSXml( QWidget *p );
+
+ bool parse( const QString &filename );
+ const QPtrList<KXSConfigItem> *items() const;
+ QString description() const;
+
+private:
+ QWidget *parent;
+ KXSXmlHandler *handler;
+};
+
+class KXSXmlHandler : public QXmlDefaultHandler
+{
+public:
+ KXSXmlHandler( QWidget *p );
+
+ bool startDocument();
+ bool startElement( const QString&, const QString&, const QString& ,
+ const QXmlAttributes& );
+ bool endElement( const QString&, const QString&, const QString& );
+ bool characters( const QString & );
+
+ const QPtrList<KXSConfigItem> *items() const { return &mConfigItemList; }
+ const QString &description() const { return desc; }
+
+private:
+ QWidget *parent;
+ KXSSelectItem *selItem;
+ bool inDesc;
+ QString desc;
+ QPtrList<KXSConfigItem> mConfigItemList;
+ QPtrStack<QWidget> mParentStack;
+};
+
+#endif // KXSXML_H
+