konq_filetip.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KONQ_FILETIP_H
00023 #define KONQ_FILETIP_H
00024
00025 #include <qframe.h>
00026 #include <qpixmap.h>
00027 #include <kio/previewjob.h>
00028
00029 #include <libkonq_export.h>
00030
00031 class KFileItem;
00032 class QLabel;
00033 class QScrollView;
00034 class QTimer;
00035
00036
00037
00038 class LIBKONQ_EXPORT KonqFileTip : public QFrame
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 KonqFileTip( QScrollView *parent );
00044 ~KonqFileTip();
00045
00046 void setPreview(bool on);
00047
00053 void setOptions( bool on, bool preview, int num );
00054
00060 void setItem( KFileItem *item, const QRect &rect = QRect(),
00061 const QPixmap *pixmap = 0 );
00062
00063 virtual bool eventFilter( QObject *, QEvent *e );
00064
00065 protected:
00066 virtual void drawContents( QPainter *p );
00067 virtual void resizeEvent( QResizeEvent * );
00068
00069 private slots:
00070 void gotPreview( const KFileItem*, const QPixmap& );
00071 void gotPreviewResult();
00072
00073 void startDelayed();
00074 void showTip();
00075 void hideTip();
00076
00077 private:
00078 void setFilter( bool enable );
00079
00080 void reposition();
00081
00082 QLabel* m_iconLabel;
00083 QLabel* m_textLabel;
00084 bool m_on : 1;
00085 bool m_preview : 1;
00086 bool m_filter : 1;
00087 QPixmap m_corners[4];
00088 int m_corner;
00089 int m_num;
00090 QScrollView* m_view;
00091 KFileItem* m_item;
00092 KIO::PreviewJob* m_previewJob;
00093 QRect m_rect;
00094 QTimer* m_timer;
00095 };
00096
00097 #endif
|