Source Code (Use browser search to find items of interest.)
Class Index
kword'KWImageCollection (./koffice/kword/imagecollection.h:36)
class KWImageCollection
{
public:
KWImageCollection( KWordDocument *_doc );
~KWImageCollection();
KWImage *getImage( KWImage &_image, QString &key );
KWImage *getImage( KWImage &_image, QString &key, QSize _imgSize );
void removeImage( KWImage *_image );
KWImage *insertImage( QString _key, KWImage &_image );
KWImage *getImage( const QString filename );
QString generateKey( KWImage *_image )
{ return generateKey( *_image ); }
KWImage *findImage( QString _key );
QDictIterator<KWImage> iterator()
{ return QDictIterator<KWImage>( images ); }
protected:
QString generateKey( KWImage &_image );
QString generateKey( KWImage &_image, QSize _imgSize );
KWImage *insertImage( QString _key, KWImage &_image, QSize _imgSize );
QDict<KWImage> images;
KWordDocument *doc;
};
kword'KWImageCollection::KWImageCollection() (./koffice/kword/imagecollection.cc:31)
KWImageCollection::KWImageCollection( KWordDocument *_doc )
: images( 1999, true )
{
images.setAutoDelete( true );
doc = _doc;
}
/*================================================================*/
kword'KWImageCollection::~KWImageCollection() (./koffice/kword/imagecollection.cc:39)
KWImageCollection::~KWImageCollection()
{
images.clear();
}
/*================================================================*/
kword'KWImageCollection::getImage() (./koffice/kword/imagecollection.cc:45)
KWImage *KWImageCollection::getImage( KWImage &_image, QString &key )
{
key = "";
key = generateKey( _image );
KWImage *image = findImage( key );
if ( image )
{
image->incRef();
return image;
}
else
return insertImage( key, _image );
}
/*================================================================*/
kword'KWImageCollection::getImage() (./koffice/kword/imagecollection.cc:62)
KWImage *KWImageCollection::getImage( KWImage &_image, QString &key, QSize _imgSize )
{
key = "";
key = generateKey( _image, _imgSize );
QString key2 = generateKey( _image );
KWImage *image = findImage( key );
if ( image )
{
image->incRef();
return image;
}
else
{
image = findImage( key2 );
if ( image )
{
KWImage img( *image );
return insertImage( key2, img, _imgSize );
}
return insertImage( key, _image, _imgSize );
}
}
/*================================================================*/
kword'KWImageCollection::removeImage() (./koffice/kword/imagecollection.cc:88)
void KWImageCollection::removeImage( KWImage *_image )
{
QString key = generateKey( *_image );
images.remove( key );
}
/*================================================================*/
kword'KWImageCollection::generateKey() (./koffice/kword/imagecollection.cc:96)
QString KWImageCollection::generateKey( KWImage &_image )
{
QString key;
// Key: filename-width-height
// e.g. /home/reggie/pics/kde.gif-40-36
key.sprintf( "%s--%d-%d", _image.getFilename().data(),
_image.width(), _image.height() );
return key;
}
/*================================================================*/
kword'KWImageCollection::generateKey() (./koffice/kword/imagecollection.cc:108)
QString KWImageCollection::generateKey( KWImage &_image, QSize _imgSize )
{
QString key;
// Key: filename-width-height
// e.g. /home/reggie/pics/kde.gif-40-36
key.sprintf( "%s--%d-%d", _image.getFilename().data(),
_imgSize.width(), _imgSize.height() );
return key;
}
/*================================================================*/
kword'KWImageCollection::findImage() (./koffice/kword/imagecollection.cc:120)
KWImage *KWImageCollection::findImage( QString _key )
{
return images.find( _key.data() );
}
/*================================================================*/
kword'KWImageCollection::insertImage() (./koffice/kword/imagecollection.cc:126)
KWImage *KWImageCollection::insertImage( QString _key, KWImage &_image )
{
KWImage *image = new KWImage( doc, _image );
images.insert( _key.data(), image );
image->incRef();
return image;
}
/*================================================================*/
kword'KWImageCollection::insertImage() (./koffice/kword/imagecollection.cc:137)
KWImage *KWImageCollection::insertImage( QString _key, KWImage &_image, QSize _imgSize )
{
KWImage *image = new KWImage( doc, _image );
if ( !image->isNull() && image->size() != _imgSize )
{
QImage __image = image->smoothScale( _imgSize.width(), _imgSize.height() );
delete image;
image = new KWImage( doc, __image, _image.getFilename() );
}
images.insert( _key.data(), image );
image->incRef();
return image;
}
/*================================================================*/
kword'KWImageCollection::getImage() (./koffice/kword/imagecollection.cc:154)
KWImage *KWImageCollection::getImage( const QString filename )
{
QDictIterator<KWImage> it( images );
for ( ; it.current(); ++it )
{
if ( it.currentKey().contains( filename ) )
{
QString fn = it.currentKey();
int dashdash = fn.findRev( "--" );
if ( filename == fn.left( dashdash ) )
return it.current();
}
}
KWImage img( doc, filename );
QString key;
return getImage( img, key );
}