summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-09-21 19:47:57 (UTC)
committer ulf69 <ulf69>2004-09-21 19:47:57 (UTC)
commitc2cce86fdb2d0b291c3d3bdfa9fac47452153d1a (patch) (side-by-side diff)
tree6f8ac380b5db0831f02e4cc35cd0a6fd5ece5ff9
parent427906b75a4672531f2b7d86b2a4a27427f5d4a4 (diff)
downloadkdepimpi-c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a.zip
kdepimpi-c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a.tar.gz
kdepimpi-c2cce86fdb2d0b291c3d3bdfa9fac47452153d1a.tar.bz2
added prefwriting prefreading for size and font object
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdecore/kprefs.cpp50
-rw-r--r--microkde/kdecore/kprefs.h15
-rw-r--r--microkde/kutils/kcmultidialog.cpp20
-rw-r--r--microkde/kutils/kcmultidialog.h5
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