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

Class Index

qt'QMimeSourceFactory (./qt-2.1.0/src/kernel/qmime.h:44)

class Q_EXPORT QMimeSourceFactory {
public:
    QMimeSourceFactory();
    virtual ~QMimeSourceFactory();

    static QMimeSourceFactory* defaultFactory();
    static void setDefaultFactory( QMimeSourceFactory* );

    virtual const QMimeSource* data(const QString& abs_name) const;
    virtual QString makeAbsolute(const QString& abs_or_rel_name, const QString& context) const;
    const QMimeSource* data(const QString& abs_or_rel_name, const QString& context) const;

    virtual void setText( const QString& abs_name, const QString& text );
    virtual void setImage( const QString& abs_name, const QImage& im );
    virtual void setPixmap( const QString& abs_name, const QPixmap& pm );
    virtual void setData( const QString& abs_name, QMimeSource* data );
    virtual void setFilePath( const QStringList& );
    virtual QStringList filePath() const;
    void addFilePath( const QString& );
    virtual void setExtensionType( const QString& ext, const char* mimetype );

private:
    QMimeSourceFactoryData* d;
};

#ifdef _WS_WIN_

// This header file is down here for GCC 2.7.* compatibility
#ifndef QT_H
#include "qlist.h"
#endif // QT_H

/*
  Encapsulation of conversion between MIME and Windows CLIPFORMAT.
  Not need on X11, as the underlying protocol uses the MIME standard
  directly.
*/


qt'QMimeSourceFactory::QMimeSourceFactory() (./qt-2.1.0/src/kernel/qmime.cpp:175)

QMimeSourceFactory::QMimeSourceFactory() :
    d(new QMimeSourceFactoryData)
{
    // add some reasonable defaults
    setExtensionType("htm", "text/html;charset=iso8859-1");
    setExtensionType("html", "text/html;charset=iso8859-1");
    setExtensionType("txt", "text/plain");
    setExtensionType("xml", "text/xml;charset=UTF-8");
    setExtensionType("jpg", "image/jpeg"); // support missspelled jpeg files
}

/*!
  Destructs the QMimeSourceFactory, deleting all stored content.
*/

qt'QMimeSourceFactory::~QMimeSourceFactory() (./qt-2.1.0/src/kernel/qmime.cpp:189)

QMimeSourceFactory::~QMimeSourceFactory()
{
    delete d;
}


qt'QMimeSourceFactory::data() (./qt-2.1.0/src/kernel/qmime.cpp:264)

const QMimeSource* QMimeSourceFactory::data(const QString& abs_name) const
{
    if ( d->stored.contains(abs_name) )
	return d->stored[abs_name];

    QMimeSource* r = 0;
    QStringList::Iterator it;
    if ( abs_name[0] == '/'
#ifdef _WS_WIN_
	    || abs_name[0] && abs_name[1] == ':'
#endif
    )
    {
	// handle absolute file names directly
	r = data_internal( abs_name, d->extensions );
    }
    else { // check list of paths
	for ( it = d->path.begin(); !r && it != d->path.end(); ++it ) {
	    QString filename = *it;
	    if ( filename[(int)filename.length()-1] != '/' )
		filename += '/';
	    filename += abs_name;
	    r = data_internal( filename, d->extensions );
	}
    }
    delete d->last;
    d->last = r;
    return r;
}

/*!
  Sets a list of directories which will be searched when named data
  is requested.

  \sa filePath()
*/

qt'QMimeSourceFactory::setFilePath() (./qt-2.1.0/src/kernel/qmime.cpp:300)

void QMimeSourceFactory::setFilePath( const QStringList& path )
{
    d->path = path;
}

/*!
  Returns the currently set search paths.
*/

qt'QMimeSourceFactory::filePath() (./qt-2.1.0/src/kernel/qmime.cpp:308)

QStringList QMimeSourceFactory::filePath() const
{
  return d->path;
}

/*!
  Adds another search path.

  \sa setFilePath()
*/

qt'QMimeSourceFactory::addFilePath() (./qt-2.1.0/src/kernel/qmime.cpp:318)

void QMimeSourceFactory::addFilePath( const QString& p )
{
  d->path += p;
}

