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

Class Index

kiconedit'KIconTemplateContainer (./kdegraphics/kiconedit/knew.h:75)

class KIconTemplateContainer : public QObject
{
  Q_OBJECT
public:
  KIconTemplateContainer();
  ~KIconTemplateContainer();

  /**
  * The QList must not be deleted! Delete the object instead as it automatically
  * deletes the list when there are no more instances.
  */
  static QList<KIconTemplate> *getTemplates();

protected:
  static QList<KIconTemplate> *templatelist;
  static int instances;
};


kiconedit'KIconTemplateContainer::KIconTemplateContainer() (./kdegraphics/kiconedit/knew.cpp:73)

KIconTemplateContainer::KIconTemplateContainer() : QObject()
{
  QString path;
  instances++;
  debug("KIconTemplateContainer: instances %d", instances);
  if(templatelist)
    return;

  debug("KIconTemplateContainer: Creating templates");

  templatelist = new QList<KIconTemplate>;
  templatelist->setAutoDelete(true);

  QStrList names;
  KConfig *k = kapp->config();
  k->setGroup("Templates");
  k->readListEntry("Names", names);
  for(int i = 0; i < (int)names.count(); i++)
  {
    KIconTemplate *it = new KIconTemplate;
    it->path = k->readEntry(names.at(i));
    it->title = names.at(i);
    //debug("Template: %s\n%s", names.at(i), path.data());
    templatelist->append(it);
  }

  if(templatelist->count() == 0)
  {
    createStandardTemplates(templatelist);
  }
}


kiconedit'KIconTemplateContainer::~KIconTemplateContainer() (./kdegraphics/kiconedit/knew.cpp:105)

KIconTemplateContainer::~KIconTemplateContainer()
{
  instances--;
  debug("KIconTemplateContainer: instances %d", instances);
  if(instances == 0)
  {
    debug("KIconTemplateContainer: Deleting templates");
    templatelist->clear();
    delete templatelist;
    debug("KIconTemplateContainer: Deleted templates");
  }
}


kiconedit'KIconTemplateContainer::getTemplates() (./kdegraphics/kiconedit/knew.cpp:118)

QList<KIconTemplate> *KIconTemplateContainer::getTemplates()
{
  KIconTemplateContainer t;
  return t.templatelist;
}