libkonq
konq_filetip.h
Go to the documentation of this file.00001
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 <QtGui/QPixmap>
00026 #include <QtGui/QLabel>
00027 #include <QtGui/QResizeEvent>
00028 #include <kio/previewjob.h>
00029
00030 #include <libkonq_export.h>
00031
00032 class KFileItem;
00033 class QLabel;
00034 class QScrollArea;
00035 class QTimer;
00036
00037
00038
00039 class LIBKONQ_EXPORT KonqFileTip : public QFrame
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 KonqFileTip( QScrollArea *parent );
00045 ~KonqFileTip();
00046
00047 void setPreview(bool on);
00048
00054 void setOptions( bool on, bool preview, int num );
00055
00061 void setItem( const KFileItem &item, const QRect &rect = QRect(),
00062 const QPixmap *pixmap = 0 );
00063
00064 virtual bool eventFilter( QObject *, QEvent *e );
00065
00066 protected:
00067 virtual void paintEvent( QPaintEvent *ev );
00068 virtual void resizeEvent( QResizeEvent * );
00069
00070 private Q_SLOTS:
00071 void gotPreview( const KFileItem&, const QPixmap& );
00072 void gotPreviewResult();
00073
00074 void startDelayed();
00075 void showTip();
00076 void hideTip();
00077
00078 private:
00079 void setFilter( bool enable );
00080
00081 void reposition();
00082
00083 QLabel* m_iconLabel;
00084 QLabel* m_textLabel;
00085 bool m_on : 1;
00086 bool m_preview : 1;
00087 bool m_filter : 1;
00088 QPixmap m_corners[4];
00089 int m_corner;
00090 int m_num;
00091 QScrollArea* m_view;
00092 KFileItem m_item;
00093 KIO::PreviewJob* m_previewJob;
00094 QRect m_rect;
00095 QTimer* m_timer;
00096 };
00097
00098 #endif