-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 @@ -60,32 +60,47 @@ class KPrefsItemInt : public KPrefsItem { class KPrefsItemColor : public KPrefsItem { public: KPrefsItemColor(const QString &group,const QString &name,QColor *, 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: QFont *mReference; QFont mDefault; }; @@ -206,32 +221,59 @@ void KPrefsItemColor::setDefault() } 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; } void KPrefsItemFont::writeConfig(KConfig *config) { config->setGroup(mGroup); @@ -387,72 +429,78 @@ void KPrefs::setDefaults() KPrefsItem *item; for(item = mItems.first();item;item = mItems.next()) { item->setDefault(); } 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)); } void KPrefs::addItemInt(const QString &key,int *reference,int defaultValue) { addItem(new KPrefsItemInt(*mCurrentGroup,key,reference,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) { addItem(new KPrefsItemStringList(*mCurrentGroup,key,reference,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 @@ -11,32 +11,33 @@ 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., 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 addItem() functions of KPrefs instead. If you subclass this class you will have to register instances with the function KPrefs::addItem(). */ class KPrefsItem { @@ -194,32 +195,46 @@ class KPrefs { this item. */ void addItemInt(const QString &key,int *reference, int defaultValue=0); /** 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)); /** Register an item of type QString. @param key Key used in config file. 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 @@ -54,33 +54,33 @@ KCMultiDialog::KCMultiDialog(const QString& baseGroup, QWidget *parent, const ch #else resize(640,480); setMaximumSize( KMIN(KGlobal::getDesktopWidth()-5, 640), KMIN(KGlobal::getDesktopHeight()-20, 480)); //showMaximized(); #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; } } } void KCMultiDialog::accept() { slotOk(); @@ -194,16 +194,34 @@ void KCMultiDialog::slotAboutToShow(QWidget *page) module->reparent(page,0,QPoint(0,0),true); connect(module, SIGNAL(changed(bool)), this, SLOT(clientChanged(bool))); //setHelp( docpath, QString::null ); _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 @@ -60,37 +60,40 @@ public: * Destructor **/ virtual ~KCMultiDialog(); /** * 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 * You can reimplement it if needed * * @note Make sure you call the original implementation! **/ |