diff options
Diffstat (limited to 'libkdepim/kprefsdialog.h')
-rw-r--r-- | libkdepim/kprefsdialog.h | 798 |
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 |