|
|
|
/*
|
|
|
|
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 <kconfigpropagator.h>
|
|
|
|
#include <tdepimmacros.h>
|
|
|
|
#include <kdialogbase.h>
|
|
|
|
|
|
|
|
class TQListView;
|
|
|
|
|
|
|
|
/**
|
|
|
|
@short Configuration wizard base class
|
|
|
|
*/
|
|
|
|
class KDE_EXPORT KConfigWizard : public KDialogBase
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
Create wizard. You have to set a propgator with setPropagator() later.
|
|
|
|
*/
|
|
|
|
KConfigWizard( TQWidget *parent = 0, char *name = 0, bool modal = false );
|
|
|
|
/**
|
|
|
|
Create wizard for given KConfigPropagator. The wizard takes ownership of
|
|
|
|
the propagator.
|
|
|
|
*/
|
|
|
|
KConfigWizard( KConfigPropagator *propagator, TQWidget *parent = 0,
|
|
|
|
char *name = 0, bool modal = false );
|
|
|
|
/**
|
|
|
|
Destructor.
|
|
|
|
*/
|
|
|
|
virtual ~KConfigWizard();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Set propagator the wizard operates on.
|
|
|
|
*/
|
|
|
|
void setPropagator( KConfigPropagator * );
|
|
|
|
/**
|
|
|
|
Return propagator the wizard operates on.
|
|
|
|
*/
|
|
|
|
KConfigPropagator *propagator() { return mPropagator; }
|
|
|
|
|
|
|
|
/**
|
|
|
|
Create wizard page with given title.
|
|
|
|
*/
|
|
|
|
TQFrame *createWizardPage( const TQString &title );
|
|
|
|
|
|
|
|
/**
|
|
|
|
Use this function to read the configuration from the KConfigSkeleton
|
|
|
|
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 KConfigSkeleton object here, so that the
|
|
|
|
KConfigPropagator 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:
|
|
|
|
KConfigPropagator *mPropagator;
|
|
|
|
|
|
|
|
TQListView *mRuleView;
|
|
|
|
TQListView *mChangeView;
|
|
|
|
|
|
|
|
TQWidget *mChangesPage;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|