Exemplo n.º 1
0
void KdmPixmap::renderSvg(PixmapStruct::PixmapClass *pClass, const QRect &area)
{
#ifdef HAVE_LIBART
    // Special stuff for SVG icons
    KSVGIconEngine *svgEngine = new KSVGIconEngine();

    if(svgEngine->load(area.width(), area.height(), pClass->fullpath))
    {
        QImage *t = svgEngine->image();
        pClass->pixmap = *t;
        pClass->readyPixmap.resize(0, 0);
        delete t;
    }
    else
    {
        kdWarning() << "failed to load " << pClass->fullpath << endl;
        pClass->fullpath = QString::null;
    }

    delete svgEngine;
#else
    Q_UNUSED(pClass);
    Q_UNUSED(area);
#endif
}
Exemplo n.º 2
0
void IconThemesConfig::themeSelected(QListViewItem *item)
{
#ifdef HAVE_LIBART
  KSVGIconEngine engine;
#endif 
  QString dirName(m_themeNames[item->text(0)]);
  KIconTheme icontheme(dirName);
  if (!icontheme.isValid()) kdDebug() << "notvalid\n";

  updateRemoveButton();
  const int size = icontheme.defaultSize(KIcon::Desktop);

  KIcon icon=icontheme.iconPath("exec.png", size, KIcon::MatchBest);
  if (!icon.isValid()) {
#ifdef HAVE_LIBART
	  icon=icontheme.iconPath("exec.svg", size, KIcon::MatchBest);
	  if(engine.load(size, size, icon.path))
              m_previewExec->setPixmap(*engine.image());
          else {
              icon=icontheme.iconPath("exec.svgz", size, KIcon::MatchBest);
              if(engine.load(size, size, icon.path))
                  m_previewExec->setPixmap(*engine.image());
          }
#endif
  }
  else
          m_previewExec->setPixmap(QPixmap(icon.path));

  icon=icontheme.iconPath("folder.png",size,KIcon::MatchBest);
  if (!icon.isValid()) {
#ifdef HAVE_LIBART
	  icon=icontheme.iconPath("folder.svg", size, KIcon::MatchBest);
	  if(engine.load(size, size, icon.path))
              m_previewFolder->setPixmap(*engine.image());
          else {
              icon=icontheme.iconPath("folder.svgz", size, KIcon::MatchBest);
              if(engine.load(size, size, icon.path))
                  m_previewFolder->setPixmap(*engine.image());
          }
#endif
  }
  else
  	  m_previewFolder->setPixmap(QPixmap(icon.path));

  icon=icontheme.iconPath("txt.png",size,KIcon::MatchBest);
  if (!icon.isValid()) {
#ifdef HAVE_LIBART
	  icon=icontheme.iconPath("txt.svg", size, KIcon::MatchBest);
	  if(engine.load(size, size, icon.path))
              m_previewDocument->setPixmap(*engine.image());
          else {
              icon=icontheme.iconPath("txt.svgz", size, KIcon::MatchBest);
              if(engine.load(size, size, icon.path))
                  m_previewDocument->setPixmap(*engine.image());
          }
#endif
  }
  else  
	  m_previewDocument->setPixmap(QPixmap(icon.path));
  
  emit changed(true);
  m_bChanged = true;
}