kaddressbook Library API Documentation

imagewidget.h

00001 /*                                                                      
00002     This file is part of KAddressBook.                                  
00003     Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>                   
00004                                                                         
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation; either version 2 of the License, or   
00008     (at your option) any later version.                                 
00009                                                                         
00010     This program is distributed in the hope that it will be useful,     
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of      
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the        
00013     GNU General Public License for more details.                        
00014                                                                         
00015     You should have received a copy of the GNU General Public License   
00016     along with this program; if not, write to the Free Software         
00017     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.           
00018                                                                         
00019     As a special exception, permission is given to link this program    
00020     with any edition of Qt, and distribute the resulting executable,    
00021     without including the source code for Qt in the source distribution.
00022 */                                                                      
00023 
00024 #ifndef IMAGEWIDGET_H
00025 #define IMAGEWIDGET_H
00026 
00027 #include <qlabel.h>
00028 
00029 #include <kabc/picture.h>
00030 #include <kdialogbase.h>
00031 
00032 class KURLRequester;
00033 class QCheckBox;
00034 
00038 class ImageLabel : public QLabel
00039 {
00040   Q_OBJECT
00041 
00042   public:
00043     ImageLabel( const QString &title, QWidget *parent );
00044 
00045     void setReadOnly( bool readOnly );
00046 
00047   signals:
00048     void changed();
00049 
00050   protected:
00051     virtual void dragEnterEvent( QDragEnterEvent *event );
00052     virtual void dropEvent( QDropEvent *event );
00053     virtual void mouseMoveEvent( QMouseEvent *event );
00054     virtual void mousePressEvent( QMouseEvent *event );
00055 
00056   private:
00057     void startDrag();
00058 
00059     bool mReadOnly;
00060     QPoint mDragStartPos;
00061 };
00062 
00063 class ImageWidget : public QWidget
00064 {
00065   Q_OBJECT
00066 
00067   public:
00068     ImageWidget( const QString &title, QWidget *parent, const char *name = 0 );
00069     ~ImageWidget();
00070 
00074     void setImage( const KABC::Picture &photo );
00075 
00079     KABC::Picture image() const;
00080 
00081     void setReadOnly( bool readOnly );
00082 
00083   signals:
00084     void changed();
00085 
00086   private slots:
00087     void loadImage();
00088     void updateGUI();
00089     void clear();
00090     void imageChanged();
00091 
00092   private:
00093     QPixmap loadPixmap( const KURL &url );
00094 
00095     ImageLabel *mImageLabel;
00096     KURLRequester *mImageUrl;
00097 
00098     QCheckBox *mUseImageUrl;
00099     QPushButton *mClearButton;
00100 
00101     bool mReadOnly;
00102 };
00103 
00104 #endif
KDE Logo
This file is part of the documentation for kaddressbook Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:38:51 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003