-rw-r--r-- | microkde/kdecore/kprefs.cpp | 50 | ||||
-rw-r--r-- | microkde/kdecore/kprefs.h | 15 | ||||
-rw-r--r-- | microkde/kutils/kcmultidialog.cpp | 20 | ||||
-rw-r--r-- | microkde/kutils/kcmultidialog.h | 5 |
4 files changed, 87 insertions, 3 deletions
diff --git a/microkde/kdecore/kprefs.cpp b/microkde/kdecore/kprefs.cpp index f5e5e5a..71050e7 100644 --- a/microkde/kdecore/kprefs.cpp +++ b/microkde/kdecore/kprefs.cpp @@ -64,24 +64,39 @@ class KPrefsItemColor : public KPrefsItem { const QColor &defaultValue=QColor(128,128,128)); virtual ~KPrefsItemColor() {} void setDefault(); void readConfig(KConfig *); void writeConfig(KConfig *); private: QColor *mReference; QColor mDefault; }; +class KPrefsItemSize : public KPrefsItem { + public: + KPrefsItemSize(const QString &group,const QString &name,QSize *, + const QSize &defaultValue=QSize()); + ~KPrefsItemSize() {} + + void setDefault(); + void readConfig(KConfig *); + void writeConfig(KConfig *); + + private: + QSize *mReference; + QSize mDefault; +}; + class KPrefsItemFont : public KPrefsItem { public: KPrefsItemFont(const QString &group,const QString &name,QFont *, const QFont &defaultValue=QFont("helvetica",12)); virtual ~KPrefsItemFont() {} void setDefault(); void readConfig(KConfig *); void writeConfig(KConfig *); private: @@ -210,24 +225,51 @@ void KPrefsItemColor::writeConfig(KConfig *config) config->setGroup(mGroup); config->writeEntry(mName,*mReference); } void KPrefsItemColor::readConfig(KConfig *config) { config->setGroup(mGroup); *mReference = config->readColorEntry(mName,&mDefault); } +KPrefsItemSize::KPrefsItemSize(const QString &group,const QString &name, + QSize *reference,const QSize &defaultValue) : + KPrefsItem(group,name) +{ + mReference = reference; + mDefault = defaultValue; +} + +void KPrefsItemSize::setDefault() +{ + *mReference = mDefault; +} + +void KPrefsItemSize::writeConfig(KConfig *config) +{ + config->setGroup(mGroup); + config->writeEntry(mName,*mReference); +} + +void KPrefsItemSize::readConfig(KConfig *config) +{ + config->setGroup(mGroup); + *mReference = config->readSizeEntry(mName,&mDefault); + +} + + KPrefsItemFont::KPrefsItemFont(const QString &group,const QString &name, QFont *reference,const QFont &defaultValue) : KPrefsItem(group,name) { mReference = reference; mDefault = defaultValue; } void KPrefsItemFont::setDefault() { *mReference = mDefault; } @@ -391,35 +433,36 @@ void KPrefs::setDefaults() usrSetDefaults(); } void KPrefs::readConfig() { KPrefsItem *item; for(item = mItems.first();item;item = mItems.next()) { item->readConfig(mConfig); } usrReadConfig(); + //qDebug("KPrefs::readConfig: %s", mConfig->getFileName().latin1()); } void KPrefs::writeConfig() { KPrefsItem *item; for(item = mItems.first();item;item = mItems.next()) { item->writeConfig(mConfig); } usrWriteConfig(); - + //qDebug("KPrefs::WriteConfig: %s", mConfig->getFileName().latin1()); mConfig->sync(); } void KPrefs::addItem(KPrefsItem *item) { mItems.append(item); } void KPrefs::addItemBool(const QString &key,bool *reference,bool defaultValue) { addItem(new KPrefsItemBool(*mCurrentGroup,key,reference,defaultValue)); @@ -431,24 +474,29 @@ void KPrefs::addItemInt(const QString &key,int *reference,int defaultValue) } void KPrefs::addItemColor(const QString &key,QColor *reference,const QColor &defaultValue) { addItem(new KPrefsItemColor(*mCurrentGroup,key,reference,defaultValue)); } void KPrefs::addItemFont(const QString &key,QFont *reference,const QFont &defaultValue) { addItem(new KPrefsItemFont(*mCurrentGroup,key,reference,defaultValue)); } +void KPrefs::addItemSize(const QString &key,QSize *reference,const QSize &defaultValue) +{ + addItem(new KPrefsItemSize(*mCurrentGroup,key,reference,defaultValue)); +} + void KPrefs::addItemString(const QString &key,QString *reference,const QString &defaultValue) { addItem(new KPrefsItemString(*mCurrentGroup,key,reference,defaultValue,false)); } void KPrefs::addItemPassword(const QString &key,QString *reference,const QString &defaultValue) { addItem(new KPrefsItemString(*mCurrentGroup,key,reference,defaultValue,true)); } void KPrefs::addItemStringList(const QString &key,QStringList *reference, const QStringList &defaultValue) diff --git a/microkde/kdecore/kprefs.h b/microkde/kdecore/kprefs.h index 7014bb8..95d2724 100644 --- a/microkde/kdecore/kprefs.h +++ b/microkde/kdecore/kprefs.h @@ -15,24 +15,25 @@ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _KPREFS_H #define _KPREFS_H // $Id$ #include <qptrlist.h> #include <qcolor.h> #include <qfont.h> +#include <qsize.h> #include <qstringlist.h> class KConfig; /** @short Class for storing a preferences setting @author Cornelius Schumacher @see KPref This class represents one preferences setting as used by @ref KPrefs. Subclasses of KPrefsItem implement storage functions for a certain type of setting. Normally you don't have to use this class directly. Use the special @@ -198,24 +199,38 @@ class KPrefs { /** Register an item of type QColor. @param key Key used in config file. @param reference Pointer to the variable, which is set by readConfig() and setDefaults() calls and read by writeConfig() calls. @param defaultValue Default value, which is used by setDefaults() and when the config file does not yet contain the key of this item. */ void addItemColor(const QString &key,QColor *reference, const QColor &defaultValue=QColor(128,128,128)); + + /** + Register an item of type QSize. + + @param key Key used in config file. + @param reference Pointer to the variable, which is set by readConfig() + and setDefaults() calls and read by writeConfig() calls. + @param defaultValue Default value, which is used by setDefaults() and + when the config file does not yet contain the key of + this item. + */ + void addItemSize(const QString &key,QSize *reference, + const QSize &defaultValue=QSize()); + /** Register an item of type QFont. @param key Key used in config file. @param reference Pointer to the variable, which is set by readConfig() and setDefaults() calls and read by writeConfig() calls. @param defaultValue Default value, which is used by setDefaults() and when the config file does not yet contain the key of this item. */ void addItemFont(const QString &key,QFont *reference, const QFont &defaultValue=QFont("helvetica",12)); diff --git a/microkde/kutils/kcmultidialog.cpp b/microkde/kutils/kcmultidialog.cpp index e7aa9d1..c4ccede 100644 --- a/microkde/kutils/kcmultidialog.cpp +++ b/microkde/kutils/kcmultidialog.cpp @@ -58,25 +58,25 @@ KCMultiDialog::KCMultiDialog(const QString& baseGroup, QWidget *parent, const ch #endif } KCMultiDialog::~KCMultiDialog() { //US moduleDict.setAutoDelete(true); } void KCMultiDialog::slotDefault() { - int curPageIndex = mMainWidget->activePageIndex(); + int curPageIndex = activePageIndex(); QPtrListIterator<KCModule> it(modules); for (; it.current(); ++it) { if (pageIndex((QWidget *)(*it)->parent()) == curPageIndex) { (*it)->defaults(); clientChanged(true); return; } } @@ -198,12 +198,30 @@ void KCMultiDialog::slotAboutToShow(QWidget *page) _docPath = info.docPath(); modules.append(module); //KCGlobal::repairAccels( topLevelWidget() ); delete loadInfo; QApplication::restoreOverrideCursor(); */ qDebug("KCMultiDialog::slotAboutToShow not implemented"); } + + +bool KCMultiDialog::showPage( int index ) +{ + return(mMainWidget->showPage(index) ); +} + + +int KCMultiDialog::activePageIndex() const +{ + return( mMainWidget->activePageIndex() ); +} + + +int KCMultiDialog::pageIndex( QWidget *widget ) const +{ + return( mMainWidget->pageIndex( widget) ); +} diff --git a/microkde/kutils/kcmultidialog.h b/microkde/kutils/kcmultidialog.h index 768faea..66412ac 100644 --- a/microkde/kutils/kcmultidialog.h +++ b/microkde/kutils/kcmultidialog.h @@ -64,29 +64,32 @@ public: /** * Add a module. * * @param module Specify the name of the module that is to be added * to the list of modules the dialog will show. * * @param withfallback Try harder to load the module. Might result * in the module appearing outside the dialog. **/ //US void addModule(const QString& module, bool withfallback=true); -//US special method for microkde. We dop noty want to load everything dynamically. +//US special method for microkde. We do not want to load everything dynamically. void addModule(KCModule* module );//, const QString& modulename, const QString& iconname); QVBox* getNewVBoxPage(const QString & modulename) ; + bool showPage( int index ); + int activePageIndex() const; + int pageIndex( QWidget *widget ) const; protected slots: /** * This slot is called when the user presses the "Default" Button * You can reimplement it if needed. * * @note Make sure you call the original implementation! **/ virtual void slotDefault(); /** * This slot is called when the user presses the "Apply" Button |