Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

subalbumsIconView.cpp

Go to the documentation of this file.
00001 //==============================================
00002 //  copyright            : (C) 2003 by Will Stokes
00003 //==============================================
00004 //  This program is free software; you can redistribute it 
00005 //  and/or modify it under the terms of the GNU General 
00006 //  Public License as published by the Free Software 
00007 //  Foundation; either version 2 of the License, or  
00008 //  (at your option) any later version.         
00009 //
00010 //  As a special exception, Will Stokes gives permission to 
00011 //  link this program with Qt non-commercial edition, and 
00012 //  distribute the resulting executable, without including the 
00013 //  source code for the Qt non-commercial edition in the 
00014 //  source distribution. 
00015 //==============================================
00016 
00017 //Systemwide includes
00018 #include <qpixmap.h>
00019 #include <qpainter.h>
00020 
00021 //Projectwide includes
00022 #include "subalbumsIconView.h"
00023 
00024 //==============================================
00025 SubalbumsIconView::SubalbumsIconView( QWidget *parent ) : QIconView( parent )
00026 {
00027 }
00028 //==============================================
00029 void SubalbumsIconView::contentsDropEvent( QDropEvent *e )
00030 {
00031   QIconView::contentsDropEvent( e );
00032 
00033   //get iconviewitem that was dropped  
00034   QIconViewItem *item = findItem( e->pos() );
00035   
00036   //if item exists and drop item was originally in this viewport then
00037   //user has dragged item within iconview, emit item has moved signal
00038   if( item != NULL && e->source() == viewport())
00039     emit itemHasMoved();
00040 }
00041 //==============================================
00042  void SubalbumsIconView::drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph )
00043 {
00044     if( bufferPixmap.size() != size())
00045     {  bufferPixmap.resize( size() ); }
00046     QPainter bufferPainter( &bufferPixmap, viewport() );
00047     int xOffset = clipx - contentsX();
00048     int yOffset = clipy - contentsY();
00049 
00050     bufferPainter.translate( -contentsX(), -contentsY() );
00051     QIconView::drawContents( &bufferPainter, clipx, clipy, clipw, cliph );
00052     bitBlt(p->device(), xOffset, yOffset, &bufferPixmap, xOffset, yOffset, clipw, cliph );
00053 }
00054 //==============================================

Generated on Thu Nov 13 00:10:54 2003 for AlbumShaper by doxygen 1.3.4