diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kword/KWMailMergeDataBase.h | |
download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kword/KWMailMergeDataBase.h')
-rw-r--r-- | kword/KWMailMergeDataBase.h | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/kword/KWMailMergeDataBase.h b/kword/KWMailMergeDataBase.h new file mode 100644 index 00000000..4b20e3e9 --- /dev/null +++ b/kword/KWMailMergeDataBase.h @@ -0,0 +1,164 @@ +/* This file is part of the KDE project + Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org> + + Modified by Joseph wenninger, 2001 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef mailmerge_h +#define mailmerge_h + +#include <kdialogbase.h> +#include <ktrader.h> + + +#include <qmap.h> +#include <qstring.h> +#include <qstringlist.h> +#include <qdom.h> +#include <qtextstream.h> + +#include "KWMailMergeDataSource.h" +#include "KWordMailMergeDatabaseIface.h" +#include <koffice_export.h> + +class QListBox; +class QPushButton; +class QLineEdit; +class QSpinBox; +class KWDocument; +class QVBox; + +//class KWMailMergeDataBase; + + + + +/****************************************************************** + * + * Class: KWMailMergeDataBase + * + ******************************************************************/ + +class KWORD_EXPORT KWMailMergeDataBase: public QObject,KWordMailMergeDatabaseIface +{ +Q_OBJECT + +public: + KWMailMergeDataBase( KWDocument *doc_ ); + void showConfigDialog(QWidget *); // Select datasource type and / or configure datasource + + QString getValue( const QString &name, int record = -1 ) const; //accesses the plugin + bool isSampleRecord(); + + const QMap< QString, QString > &getRecordEntries() const; //accesses the plugin + int getNumRecords() const; //accesses the plugin + + QDomElement save(QDomDocument &doc) const; // save some global config + plugin config + void load( const QDomElement& elem ); // save some global config + plugin config + + KWMailMergeDataSource *loadPlugin(const QString& name); + KWMailMergeDataSource *openPluginFor(int type,int &version); + + virtual void refresh(bool force); + virtual QStringList availablePlugins(); + virtual bool loadPlugin(const QString &name,const QString &command); + virtual bool isConfigDialogShown(); + + int version(); +private: + int m_version; +protected: + friend class KWMailMergeConfigDialog; + KWDocument *doc; + int action; + class KWMailMergeDataSource *plugin; + QMap<QString, QString> emptyMap; + bool askUserForConfirmationAndConfig(KWMailMergeDataSource *tmpPlugin,bool config,QWidget *par,int version); + bool rejectdcopcall; +}; + + +class KWMailMergeChoosePluginDialog : public KDialogBase +{ + Q_OBJECT + + public: + KWMailMergeChoosePluginDialog( KTrader::OfferList ); + ~KWMailMergeChoosePluginDialog(); + + int currentPlugin() const; + + private slots: + void pluginChanged( int pos ); + + private: + class QComboBox *chooser; + class QLabel *descriptionLabel; + KTrader::OfferList pluginOffers; +}; + +class KWMailMergeConfigDialog : public KDialogBase +{ + Q_OBJECT + +public: + KWMailMergeConfigDialog ( QWidget *parent, KWMailMergeDataBase *db ); + ~KWMailMergeConfigDialog(); +protected: + QPushButton *edit; + QPushButton *create; + QPushButton *open; + QPushButton *preview; + QPushButton *document; + KWMailMergeDataBase *db_; + void enableDisableEdit(); + void doNewActions(); + +protected slots: + void slotEditClicked(); + void slotCreateClicked(); + void slotOpenClicked(); + void slotPreviewClicked(); + void slotDocumentClicked(); +}; + +/****************************************************************** + * + * Class: KWMailMergeVariableInsertDia + * + ******************************************************************/ + +class KWMailMergeVariableInsertDia : public KDialogBase +{ + Q_OBJECT + + public: + KWMailMergeVariableInsertDia( QWidget *parent, KWMailMergeDataBase *db ); + QString getName() const; // ### unused, can we remove this? + + protected slots: + void slotSelectionChanged(); + + private: + KWMailMergeDataBase *m_db; + + protected: + QListBox *names; +}; + +#endif |