summaryrefslogtreecommitdiffstats
path: root/libkdepim/kprefsdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'libkdepim/kprefsdialog.h')
-rw-r--r--libkdepim/kprefsdialog.h798
1 files changed, 0 insertions, 798 deletions
diff --git a/libkdepim/kprefsdialog.h b/libkdepim/kprefsdialog.h
deleted file mode 100644
index b1fffcdd7..000000000
--- a/libkdepim/kprefsdialog.h
+++ /dev/null
@@ -1,798 +0,0 @@
-/*
- This file is part of libtdepim.
-
- Copyright (c) 2001-2003 Cornelius Schumacher <schumacher@kde.org>
- Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
- Copyright (C) 2005 Allen Winter <winter@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 KPREFSDIALOG_H
-#define KPREFSDIALOG_H
-
-#include <tqptrlist.h>
-#include <tqlineedit.h>
-#include <tqvaluelist.h>
-#include <tqdatetimeedit.h>
-
-#include <kdialogbase.h>
-#include <kcmodule.h>
-#include <kconfigskeleton.h>
-#include <kfile.h>
-#include <tdepimmacros.h>
-
-
-class KColorButton;
-class TQCheckBox;
-class TQComboBox;
-class TQLabel;
-class TQSpinBox;
-class TQButtonGroup;
-class TQTimeEdit;
-class KTimeEdit;
-class KDateEdit;
-class KURLRequester;
-
-/**
- @short Base class for GUI control elements used by @ref KPrefsDialog.
- @author Cornelius Schumacher
- @see KPrefsDialog
-
- This class provides the interface for the GUI control elements used by
- KPrefsDialog. The control element consists of a set of widgets for handling
- a certain type of configuration information.
-*/
-class KDE_EXPORT KPrefsWid : public TQObject
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- /**
- This function is called to read value of the setting from the
- stored configuration and display it in the widget.
- */
- virtual void readConfig() = 0;
- /**
- This function is called to write the current setting of the widget to the
- stored configuration.
- */
- virtual void writeConfig() = 0;
-
- /**
- Return a list of widgets used by this control element.
- */
- virtual TQValueList<TQWidget *> widgets() const;
-
- signals:
- /**
- Emitted when widget value has changed.
- */
- void changed();
-};
-
-/**
- @short Widgets for bool settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring bool values. It is meant
- to be used by KPrefsDialog. The user is responsible for the tqlayout management.
-*/
-class KDE_EXPORT KPrefsWidBool : public KPrefsWid
-{
- public:
- /**
- Create a bool value control element consisting of a TQCheckbox.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidBool( KConfigSkeleton::ItemBool *item, TQWidget *parent );
-
- /**
- Return the TQCheckbox used by this control element.
- */
- TQCheckBox *checkBox();
-
- void readConfig();
- void writeConfig();
-
- TQValueList<TQWidget *> widgets() const;
-
- private:
- KConfigSkeleton::ItemBool *mItem;
-
- TQCheckBox *mCheck;
-};
-
-/**
- @short Widgets for int settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring integer values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidInt : public KPrefsWid
-{
- public:
- /**
- Create a integer value control element consisting of a label and a
- spinbox.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidInt( KConfigSkeleton::ItemInt *item, TQWidget *parent );
-
- /**
- Return TQLabel used by this control element.
- */
- TQLabel *label();
-
- /**
- Return the TQSpinBox used by this control element.
- */
- TQSpinBox *spinBox();
-
- void readConfig();
- void writeConfig();
-
- TQValueList<TQWidget *> widgets() const;
-
- private:
- KConfigSkeleton::ItemInt *mItem;
-
- TQLabel *mLabel;
- TQSpinBox *mSpin;
-};
-
-/**
- @short Widgets for time settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring time values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidTime : public KPrefsWid
-{
- public:
- /**
- Create a time value control element consisting of a label and a spinbox.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidTime( KConfigSkeleton::ItemDateTime *item, TQWidget *parent );
-
- /**
- Return TQLabel used by this widget.
- */
- TQLabel *label();
- /**
- Return TQSpinBox used by this widget.
- */
- KTimeEdit *timeEdit();
-
- void readConfig();
- void writeConfig();
-
- private:
- KConfigSkeleton::ItemDateTime *mItem;
-
- TQLabel *mLabel;
- KTimeEdit *mTimeEdit;
-};
-
-/**
- @short Widgets for duration settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring duration values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidDuration : public KPrefsWid
-{
- public:
- /**
- Create a duration value control element consisting of a label and a
- spinbox.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidDuration( KConfigSkeleton::ItemDateTime *item, TQWidget *parent );
-
- /**
- Return TQLabel used by this widget.
- */
- TQLabel *label();
- /**
- Return TQSpinBox used by this widget.
- */
- TQTimeEdit *timeEdit();
-
- void readConfig();
- void writeConfig();
-
- private:
- KConfigSkeleton::ItemDateTime *mItem;
-
- TQLabel *mLabel;
- TQTimeEdit *mTimeEdit;
-};
-
-/**
- @short Widgets for time settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring date values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidDate : public KPrefsWid
-{
- public:
- /**
- Create a time value control element consisting of a label and a date box.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidDate( KConfigSkeleton::ItemDateTime *item, TQWidget *parent );
-
- /**
- Return TQLabel used by this widget.
- */
- TQLabel *label();
- /**
- Return TQSpinBox used by this widget.
- */
- KDateEdit *dateEdit();
-
- void readConfig();
- void writeConfig();
-
- private:
- KConfigSkeleton::ItemDateTime *mItem;
-
- TQLabel *mLabel;
- KDateEdit *mDateEdit;
-};
-
-/**
- @short Widgets for color settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring color values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidColor : public KPrefsWid
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- /**
- Create a color value control element consisting of a test field and a
- button for opening a color dialog.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidColor( KConfigSkeleton::ItemColor *item, TQWidget *parent );
- /**
- Destruct color setting widget.
- */
- ~KPrefsWidColor();
-
- /**
- Return TQLabel for the button
- */
- TQLabel *label();
- /**
- Return button opening the color dialog.
- */
- KColorButton *button();
-
- void readConfig();
- void writeConfig();
-
- private:
- KConfigSkeleton::ItemColor *mItem;
-
- TQLabel *mLabel;
- KColorButton *mButton;
-};
-
-/**
- @short Widgets for font settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring font values. It is meant
- to be used by KPrefsDialog. The user is responsible for the tqlayout management.
-*/
-class KDE_EXPORT KPrefsWidFont : public KPrefsWid
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- /**
- Create a font value control element consisting of a test field and a
- button for opening a font dialog.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- @param sampleText Sample text for previewing the selected font.
- */
- KPrefsWidFont( KConfigSkeleton::ItemFont *item,
- TQWidget *parent, const TQString &sampleText );
- /**
- Destruct font setting widget.
- */
- ~KPrefsWidFont();
-
- /**
- Return TQLabel.
- */
- TQLabel *label();
- /**
- Return TQFrame used as preview field.
- */
- TQFrame *preview();
- /**
- Return button opening the font dialog.
- */
- TQPushButton *button();
-
- void readConfig();
- void writeConfig();
-
- protected slots:
- void selectFont();
-
- private:
- KConfigSkeleton::ItemFont *mItem;
-
- TQLabel *mLabel;
- TQLabel *mPreview;
- TQPushButton *mButton;
-};
-
-/**
- @short Widgets for settings represented by a group of radio buttons in
- @ref KPrefsDialog.
-
- This class provides a control element for configuring selections. It is meant
- to be used by KPrefsDialog. The user is responsible for the tqlayout management.
-
- The setting is interpreted as an int value, corresponding to the position of
- the radio button. The position of the button is defined by the sequence of
- @ref addRadio() calls, starting with 0.
-*/
-class KDE_EXPORT KPrefsWidRadios : public KPrefsWid
-{
- public:
- /**
- Create a control element for selection of an option. It consists of a box
- with several radio buttons.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidRadios( KConfigSkeleton::ItemEnum *item, TQWidget *parent );
- virtual ~KPrefsWidRadios();
-
- /**
- Add a radio button.
-
- @param text Text of the button.
- @param whatsThis What's This help for the button.
- */
- void addRadio( const TQString &text,
- const TQString &whatsThis = TQString() );
-
- /**
- Return the box widget used by this widget.
- */
- TQButtonGroup *groupBox();
-
- void readConfig();
- void writeConfig();
-
- TQValueList<TQWidget *> widgets() const;
-
- private:
- KConfigSkeleton::ItemEnum *mItem;
-
- TQButtonGroup *mBox;
-};
-
-/**
- @short Widgets for settings represented by a combo box in
- @ref KPrefsDialog.
-
- This class provides a control element for configuring selections. It is meant
- to be used by KPrefsDialog. The user is responsible for the tqlayout management.
-
- The setting is interpreted as an int value, corresponding to the index in
- the combo box.
-*/
-class KDE_EXPORT KPrefsWidCombo : public KPrefsWid
-{
- public:
- /**
- Create a control element for selection of an option. It consists of a
- combo box.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidCombo( KConfigSkeleton::ItemEnum *item, TQWidget *parent );
- virtual ~KPrefsWidCombo();
-
- void readConfig();
- void writeConfig();
-
- TQComboBox *comboBox();
- TQValueList<TQWidget *> widgets() const;
-
- private:
- KConfigSkeleton::ItemEnum *mItem;
- TQComboBox *mCombo;
-};
-
-
-
-/**
- @short Widgets for string settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring string values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidString : public KPrefsWid
-{
- public:
- /**
- Create a string value control element consisting of a test label and a
- line edit.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- @param echomode Describes how a line edit should display its contents.
- */
- KPrefsWidString( KConfigSkeleton::ItemString *item, TQWidget *parent,
- TQLineEdit::EchoMode echomode=TQLineEdit::Normal );
- /**
- Destructor.
- */
- virtual ~KPrefsWidString();
-
- /**
- Return TQLabel used by this widget.
- */
- TQLabel *label();
- /**
- Return TQLineEdit used by this widget.
- */
- TQLineEdit *lineEdit();
-
- void readConfig();
- void writeConfig();
-
- TQValueList<TQWidget *> widgets() const;
-
- private:
- KConfigSkeleton::ItemString *mItem;
-
- TQLabel *mLabel;
- TQLineEdit *mEdit;
-};
-
-
-/**
- @short Widgets for string settings in @ref KPrefsDialog.
-
- This class provides a control element for configuring string values. It is
- meant to be used by KPrefsDialog. The user is responsible for the tqlayout
- management.
-*/
-class KDE_EXPORT KPrefsWidPath : public KPrefsWid
-{
- public:
- /**
- Create a string value control element consisting of a test label and a
- line edit.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- @param filter URLRequester filter
- @param mode Describes how a line edit should display its contents.
- */
- KPrefsWidPath( KConfigSkeleton::ItemPath *item, TQWidget *parent,
- const TQString &filter = TQString(), uint mode = KFile::File );
- /**
- Destructor.
- */
- virtual ~KPrefsWidPath();
-
- /**
- Return TQLabel used by this widget.
- */
- TQLabel *label();
- /**
- Return TQLineEdit used by this widget.
- */
- KURLRequester *urlRequester();
-
- void readConfig();
- void writeConfig();
-
- TQValueList<TQWidget *> widgets() const;
-
- private:
- KConfigSkeleton::ItemPath *mItem;
-
- TQLabel *mLabel;
- KURLRequester *mURLRequester;
-};
-
-
-/**
- @short Class for managing KPrefsWid objects.
-
- This class manages standard configuration widgets provided bz the KPrefsWid
- subclasses. It handles creation, loading, saving and default values in a
- transparent way. The user has to add the widgets by the corresponding addWid
- functions and KPrefsWidManager handles the rest automatically.
-*/
-class KDE_EXPORT KPrefsWidManager
-{
- public:
- /**
- Create a KPrefsWidManager object for a KPrefs object.
-
- @param prefs KPrefs object used to access te configuration.
- */
- KPrefsWidManager( KConfigSkeleton *prefs );
- /**
- Destructor.
- */
- virtual ~KPrefsWidManager();
-
- KConfigSkeleton *prefs() const { return mPrefs; }
-
- /**
- Register a custom KPrefsWid object.
- */
- virtual void addWid( KPrefsWid * );
-
- /**
- Register a @ref KPrefsWidBool object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidBool *addWidBool( KConfigSkeleton::ItemBool *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidInt object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidInt *addWidInt( KConfigSkeleton::ItemInt *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidDate object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidDate *addWidDate( KConfigSkeleton::ItemDateTime *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidTime object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidTime *addWidTime( KConfigSkeleton::ItemDateTime *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidDuration object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidDuration *addWidDuration( KConfigSkeleton::ItemDateTime *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidColor object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidColor *addWidColor( KConfigSkeleton::ItemColor *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidRadios object. The choices represented by the
- given item object are automatically added as radio buttons.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidRadios *addWidRadios( KConfigSkeleton::ItemEnum *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidCombo object. The choices represented by the
- given item object are automatically added to the combo box.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidCombo *addWidCombo( KConfigSkeleton::ItemEnum *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidString object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidString *addWidString( KConfigSkeleton::ItemString *item,
- TQWidget *parent );
-
- /**
- Register a path @ref KPrefsWidPath object.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- @param filter URLRequester filter
- @param mode URLRequester mode
- */
- KPrefsWidPath *addWidPath ( KConfigSkeleton::ItemPath *item, TQWidget *parent,
- const TQString &filter = TQString(),
- uint mode = KFile::File );
-
- /**
- Register a password @ref KPrefsWidString object, with echomode set to TQLineEdit::Password.
-
- @param item The KConfigSkeletonItem representing the preferences entry.
- @param parent Parent widget.
- */
- KPrefsWidString *addWidPassword ( KConfigSkeleton::ItemString *item,
- TQWidget *parent );
-
- /**
- Register a @ref KPrefsWidFont object.
-
- @param item The KConfigSkeletonItem representing the preferences
- entry.
- @param parent Parent widget.
- @param sampleText Sample text for previewing the selected font.
- */
- KPrefsWidFont *addWidFont( KConfigSkeleton::ItemFont *item,
- TQWidget *parent, const TQString &sampleText );
-
- /** Set all widgets to default values. */
- void setWidDefaults();
-
- /** Read preferences from config file. */
- void readWidConfig();
-
- /** Write preferences to config file. */
- void writeWidConfig();
-
- private:
- KConfigSkeleton *mPrefs;
-
- TQPtrList<KPrefsWid> mPrefsWids;
-};
-
-
-/**
- @short Base class for a preferences dialog.
-
- This class provides the framework for a preferences dialog. You have to
- subclass it and add the code to create the actual configuration widgets and
- do the tqlayout management.
-
- KPrefsDialog provides functions to add subclasses of @ref KPrefsWid via
- KPrefsWidManager. For these widgets the reading, writing and setting to
- default values is handled automatically. Custom widgets have to be handled in
- the functions @ref usrReadConfig() and @ref usrWriteConfig().
-*/
-class KDE_EXPORT KPrefsDialog : public KDialogBase, public KPrefsWidManager
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- /**
- Create a KPrefsDialog for a KPrefs object.
-
- @param prefs KPrefs object used to access te configuration.
- @param parent Parent widget.
- @param name Widget name.
- @param modal true, if dialog has to be modal, false for non-modal.
- */
- KPrefsDialog( KConfigSkeleton *prefs, TQWidget *parent = 0, char *name = 0,
- bool modal = false );
- /**
- Destructor.
- */
- virtual ~KPrefsDialog();
-
- void autoCreate();
-
- public slots:
- /** Set all widgets to default values. */
- void setDefaults();
-
- /** Read preferences from config file. */
- void readConfig();
-
- /** Write preferences to config file. */
- void writeConfig();
-
- signals:
- /** Emitted when the a changed configuration has been stored. */
- void configChanged();
-
- protected slots:
- /** Apply changes to preferences */
- void slotApply();
-
- /** Accept changes to preferences and close dialog */
- void slotOk();
-
- /** Set preferences to default values */
- void slotDefault();
-
- protected:
- /** Implement this to read custom configuration widgets. */
- virtual void usrReadConfig() {}
- /** Implement this to write custom configuration widgets. */
- virtual void usrWriteConfig() {}
-};
-
-
-class KDE_EXPORT KPrefsModule : public KCModule, public KPrefsWidManager
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- KPrefsModule( KConfigSkeleton *, TQWidget *parent = 0, const char *name = 0 );
-
- virtual void addWid( KPrefsWid * );
-
- void load();
- void save();
- void defaults();
-
- protected slots:
- void slotWidChanged();
-
- protected:
- /** Implement this to read custom configuration widgets. */
- virtual void usrReadConfig() {}
- /** Implement this to write custom configuration widgets. */
- virtual void usrWriteConfig() {}
-};
-
-#endif