diff options
Diffstat (limited to 'libtdepim/tdeconfigwizard.h')
-rw-r--r-- | libtdepim/tdeconfigwizard.h | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/libtdepim/tdeconfigwizard.h b/libtdepim/tdeconfigwizard.h new file mode 100644 index 000000000..7eaaeda95 --- /dev/null +++ b/libtdepim/tdeconfigwizard.h @@ -0,0 +1,110 @@ +/* + This file is part of libtdepim. + + Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> + + 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 KCONFIGWIZARD_H +#define KCONFIGWIZARD_H + +#include <tdeconfigpropagator.h> +#include <tdepimmacros.h> +#include <kdialogbase.h> + +class TQListView; + +/** + @short Configuration wizard base class +*/ +class KDE_EXPORT TDEConfigWizard : public KDialogBase +{ + Q_OBJECT + + public: + /** + Create wizard. You have to set a propgator with setPropagator() later. + */ + TDEConfigWizard( TQWidget *parent = 0, char *name = 0, bool modal = false ); + /** + Create wizard for given TDEConfigPropagator. The wizard takes ownership of + the propagator. + */ + TDEConfigWizard( TDEConfigPropagator *propagator, TQWidget *parent = 0, + char *name = 0, bool modal = false ); + /** + Destructor. + */ + virtual ~TDEConfigWizard(); + + /** + Set propagator the wizard operates on. + */ + void setPropagator( TDEConfigPropagator * ); + /** + Return propagator the wizard operates on. + */ + TDEConfigPropagator *propagator() { return mPropagator; } + + /** + Create wizard page with given title. + */ + TQFrame *createWizardPage( const TQString &title ); + + /** + Use this function to read the configuration from the TDEConfigSkeleton + object to the GUI. + */ + virtual void usrReadConfig() = 0; + + /** + This function is called when the wizard is finished. You have to save all + settings from the GUI to the TDEConfigSkeleton object here, so that the + TDEConfigPropagator can take them up from there. + */ + virtual void usrWriteConfig() = 0; + + /** + Validates the supplied data. Returns a appropiate error when some data + is invalid. Return TQString() if all data is valid. + */ + virtual TQString validate() { return TQString(); } + + protected slots: + void readConfig(); + + void slotOk(); + + void slotAboutToShowPage( TQWidget *page ); + + protected: + void init(); + + void setupRulesPage(); + void updateRules(); + void setupChangesPage(); + void updateChanges(); + + private: + TDEConfigPropagator *mPropagator; + + TQListView *mRuleView; + TQListView *mChangeView; + + TQWidget *mChangesPage; +}; + +#endif |