diff options
Diffstat (limited to 'tools/kfile-plugins/ooo/kfile_ooo.h')
-rw-r--r-- | tools/kfile-plugins/ooo/kfile_ooo.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tools/kfile-plugins/ooo/kfile_ooo.h b/tools/kfile-plugins/ooo/kfile_ooo.h new file mode 100644 index 00000000..11bff4ac --- /dev/null +++ b/tools/kfile-plugins/ooo/kfile_ooo.h @@ -0,0 +1,77 @@ +/* This file is part of the KDE project + * Copyright (C) 2003 Pierre Souchay <pierre@souchay.net> + * + * 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. + * + * 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 __KFILE_OOO_H__ +#define __KFILE_OOO_H__ + +#include <kfilemetainfo.h> +#include <qiodevice.h> +#include <qdom.h> +#include <karchive.h> +class QStringList; +class QDomNode; +class QDomElement; + +class KOfficePlugin: public KFilePlugin +{ + Q_OBJECT + +public: + /** + * Constructor */ + KOfficePlugin( QObject *parent, const char *name, const QStringList& args ); + /** + * Read informations from files and store info in KFileMetaInfo. + * We currently only parse meta.xml in OOo files. + * @param info informations to modify about current file + * @param what What kind of parsing is needed ? + */ + virtual bool readInfo( KFileMetaInfo& info, uint what); + /** + * Write modified informations in meta.xml + * @param info Informations modified + */ + virtual bool writeInfo( const KFileMetaInfo& info) const; + /** + * We need a validator, for the langage + */ + virtual QValidator* createValidator( const QString& mimetype, + const QString &group, + const QString &key, + QObject* parent, + const char* name) const; +private: + bool writeTextNode(QDomDocument & doc, + QDomNode & parentNode, + const QString &nodeName, + const QString &value) const; + KFileMimeTypeInfo::GroupInfo* userdefined; + void addAttributeInfo(const QDomElement & elem, KFileMetaInfoGroup & group, + const QString &attributeName); + QIODevice* getData(KArchive &m_zip, int fileMode) const; + bool writeMetaData(const QString & path, const QDomDocument &doc) const; + QDomDocument getMetaDocument(const QString &path) const; + QDomNode getBaseNode(const QDomDocument &doc) const; + void makeMimeTypeInfo(const QString& mimeType); + QString stringFromNode(const QDomNode &node, const QString &name); + void getEditingTime(KFileMetaInfoGroup group1, const char *, QString & txt); + void getDateTime(KFileMetaInfoGroup group1, const char *, QString & txt); +}; + +#endif |