lib
KoDocumentInfo.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KO_DOCUMENT_INFO_H
00022 #define KO_DOCUMENT_INFO_H
00023
00024 #include <qobject.h>
00025 #include <qmap.h>
00026 #include <kconfig.h>
00027 #include <koffice_export.h>
00028
00029 class QString;
00030 class QStringList;
00031 class QDomDocument;
00032 class QDomElement;
00033 class QDomNode;
00034 class QDateTime;
00035 class KoStore;
00036 class KoDocumentInfoPage;
00037 class KoXmlWriter;
00038
00039 class KOFFICECORE_EXPORT KoDocumentInfo : public QObject
00040 {
00041 Q_OBJECT
00042 public:
00043 KoDocumentInfo( QObject* parent = 0, const char* name = 0 );
00044 virtual ~KoDocumentInfo();
00045
00046 bool load( const QDomDocument& doc );
00047 bool loadOasis( const QDomDocument& metaDoc );
00048
00049 QDomDocument save();
00050 bool saveOasis( KoStore* store );
00051
00056 QString title() const;
00057 QString creator() const;
00058
00059 KoDocumentInfoPage* page( const QString& name ) const;
00060 QStringList pages() const;
00061 void documentInfochanged() { emit sigDocumentInfoModifed();}
00062 signals:
00063 void sigDocumentInfoModifed();
00064 };
00065
00066 class KOFFICECORE_EXPORT KoDocumentInfoPage : public QObject
00067 {
00068 public:
00069 KoDocumentInfoPage( QObject *parent, const char* name );
00070
00071 virtual bool load( const QDomElement& e ) = 0;
00072 virtual QDomElement save( QDomDocument& doc ) = 0;
00073 virtual bool loadOasis( const QDomNode& metaDoc ) = 0;
00074 virtual bool saveOasis( KoXmlWriter &xmlWriter ) = 0;
00075 };
00076
00077 class KOFFICECORE_EXPORT KoDocumentInfoAuthor : public KoDocumentInfoPage
00078 {
00079 Q_OBJECT
00080 public:
00081 KoDocumentInfoAuthor( KoDocumentInfo* info );
00082 ~KoDocumentInfoAuthor();
00083
00084 virtual bool load( const QDomElement& e );
00085 virtual QDomElement save( QDomDocument& doc );
00086 virtual bool loadOasis( const QDomNode& metaDoc );
00087 virtual bool saveOasis( KoXmlWriter &xmlWriter );
00088
00089 QString fullName() const;
00090 QString initial() const;
00091 QString title() const;
00092 QString company() const;
00093 QString email() const;
00094 QString telephoneHome() const;
00095 QString telephoneWork() const;
00096 QString fax() const;
00097 QString country() const;
00098 QString postalCode() const;
00099 QString city() const;
00100 QString street() const;
00101 QString position() const;
00102
00103 void setFullName( const QString& n );
00104 void setTitle( const QString& n );
00105 void setCompany( const QString& n );
00106 void setEmail( const QString& n );
00107 void setTelephoneHome( const QString& n );
00108 void setTelephoneWork( const QString& n );
00109 void setFax( const QString& n );
00110 void setCountry( const QString& n );
00111 void setPostalCode( const QString& n );
00112 void setCity( const QString& n );
00113 void setStreet( const QString& n );
00114 void setInitial( const QString& n );
00115 void setPosition( const QString& n );
00116 void initParameters();
00117
00118 private:
00119 QString m_fullName;
00120 QString m_title;
00121 QString m_company;
00122 QString m_email;
00123 QString m_telephoneHome;
00124 QString m_telephoneWork;
00125 QString m_fax;
00126 QString m_country;
00127 QString m_postalCode;
00128 QString m_city;
00129 QString m_street;
00130 QString m_initial;
00131 QString m_position;
00132 KConfig *m_emailCfg;
00133 };
00134
00135 class KOFFICECORE_EXPORT KoDocumentInfoAbout : public KoDocumentInfoPage
00136 {
00137 Q_OBJECT
00138 public:
00139 KoDocumentInfoAbout( KoDocumentInfo* info );
00140
00141 virtual bool load( const QDomElement& e );
00142 virtual QDomElement save( QDomDocument& doc );
00143 virtual bool loadOasis( const QDomNode& metaDoc );
00144 virtual bool saveOasis( KoXmlWriter &xmlWriter );
00145
00146 QString title() const;
00147 QString abstract() const;
00148 QString subject() const;
00149 QString keywords() const;
00150 QString initialCreator() const;
00151 QString editingCycles() const;
00152 QString creationDate() const;
00153 QString modificationDate() const;
00154
00155 void setKeywords( const QString &n );
00156 void setSubject( const QString& n );
00157
00158 void setTitle( const QString& n );
00159 void setAbstract( const QString& n );
00160 void saveParameters();
00161
00162 public slots:
00163 void resetMetaData();
00164
00165 private:
00166 KoDocumentInfo* m_docInfo;
00167 QString m_title;
00168 QString m_abstract;
00169 QString m_keywords;
00170 QString m_subject;
00171 QString m_initialCreator;
00172 QDateTime m_creationDate;
00173 QDateTime m_modificationDate;
00174 int m_editingCycles;
00175 bool m_firstSave;
00176 };
00177
00178 class KOFFICECORE_EXPORT KoDocumentInfoUserMetadata : public KoDocumentInfoPage
00179 {
00180 Q_OBJECT
00181 public:
00182 KoDocumentInfoUserMetadata( KoDocumentInfo* info );
00183
00184 virtual bool load( const QDomElement& e );
00185 virtual QDomElement save( QDomDocument& doc );
00186 virtual bool loadOasis( const QDomNode& metaDoc );
00187 virtual bool saveOasis( KoXmlWriter &xmlWriter );
00188
00189 QMap<QString, QString>* metadataList() { return &m_metaList; }
00190
00191 private:
00192 QMap<QString, QString> m_metaList;
00193 QStringList m_reserved;
00194 };
00195
00196 #endif
|