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;
}