Source Code (Use browser search to find items of interest.)

Class Index

kikbd'KConfigMatchKeysObject (./kdebase/kikbd/kconfobjs.h:43)

class KConfigMatchKeysObject: public KConfigObject {
 protected:

  QRegExp  regexp;

  /**
     KConfigObject reimplemented read data method
  */
  virtual void readObject(KObjectConfig*);

  /**
     KConfigObject reimplemented write data method
  */
  virtual void writeObject(KObjectConfig*);

 public:
  /**
     Create new object to read all keys matched regular expression.
     @param match The Regular Expression
     @param list  QStrList variable to read/write data. Each matched key
     readed as QString item of list.
  */
  KConfigMatchKeysObject(const QRegExp& match, QStrList& list);

  QStrList separate(int index, char sep=',');
};

/**
   This objects can handle a group of objects with keys numbered
   without holes from start number to end. As data used QStrList 
   - list of string for matched keys. As example if you want to read keys
   
       key0=...
       key1=..
       ...
       key9=..

   Use this object:

       registerObject(new KConfigNumberedKeysObject("key", 0, 9, list, ',');
*/

kikbd'KConfigMatchKeysObject::KConfigMatchKeysObject() (./kdebase/kikbd/kconfobjs.cpp:43)

KConfigMatchKeysObject::KConfigMatchKeysObject(const QRegExp& match,
					       QStrList& list)
  :KConfigObject(&list, FALSE), regexp(match)
{
}


kikbd'KConfigMatchKeysObject::readObject() (./kdebase/kikbd/kconfobjs.cpp:49)

void KConfigMatchKeysObject::readObject(KObjectConfig* config)
{
  QStrList &list = *((QStrList*)data);
  list.clear();
  keys.clear();

  QMap<QString, QString> tmpMap = config->getConfig()->entryMap(config->group());
  QMap<QString, QString>::Iterator it(tmpMap.begin());

  for (; it != tmpMap.end(); ++it) {
    if(regexp.match(it.key()) != -1)
      if(!(*it).isNull()) {
	keys.append(it.key());
	list.append(*it);
      }
  }
}


kikbd'KConfigMatchKeysObject::writeObject() (./kdebase/kikbd/kconfobjs.cpp:67)

void KConfigMatchKeysObject::writeObject(KObjectConfig* config)
{
  QStrList &list = *((QStrList*)data);
  unsigned i;for(i=0; i<keys.count(); i++)
    config->getConfig()->writeEntry(keys.at(i), list.at(i));
}


kikbd'KConfigMatchKeysObject::separate() (./kdebase/kikbd/kconfobjs.cpp:74)

QStrList KConfigMatchKeysObject::separate(int index, char sep)
{
    return KObjectConfig::separate(((QStrList*)data)->at(index), sep);
}


/**********************************************************************
 * numbered keys Config Object
 */