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

Class Index

killustrator'FilterManager (./koffice/killustrator/filter/FilterManager.h:35)

class FilterManager {
protected:
  FilterManager ();
  void installDefaultFilters ();

public:
  static FilterManager* instance ();

  FilterInfo* findFilter (const char* fname, FilterInfo::Kind kind);

  FilterInfo* getFilterForType (const char* ftype);
  QStrList getInstalledFilters ();
  QString importFilters ();
  QString exportFilters (const char* defaultExt = 0L);

private:
  QString extension (const char *fname);

  QDict<FilterInfo> filters;
  static FilterManager* managerInstance;
};

killustrator'FilterManager::FilterManager() (./koffice/killustrator/filter/FilterManager.cc:43)

FilterManager::FilterManager () {
  installDefaultFilters ();
}


killustrator'FilterManager::installDefaultFilters() (./koffice/killustrator/filter/FilterManager.cc:47)

void FilterManager::installDefaultFilters () {
  ImageExport* filter = new ImageExport ();
#ifdef HAVE_QIMGIO
  filters.insert ("JPEG", new FilterInfo (FilterInfo::FKind_Export,
					  "JPEG Image Format", "jpg",
					  "Kai-Uwe Sattler",
					  "1.0", 0L, filter));
  filters.insert ("PNG", new FilterInfo (FilterInfo::FKind_Export,
					  "PNG Image Format", "png",
					  "Kai-Uwe Sattler",
					  "1.0", 0L, filter));
#endif
  filters.insert ("PPM", new FilterInfo (FilterInfo::FKind_Export,
					  "PPM Image Format", "ppm",
					  "Kai-Uwe Sattler",
					  "1.0", 0L, filter));
  filters.insert ("XPM", new FilterInfo (FilterInfo::FKind_Export,
					  "XPM Image Format", "xpm",
					  "Kai-Uwe Sattler",
					  "1.0", 0L, filter));
  filters.insert ("GIF", new FilterInfo (FilterInfo::FKind_Export,
					  "GIF Image Format", "gif",
					  "Kai-Uwe Sattler",
					  "1.0", 0L, filter));
  KilluImport* killuFilter = new KilluImport ();
  filters.insert ("KIllustrator", new FilterInfo (FilterInfo::FKind_Import,
						  "KIllustrator Document", 
						  "kil",
						  "Kai-Uwe Sattler",
						  "0.1", killuFilter, 0L));
  XfigImport* xfigFilter = new XfigImport ();
  filters.insert ("Xfig", new FilterInfo (FilterInfo::FKind_Import,
						  "Xfig Document", "fig",
						  "Kai-Uwe Sattler",
						  "0.1", xfigFilter, 0L));
  EPSExport* epsFilter = new EPSExport ();
  filters.insert ("EPS", new FilterInfo (FilterInfo::FKind_Export,
					  "Encapsulated PostScript", "eps",
					  "Kai-Uwe Sattler",
					  "0.1", 0L, epsFilter));
#if not_yet
  CmxImport* cmxFilter = new CmxImport ();
  filters.insert ("CMX", new FilterInfo (FilterInfo::FKind_Import,
						  "Corel Exchange", "cmx",
						  "Kai-Uwe Sattler",
						  "0.1", cmxFilter, 0L));
#endif
}


killustrator'FilterManager::importFilters() (./koffice/killustrator/filter/FilterManager.cc:96)

QString FilterManager::importFilters () {
  QString s;
  QDictIterator<FilterInfo> iter (filters);
  for (; iter.current (); ++iter) {
    FilterInfo *fi = iter.current ();
    if (fi->kind () == FilterInfo::FKind_Import) {
      QString buf;
      buf.sprintf ("*.%s|%s (*.%s)", fi->extension (), fi->type (), 
		   fi->extension ());
      if (s.length () > 0)
	s += "\n";
      s += buf;
    }
  }
  return s;
}


killustrator'FilterManager::exportFilters() (./koffice/killustrator/filter/FilterManager.cc:113)

QString FilterManager::exportFilters (const char* defaultExt) {
  // filter info for defaultExt should be at top of the list 
  QString s;
  QDictIterator<FilterInfo> iter (filters);
  if (defaultExt != 0L) {
      for (; iter.current (); ++iter) {
	  FilterInfo *fi = iter.current ();
	  if (fi->kind () == FilterInfo::FKind_Export &&
	      ::strcmp (fi->extension (), defaultExt) == 0) {
	      QString buf;
	      buf.sprintf ("*.%s|%s (*.%s)", fi->extension (), fi->type (),
			   fi->extension ());
	      s += buf;
	  }
      }
  }
  for (iter.toFirst (); iter.current (); ++iter) {
    FilterInfo *fi = iter.current ();
    if (fi->kind () == FilterInfo::FKind_Export) {
	if (defaultExt != 0L && 
	    ::strcmp (fi->extension (), defaultExt) == 0)
	    continue;

      QString buf;
      buf.sprintf ("*.%s|%s (*.%s)", fi->extension (), fi->type (),
		   fi->extension ());
      if (s.length () > 0)
	s += "\n";
      s += buf;
    }
  }
  return s;
}


killustrator'FilterManager::extension() (./koffice/killustrator/filter/FilterManager.cc:147)

QString FilterManager::extension (const char *fname) {
  QString file (fname);
  QString ext;
  int pos = file.findRev ('.', -1, false);
  if (pos != -1)
    ext = file.mid (pos + 1, file.length () - pos);
  return ext;
}


killustrator'FilterManager::findFilter() (./koffice/killustrator/filter/FilterManager.cc:156)

FilterInfo* FilterManager::findFilter (const char* fname, 
				       FilterInfo::Kind kind) {
  FilterInfo* info = 0L;
  QString ext = extension (fname);

  QDictIterator<FilterInfo> iter (filters);
  for (; iter.current (); ++iter) {
    FilterInfo *fi = iter.current ();
    if (fi->kind () == kind && ext == fi->extension ()) {
      info = fi;
      break;
    }
  }
  return info;
}


killustrator'FilterManager::instance() (./koffice/killustrator/filter/FilterManager.cc:172)

FilterManager* FilterManager::instance () {
  if (managerInstance == 0L)
    managerInstance = new FilterManager ();
  return managerInstance;
}


killustrator'FilterManager::getFilterForType() (./koffice/killustrator/filter/FilterManager.cc:178)

FilterInfo* FilterManager::getFilterForType (const char* ftype) {
  return filters.find (ftype);
}


killustrator'FilterManager::getInstalledFilters() (./koffice/killustrator/filter/FilterManager.cc:182)

QStrList FilterManager::getInstalledFilters () {
  QStrList flist;
  QDictIterator<FilterInfo> iter (filters);
  for (; iter.current (); ++iter)
    flist.append (iter.currentKey ());
  return flist;
}