/*!
  Sets the MIME-type to be associated with a filename extension.  This
  determines the MIME-type for files found via a path set by setFilePath().
*/

qt'QMimeSourceFactory::setExtensionType() (./qt-2.1.0/src/kernel/qmime.cpp:327)

void QMimeSourceFactory::setExtensionType( const QString& ext, const char* mimetype )
{
    d->extensions.replace(ext, mimetype);
}

/*!
  Converts the absolute or relative data item name \a abs_or_rel_name
  to an absolute name, interpretted within the context of the data
  item named \a context (this must be an absolute name).
*/

qt'QMimeSourceFactory::makeAbsolute() (./qt-2.1.0/src/kernel/qmime.cpp:337)

QString QMimeSourceFactory::makeAbsolute(const QString& abs_or_rel_name, const QString& context) const
{
    if ( context.isNull() ||
	 !(context[0] == '/'
#ifdef _WS_WIN_
	 || ( context[0] && context[1] == ':')
#endif
	   ))
	return abs_or_rel_name;
    if ( abs_or_rel_name.isEmpty() )
	return context;
    QFileInfo c( context );
    QFileInfo r( c.dir(TRUE), abs_or_rel_name );
    return r.absFilePath();
}

/*!
  A convenience function. See data(const QString& abs_name).
*/

qt'QMimeSourceFactory::data() (./qt-2.1.0/src/kernel/qmime.cpp:356)

const QMimeSource* QMimeSourceFactory::data(const QString& abs_or_rel_name, const QString& context) const
{
    return data(makeAbsolute(abs_or_rel_name,context));
}


/*!
  Sets \a text to be the data item associated with
  the absolute name \a abs_name.

  Equivalent to setData(abs_name, new QTextDrag(text)).
*/

qt'QMimeSourceFactory::setText() (./qt-2.1.0/src/kernel/qmime.cpp:368)

void QMimeSourceFactory::setText( const QString& abs_name, const QString& text )
{
    setData(abs_name, new QTextDrag(text));
}

/*!
  Sets \a image to be the data item associated with
  the absolute name \a abs_name.

  Equivalent to setData(abs_name, new QImageDrag(image)).
*/

qt'QMimeSourceFactory::setImage() (./qt-2.1.0/src/kernel/qmime.cpp:379)

void QMimeSourceFactory::setImage( const QString& abs_name, const QImage& image )
{
    setData(abs_name, new QImageDrag(image));
}

/*!
  Sets \a pixmap to be the data item associated with
  the absolute name \a abs_name.
*/

qt'QMimeSourceFactory::setPixmap() (./qt-2.1.0/src/kernel/qmime.cpp:388)

void QMimeSourceFactory::setPixmap( const QString& abs_name, const QPixmap& pixmap )
{
    setData(abs_name, new QImageDrag(pixmap.convertToImage()));
}

/*!
  Sets \a data to be the data item associated with
  the absolute name \a abs_name. Note that the ownership of \a data is
  transferred to the factory - do not delete or access the pointer after
  passing it to this function.
*/

qt'QMimeSourceFactory::setData() (./qt-2.1.0/src/kernel/qmime.cpp:399)

void QMimeSourceFactory::setData( const QString& abs_name, QMimeSource* data )
{
    if ( d->stored.contains(abs_name) )
	delete d->stored[abs_name];
    d->stored.replace(abs_name,data);
}




qt'QMimeSourceFactory::defaultFactory() (./qt-2.1.0/src/kernel/qmime.cpp:424)

QMimeSourceFactory* QMimeSourceFactory::defaultFactory()
{
    if (!defaultfactory) {
	defaultfactory = new QMimeSourceFactory();
	qAddPostRoutine( qt_cleanup_defaultfactory );
    }
    return defaultfactory;
}

/*!
  Sets the default \a factory, destroying any previously set mime source
  provider. The ownership of the factory is transferred.

  \sa defaultFactory()
 */

qt'QMimeSourceFactory::setDefaultFactory() (./qt-2.1.0/src/kernel/qmime.cpp:439)

void QMimeSourceFactory::setDefaultFactory( QMimeSourceFactory* factory)
{
    if ( defaultfactory != factory )
	delete defaultfactory;
    defaultfactory = factory;
}