00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <qpixmap.h>
00019 #include <qpainter.h>
00020
00021
00022 #include "photosIconView.h"
00023
00024 #include <iostream.h>
00025
00026
00027 PhotosIconView::PhotosIconView( QWidget *parent ) : QIconView( parent )
00028 {
00029 }
00030
00031 void PhotosIconView::contentsDropEvent( QDropEvent *e )
00032 {
00033 QIconView::contentsDropEvent( e );
00034
00035
00036 QIconViewItem *item = findItem( e->pos() );
00037
00038
00039
00040 if( item != NULL && e->source() == viewport())
00041 emit itemHasMoved();
00042 }
00043
00044 void PhotosIconView::drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph )
00045 {
00046 if( bufferPixmap.size() != size())
00047 { bufferPixmap.resize( size() ); }
00048 QPainter bufferPainter( &bufferPixmap, viewport() );
00049 int xOffset = clipx - contentsX();
00050 int yOffset = clipy - contentsY();
00051
00052 bufferPainter.translate( -contentsX(), -contentsY() );
00053 QIconView::drawContents( &bufferPainter, clipx, clipy, clipw, cliph );
00054 bitBlt(p->device(), xOffset, yOffset, &bufferPixmap, xOffset, yOffset, clipw, cliph );
00055 }
00056